Skip to content

Commit

Permalink
ragdollUnit linux pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
dedmen committed Apr 5, 2018
1 parent 63f89af commit 507e8cc
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions src/SQFExtension/Utility.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -632,18 +632,22 @@ void Utility::preStart() {
return static_cast<uintptr_t>(0x0u);
};

#ifndef X64
//32bit win 1.80 Sig:
constexpr auto pat = "\x56\x8B\xF1\x8B\x06\x8B\x40\x28\xFF\xD0\x84\xC0\x74\x4A\xC6\x86\x00\x00\x00\x00\x00\x57\x8B\x7C\x24\x0C\x8B\x07\x89\x86\x00\x00\x00\x00\x8B\x47\x04\x89\x86\x00\x00\x00\x00\x8B\x47\x08\x89\x86\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x85\xC0\x74\x1A\x83\xB8\x00\x00\x00\x00\x00";
constexpr auto mask = "xxxxxxxxxxxxxxxx?????xxxxxxxxx????xxxxx????xxxxx????x????xxxxxx?????";
#ifdef __linux__
//Linux server 32bit 1.80
constexpr auto pat = "\x83\xEC\x1C\x89\x5C\x24\x14\x8B\x5C\x24\x20\x89\x74\x24\x18\x8B\x74\x24\x24\x8B\x03\x89\x1C\x24\xFF\x50\x2C\x84\xC0\x74\x4C\xD9\x06\xA1\x00\x00\x00\x00\xD9\x9B\x00\x00\x00\x00\xD9\x46\x04\xD9\x9B\x00\x00\x00\x00\xD9\x46\x08\x85\xC0\xC6\x83\x00\x00\x00\x00\x00\xD9\x9B\x00\x00\x00\x00\x74\x22\x8B\x80\x00\x00\x00\x00\x85\xC0\x75\x18\xE8\x00\x00\x00\x00\x8B\x10\x89\x74\x24\x08\x89\x5C\x24\x04\x89\x04\x24\xFF\x92\x00\x00\x00\x00\x8B\x5C\x24\x14\x8B\x74\x24\x18\x83\xC4\x1C\xC3";
constexpr auto mask = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx????xx????xxxxx????xxxxxxx?????xx????xxxx????xxxxx????xxxxxxxxxxxxxxx????xxxxxxxxxxxx";
#else
//64bit win 1.80
constexpr auto pat = "\x48\x89\x5C\x24\x00\x57\x48\x83\xEC\x20\x48\x8B\x01\x48\x8B\xFA\x48\x8B\xD9\xFF\x50\x50\x84\xC0\x74\x4E\xC6\x83\x00\x00\x00\x00\x00\x8B\x07\x89\x83\x00\x00\x00\x00\x8B\x47\x04\x89\x83\x00\x00\x00\x00\x8B\x47\x08\x89\x83\x00\x00\x00\x00\x48\x8B\x05\x00\x00\x00\x00\x48\x85\xC0\x74\x21\x83\xB8\x00\x00\x00\x00\x00\x75\x18\xE8\x00\x00\x00\x00\x4C\x8B\xC7\x48\x8B\xD3\x4C\x8B\x08\x48\x8B\xC8\x41\xFF\x91\x00\x00\x00\x00\x48\x8B\x5C\x24\x00\x48\x83\xC4\x20\x5F\xC3";
constexpr auto mask = "xxxx?xxxxxxxxxxxxxxxxxxxxxxx?????xxxx????xxxxx????xxxxx????xxx????xxxxxxx?????xxx????xxxxxxxxxxxxxxx????xxxx?xxxxxx";
#ifndef X64
//32bit win 1.80 Sig:
constexpr auto pat = "\x56\x8B\xF1\x8B\x06\x8B\x40\x28\xFF\xD0\x84\xC0\x74\x4A\xC6\x86\x00\x00\x00\x00\x00\x57\x8B\x7C\x24\x0C\x8B\x07\x89\x86\x00\x00\x00\x00\x8B\x47\x04\x89\x86\x00\x00\x00\x00\x8B\x47\x08\x89\x86\x00\x00\x00\x00\xA1\x00\x00\x00\x00\x85\xC0\x74\x1A\x83\xB8\x00\x00\x00\x00\x00";
constexpr auto mask = "xxxxxxxxxxxxxxxx?????xxxxxxxxx????xxxxx????xxxxx????x????xxxxxx?????";
#else
//64bit win 1.80
constexpr auto pat = "\x48\x89\x5C\x24\x00\x57\x48\x83\xEC\x20\x48\x8B\x01\x48\x8B\xFA\x48\x8B\xD9\xFF\x50\x50\x84\xC0\x74\x4E\xC6\x83\x00\x00\x00\x00\x00\x8B\x07\x89\x83\x00\x00\x00\x00\x8B\x47\x04\x89\x83\x00\x00\x00\x00\x8B\x47\x08\x89\x83\x00\x00\x00\x00\x48\x8B\x05\x00\x00\x00\x00\x48\x85\xC0\x74\x21\x83\xB8\x00\x00\x00\x00\x00\x75\x18\xE8\x00\x00\x00\x00\x4C\x8B\xC7\x48\x8B\xD3\x4C\x8B\x08\x48\x8B\xC8\x41\xFF\x91\x00\x00\x00\x00\x48\x8B\x5C\x24\x00\x48\x83\xC4\x20\x5F\xC3";
constexpr auto mask = "xxxx?xxxxxxxxxxxxxxxxxxxxxxx?????xxxx????xxxxx????xxxxx????xxx????xxxxxxx?????xxx????xxxxxxxxxxxxxxx????xxxx?xxxxxx";
#endif
#endif



static auto found = findInMemoryPattern(pat,mask);

static auto _ragdoll = host::register_sqf_command("ragdollUnit"sv, ""sv, [](uintptr_t, SQFPar left, SQFPar right) -> game_value {
Expand Down

0 comments on commit 507e8cc

Please sign in to comment.