Author Topic: Mount and Blade Reversing and Sig thread  (Read 3223 times)

0 Members and 1 Guest are viewing this topic.

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Mount and Blade Reversing and Sig thread
« on: March 15, 2017, 08:33:16 am »
Spent and hour re-reversing this game, deciding to dump all the structs and vtables which I thought were useful here. Will update later with sigs and other shit to functions, glhf
Code: [Select]
// Give me some credit if you use any of this shit -Seb

class Windows;
class cYesNo;
class cSelection;
class cStarting;
class cLoading;
class cInitial;
class cEscape;
class cMap;
class cInventory;
class cParty;
class cTactical;
class cCharacter;
class cQuests;
class cConversation;
class cOptions;
class cGraphics;
class cControls;
class cTerrainGen;
class cLoadSave;
class cMenu;
class cStats;
class cGameLog;
class cPresentation;
class cNotes;
class cCredits;
class cQuitAds;
class cProfile;
class cMultiplayerClient;
class cMultiplayerServer;
class cBannerSelection;
class cQuickBattle;
class cGroup;
class cFaceGen;
class Party;
class AgentOffsets;
class N0000020A;
class N0000020D;
class N00000210;
class N00000213;
class N00000216;
class N00000219;
class N0000021C;
class N0000021F;
class N00000222;
class N00000225;
class N00000228;
class N0000022B;
class N0000022E;
class N00000231;
class N00000234;
class N00000237;
class N0000023A;
class N0000023D;
class N00000240;
class N00000243;
class N00000249;
class N0000024C;
class N0000024F;
class N00000255;
class N00000258;
class N0000025B;
class N0000025E;
class N00000261;
class N00000264;
class N00000267;
class AgentGamer;
class Agent;
class Missile;
class SimpleGameObject;
class GameObject;

class Windows
{
public:
cYesNo* pYesNo; //0x0000
cSelection* pSelection; //0x0004
cStarting* pStarting; //0x0008
cLoading* pLoading; //0x000C
cInitial* pInitial; //0x0010
cEscape* pEscape; //0x0014
cMap* pMap; //0x0018
cInventory* pInventory; //0x001C
cParty* pParty; //0x0020
cQuests* pQuests; //0x0024
cTactical* pTactical; //0x0028
cCharacter* pCharacter; //0x002C
cConversation* pConversation; //0x0030
cOptions* pOptions; //0x0034
cGraphics* pGraphics; //0x0038
cControls* pControls; //0x003C
cLoadSave* pLoadSave; //0x0040
cTerrainGen* pTerrainGen; //0x0044
cMenu* pMenu; //0x0048
cStats* pStats; //0x004C
cGameLog* pGameLog; //0x0050
cNotes* pNotes; //0x0054
cPresentation* pPresentation; //0x0058
cCredits* pCredits; //0x005C
cQuitAds* pQuitsAds; //0x0060
cProfile* pProfile; //0x0064
cMultiplayerClient* pMultiplayerClient; //0x0068
cMultiplayerServer* pMultiplayerServer; //0x006C
cBannerSelection* pBannerSelection; //0x0070
cQuickBattle* pQuickBattle; //0x0074
cGroup* pGroup; //0x0078
cFaceGen* pFaceGen; //0x007C
char pad_0x0080[0x40]; //0x0080

}; //Size=0x00C0

class cYesNo
{
public:
N0000020A* Entry; //0x0000

}; //Size=0x0004

class cSelection
{
public:
N00000237* Entry; //0x0000

}; //Size=0x0004

class cStarting
{
public:
N0000023A* Entry; //0x0000

}; //Size=0x0004

class cLoading
{
public:
N0000023D* Entry; //0x0000

}; //Size=0x0004

class cInitial
{
public:
N00000240* Entry; //0x0000

}; //Size=0x0004

class cEscape
{
public:
N00000243* Entry; //0x0000

}; //Size=0x0004

class cMap
{
public:
virtual Constructor; //
virtual sub_588E20; //
virtual nullsub; //
virtual UIElements; //
virtual nullsub; //
virtual UITime; //
virtual nullsub; //
virtual sub_588CE0; //
virtual sub_588D80; //
virtual sub_5838D0; //
virtual sub_589AF0; //

}; //Size=0x0004

class cInventory
{
public:
N00000249* Entry; //0x0000

}; //Size=0x0004

class cParty
{
public:
N0000024C* Entry; //0x0000

}; //Size=0x0004

class cTactical
{
public:
virtual Constructor?; //
virtual sub_5A83F0; //
virtual nullsub; //
virtual PlayerUI; //
virtual nullsub; //
virtual UIElements; //
virtual sub_5A3E50; //
virtual nullsub; //
virtual nullsub; //
virtual nullsub; //
virtual sub_59FF60; //

}; //Size=0x0004

class cCharacter
{
public:
N00000255* Entry; //0x0000

}; //Size=0x0004

class cQuests
{
public:
N0000024F* Entry; //0x0000

}; //Size=0x0004

class cConversation
{
public:
N00000258* Entry; //0x0000

}; //Size=0x0004

class cOptions
{
public:
N0000025B* Entry; //0x0000

}; //Size=0x0004

class cGraphics
{
public:
N0000025E* Entry; //0x0000

}; //Size=0x0004

class cControls
{
public:
N00000261* Entry; //0x0000

}; //Size=0x0004

class cTerrainGen
{
public:
N00000267* Entry; //0x0000

}; //Size=0x0004

class cLoadSave
{
public:
N00000264* Entry; //0x0000

}; //Size=0x0004

class cMenu
{
public:
N00000234* Entry; //0x0000

}; //Size=0x0004

class cStats
{
public:
N00000231* Entry; //0x0000

}; //Size=0x0004

class cGameLog
{
public:
N0000022E* Entry; //0x0000

}; //Size=0x0004

class cPresentation
{
public:
N00000213* Entry; //0x0000

}; //Size=0x0004

class cNotes
{
public:
N0000022B* Entry; //0x0000

}; //Size=0x0004

class cCredits
{
public:
N00000216* Entry; //0x0000

}; //Size=0x0004

class cQuitAds
{
public:
N00000219* Entry; //0x0000

}; //Size=0x0004

class cProfile
{
public:
N0000021C* Entry; //0x0000

}; //Size=0x0004

class cMultiplayerClient
{
public:
N0000021F* Entry; //0x0000

}; //Size=0x0004

class cMultiplayerServer
{
public:
N00000222* Entry; //0x0000

}; //Size=0x0004

class cBannerSelection
{
public:
N00000225* Entry; //0x0000

}; //Size=0x0004

class cQuickBattle
{
public:
N00000228* Entry; //0x0000

}; //Size=0x0004

class cGroup
{
public:
N00000210* Entry; //0x0000

}; //Size=0x0004

class cFaceGen
{
public:
N0000020D* Entry; //0x0000

}; //Size=0x0004

class Party
{
public:
unsigned char N000002BB; //0x0000
unsigned char N000002FD; //0x0001
unsigned char N00000300; //0x0002
char pad_0x0003[0x1]; //0x0003
DWORD N000002BC; //0x0004
DWORD N000002BD; //0x0008
char pad_0x000C[0x8]; //0x000C
DWORD N000002C0; //0x0014
N000002C1; //0x0018
N000002C3; //0x0020
N000002C5; //0x0028
char pad_0x0030[0x10]; //0x0030

}; //Size=0x0040

class AgentOffsets
{
public:
DWORD dword_8B84BC; //0x0000
qword_8B84C0; //0x0004
qword_8B84C8; //0x000C
qword_8B84D0; //0x0014
char pad_0x001C[0x24]; //0x001C

}; //Size=0x0040

class N0000020A
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000020D
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000210
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000213
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000216
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000219
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000021C
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000021F
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000222
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000225
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000228
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000022B
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000022E
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000231
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000234
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000237
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000023A
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000023D
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000240
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000243
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000249
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000024C
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000024F
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000255
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000258
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000025B
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N0000025E
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000261
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000264
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class N00000267
{
public:
char pad_0x0000[0x4]; //0x0000

}; //Size=0x0004

class AgentGamer
{
public:
AgentGameObject; //0x0000
nullsub2; //0x0004
N000002A4; //0x0008
char pad_0x000C[0x34]; //0x000C

}; //Size=0x0040

class Agent
{
public:
virtual Constructor; //
virtual nullsub2; //
virtual nullsub2; //
virtual void Function3(); //
virtual void Function4(); //
virtual void Function5(); //
virtual void Function6(); //
virtual void Function7(); //
virtual void Function8(); //
virtual void Function9(); //

char pad_0x0000[0x8]; //0x0000
char pad_0x000C[0x34]; //0x000C

}; //Size=0x0040

class Missile
{
public:
Constructor; //0x0000
sub_5025F0; //0x0004
nullsub; //0x0008
char pad_0x000C[0x34]; //0x000C

}; //Size=0x0040

class SimpleGameObject
{
public:
rglSimple_game_object; //0x0000
nullsub; //0x0004
nullsub; //0x0008
char pad_0x000C[0x4C]; //0x000C

}; //Size=0x0058

class GameObject
{
public:
Constructor; //0x0000
nullsub; //0x0004
nullsub; //0x0008
char pad_0x000C[0x34]; //0x000C

}; //Size=0x0040


Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #1 on: March 16, 2017, 07:19:24 am »
So after a little bit more reversing it's easy to tell how game scenes are setup and called.

All the windows are called once within a single function
The order of the windows goes like this:
Map -> YesNo -> Selection -> Game -> Starting_window -> Loading_window -> Game_window -> Game_window -> Party_window -> Game_window -> Tactical_window -> Game_window -> rglCamera -> Game_window -> rglCamera  -> Game_window  x3 -> Load_save_window Not going to bother typing out the rest since you probably get it by now.

Some important info you need to know when reversing the game: Agent is the same as player. An agent is an entity within the game.

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #2 on: March 16, 2017, 11:41:30 pm »
Code: [Select]
struct entity
{
      char unknown0[72]; //0x0000
   float posX; //0x0048 
   float posY; //0x004C 
   float posZ; //0x0050 
      char unknown84[52]; //0x0054
   float posX2; //0x0088 
   float posY2; //0x008C 
   float posZ2; //0x0090 
      char unknown148[8]; //0x0094
   float posX3; //0x009C 
   float posY3; //0x00A0 
   float posZ3; //0x00A4 
      char unknown168[4]; //0x00A8
   float posX4; //0x00AC 
   float posY4; //0x00B0 
   float posZ4; //0x00B4 
      char unknown184[36]; //0x00B8
   DWORD bone_table_pointer2; //0x00DC 
      char unknown224[40]; //0x00E0
   DWORD bone_table_pointer; //0x0108 
      char unknown268[72]; //0x010C
   __int32 on_foot; //0x0154 
      char unknown344[336]; //0x0158
   float posX5; //0x02A8 
   float posY5; //0x02AC 
   float posZ5; //0x02B0 
      char unknown692[56]; //0x02B4
   DWORD bones; //0x02EC 
      char unknown752[872]; //0x02F0
   float posX6; //0x0658 
   float posY6; //0x065C 
   float posZ6; //0x0660 
      char unknown1636[52]; //0x0664
   float posX7; //0x0698 
   float posY7; //0x069C 
   float posZ7; //0x06A0 
      char unknown1700[8]; //0x06A4
   float posX8; //0x06AC 
   float posY8; //0x06B0 
   float posZ8; //0x06B4 
      char unknown1720[4]; //0x06B8
   float posX9; //0x06BC 
   float posY9; //0x06C0 
   float posZ9; //0x06C4 
      char unknown1736[496]; //0x06C8
   float floatX10; //0x08B8 
   float floatY10; //0x08BC 
   float floatZ10; //0x08C0 
      char unknown2244[520]; //0x08C4
};

Code: [Select]
struct _spherical_coords
{
    float enemy_position_azimuth;
    float enemy_position_inclination;
    float my_view_azimuth;
    float my_view_inclination;
};

Have fun. :smile
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #3 on: March 17, 2017, 01:53:27 am »
Going to go ahead and do a function signature dump, going to keep the sigs in code format so you can implement it. (I have C++ in mind)

Request::GetHostAddress(Request *this, const char *) (For getting the server IP or something)
Sig: \x55\x89\xE5\x83\xEC\x00\x8B\x45\x00\x89\x04\x24\xE8\x00\x00\x00\x00\x89\xC1
Mask: xxxxx?xx?xxxx????xx

Agent::get_shoot_speed(Agent *this) (Pretty helpful for prediction)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5F\x8B\x5D\x00\x89\x1C\x24\xC7\x44\x24\x00\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x89\x55\x00
Mask: xxxxxxxx?x????xxx?xxxxxx?????x????xx?

Agent::is_enemy(Agent *this, const Agent *) (Really simple way to check who is on your team)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5A\x8B\x7D\x00\x8B\x45\x00\x8B\x48\x00\x8B\x77\x00\x89\x75\x00\x83\x78\x00\x00\x75\x00\x8B\x98\x00\x00\x00\x00\xC7\x45\x00\x00\x00\x00\x00\x85\xDB\x78\x00\x8B\x82\x00\x00\x00\x00\x8B\x00\x39\x58\x00
Mask: xxxxxxxx?x????xxx?xx?xx?xx?xx?xx??x?xx????xx?????xxx?xx????xxxx?

Agent::update_weapons(Agent *this) (This one should be obvious)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5B\x8B\x7D\x00\xC7\x87\x00\x00\x00\x00\x00\x00\x00\x00
Mask: xxxxxxxx?x????xxx?xx????????

Agent::player_attack_dir(Agent *this, int) (Again, this one should be obvious)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5B\x8B\x83\x00\x00\x00\x00\x8B\x48\x00
Mask: xxxxxxxx?x????xxx????xx?

Agent::attack_dir_to_movement_flag(Agent *this, const int *) (Sent in bit operators, see below)
Sig: \x55\x89\xE5\x8B\x45\x00\x8B\x00\x83\xF8\x00\x77\x00\xE8\x00\x00\x00\x00\x59\x8B\x84\x81\x00\x00\x00\x00\x5D\xC3\xB8\x00\x00\x00\x00\x5D\xC3\x90\x55\x89\xE5\x8B\x45\x00
Mask: xxxxx?xxxx?x?x????xxxx????xxx????xxxxxxxx?

Tactical_window::update_health(Tactical_window *this) (You can use this for a lot of things)
Sig:\x55\x89\xE5\x53\x57\x56\x81\xEC\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x5E\x8B\x7D\x00\x8B\x86\x00\x00\x00\x00\x89\x85\x00\x00\x00\x00\x8B\x00\x89\x45\x00\x8B\x8E\x00\x00\x00\x00
Mask: xxxxxxxx????x????xxx?xx????xx????xxxx?xx????

Tactical_window::full_screen(Tactical_window *__hidden this) (I guess if you're doing some retarded external overlay you can use this)
Sig: \x55\x89\xE5\xB8\x00\x00\x00\x00\x5D\xC3\x55\x89\xE5\x56\xE8\x00\x00\x00\x00
Mask: xxxx????xxxxxxx????

Bit operators ex:
IN_ATTACK = (1 << 0), // 512
IN_JUMP = (1 << 1), // 1024
IN_DUCK = (1 << 2), // 2048      Might be a bit off, but that's what they look like in reclass/olly

Important: The bigger the sig the more likely it is to break

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #4 on: March 17, 2017, 02:06:04 am »
Going to go ahead and do a function signature dump, going to keep the sigs in code format so you can implement it. (I have C++ in mind)

Request::GetHostAddress(Request *this, const char *) (For getting the server IP or something)
Sig: \x55\x89\xE5\x83\xEC\x00\x8B\x45\x00\x89\x04\x24\xE8\x00\x00\x00\x00\x89\xC1
Mask: xxxxx?xx?xxxx????xx

Agent::get_shoot_speed(Agent *this) (Pretty helpful for prediction)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5F\x8B\x5D\x00\x89\x1C\x24\xC7\x44\x24\x00\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x89\x55\x00
Mask: xxxxxxxx?x????xxx?xxxxxx?????x????xx?

Agent::is_enemy(Agent *this, const Agent *) (Really simple way to check who is on your team)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5A\x8B\x7D\x00\x8B\x45\x00\x8B\x48\x00\x8B\x77\x00\x89\x75\x00\x83\x78\x00\x00\x75\x00\x8B\x98\x00\x00\x00\x00\xC7\x45\x00\x00\x00\x00\x00\x85\xDB\x78\x00\x8B\x82\x00\x00\x00\x00\x8B\x00\x39\x58\x00
Mask: xxxxxxxx?x????xxx?xx?xx?xx?xx?xx??x?xx????xx?????xxx?xx????xxxx?

Agent::update_weapons(Agent *this) (This one should be obvious)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5B\x8B\x7D\x00\xC7\x87\x00\x00\x00\x00\x00\x00\x00\x00
Mask: xxxxxxxx?x????xxx?xx????????

Agent::player_attack_dir(Agent *this, int) (Again, this one should be obvious)
Sig: \x55\x89\xE5\x53\x57\x56\x83\xEC\x00\xE8\x00\x00\x00\x00\x5B\x8B\x83\x00\x00\x00\x00\x8B\x48\x00
Mask: xxxxxxxx?x????xxx????xx?

Agent::attack_dir_to_movement_flag(Agent *this, const int *) (Sent in bit operators, see below)
Sig: \x55\x89\xE5\x8B\x45\x00\x8B\x00\x83\xF8\x00\x77\x00\xE8\x00\x00\x00\x00\x59\x8B\x84\x81\x00\x00\x00\x00\x5D\xC3\xB8\x00\x00\x00\x00\x5D\xC3\x90\x55\x89\xE5\x8B\x45\x00
Mask: xxxxx?xxxx?x?x????xxxx????xxx????xxxxxxxx?

Tactical_window::update_health(Tactical_window *this) (You can use this for a lot of things)
Sig:\x55\x89\xE5\x53\x57\x56\x81\xEC\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x5E\x8B\x7D\x00\x8B\x86\x00\x00\x00\x00\x89\x85\x00\x00\x00\x00\x8B\x00\x89\x45\x00\x8B\x8E\x00\x00\x00\x00
Mask: xxxxxxxx????x????xxx?xx????xx????xxxx?xx????

Tactical_window::full_screen(Tactical_window *__hidden this) (I guess if you're doing some retarded external overlay you can use this)
Sig: \x55\x89\xE5\xB8\x00\x00\x00\x00\x5D\xC3\x55\x89\xE5\x56\xE8\x00\x00\x00\x00
Mask: xxxx????xxxxxxx????

Bit operators ex:
IN_ATTACK = (1 << 0), // 512
IN_JUMP = (1 << 1), // 1024
IN_DUCK = (1 << 2), // 2048      Might be a bit off, but that's what they look like in reclass/olly

Important: The bigger the sig the more likely it is to break


Good work  :icon_thumbsup

Bit operators ex:<< wrong , look into it further and you will see what i mean.

Its hard to spot but when you actually work out why and what is happening you will understand it,
Clue: its not generic (different mods).


 
« Last Edit: March 17, 2017, 02:23:08 am by MrMedic »
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #5 on: March 17, 2017, 02:21:04 am »
Ah I see, also do you know what the prefix rgl means? I can't think of anything, but it seems to be attatched to most things which are actually game related whereas the prefix hxk seems to be for the engine/backend stuff. Also I'm assuming by camera you're meaning this rglCamera which contains the projection and view matrix.

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #6 on: March 17, 2017, 02:27:04 am »
Ah I see, also do you know what the prefix rgl means? I can't think of anything, but it seems to be attatched to most things which are actually game related whereas the prefix hxk seems to be for the engine/backend stuff. Also I'm assuming by camera you're meaning this rglCamera which contains the projection and view matrix.

Yep correct , i edited the post i gave too much away tbh , rgl i assume using an educated guess is renderer , it has a lot to do with the graphics engine of the game. there is a config file in documents , take a look at it.

and regarding camera yep you are on the right track now.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #7 on: March 17, 2017, 02:32:05 am »
Code: [Select]
fuck that it will be on paysites in 10 minutes
^ basic aimbot.

btw im in ludus ft7 now , come in and carve em up with me

I will be the one with 40 - 0  :icon_laugh
« Last Edit: March 17, 2017, 02:37:32 am by MrMedic »
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #8 on: March 17, 2017, 02:40:38 am »
Yeah i'll look into it, also for your menu are you using the in-game renderer or hooking directx into it? I think it can be improved a lot tbh

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #9 on: March 17, 2017, 03:09:14 am »
Yeah i'll look into it, also for your menu are you using the in-game renderer or hooking directx into it? I think it can be improved a lot tbh

the gui system is from battlefield vietnam , I made it years and years ago , never had need to change it + it will bypass on all anticheats if the game has one.

Yes directx.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #10 on: March 17, 2017, 03:59:59 am »
Lol you could use the in-game gui system to make a menu like how they have their little widgets, that'd be funny. And also idk how a menu would get you detected by anticheats lmfao

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #11 on: March 17, 2017, 04:21:50 am »
Anti cheats will try and detect anything , a simple way to detect a menu would be for example from a screenshot someone posts. use the text in the screenshot from the menu to detect the cheat.

many other ways.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #12 on: March 17, 2017, 04:37:54 am »
Could always XOR the strings, make it undetectable. Also you can call some pretty funny functions within the game to fuck with the servers

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: Mount and Blade Reversing and Sig thread
« Reply #13 on: March 17, 2017, 07:45:46 pm »
Could always XOR the strings, make it undetectable. Also you can call some pretty funny functions within the game to fuck with the servers

Xor is also detectable , you should make your own tool and run it pre build to obfusticate all strings using time and date or windows install date etc on the pc.


Regarding the servers functions .. We dont discuss 'how to do' that sort of thing on tkc.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

Seb

  • Relentless Teamkiller
  • **
  • Posts: 72
    • View Profile
    • Aimjunkies.com
Re: Mount and Blade Reversing and Sig thread
« Reply #14 on: March 17, 2017, 08:16:49 pm »
Aye, i'm planning on releasing an offset dumper soon for most shit in the game, hmu on teamspeak or discord sometime to talk