-
Автор темы
- #1
На 27 строчке Необработанное исключение по адресу 0x00007FFCEA495280 в FLY.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00007FFCEA495280.
C++:
#include "memory.h"
#include "Includes.h"
#include "Class.h"
#define ui unsigned long long
auto mem = Memory("dota2.exe");
SignatureScanner SigS;
typedef ui(__fastcall* fNextEnt)(ui, ui);
fNextEnt NextEnt;
ui CGameEntSystem;
inline ui GetAbsoluteAddress(ui instruction_ptr, int offset, int size)
{
return instruction_ptr + mem.RPM<int32_t>(instruction_ptr + offset) + size;
}
void main() {
SigS.GetProcess("dota2.exe");
const char* pat = "41 57 48 83 EC 40 83 BA ? ? ? ? ? 4C 8B FA 7D 14 48 8D 0D ? ? ? ? 48 83 C4 40 41 5F 48 FF 25 ? ? ? ? 48 89 5C 24 ? 48 8D 0D ? ? ? ? 48 89 7C 24 ? 4C 89 64 24 ? 45 33 E4 4C 89 6C 24 ? FF 15 ? ? ? ? 41 8B 87 ? ? ? ? BB ? ? ? ? 3B C3 7E 5A 8B FB 0F 1F 40 00 48 85 FF 78 11 3B D8 7D 0D 49 8B 87 ? ? ? ? 48 8B 14 F8 EB 07 48 8D 15 ? ? ? ? 48 8D 0D ? ? ? ? FF 15 ? ? ? ? 41 8B 87 ? ? ? ? FF C8 3B D8 74 0D 48 8D 0D ? ? ? ? FF 15 ? ? ? ? 41 8B 87 ? ? ? ? FF C3 48 FF C7 3B D8 7C AC 48 8D 0D ? ? ? ? FF 15 ? ? ? ? 48 8B 0D ? ? ? ? 33 D2 E8 ? ? ? ? 4C 8B E8 48 85 C0 0F 84 ? ? ? ?";
module mod = SigS.GetModule("client.dll");
ui ent_find_pat = mem.ScanEx(pat, (char*)mod.dwBase, mod.dwSize, SigS.TargetProcess);
NextEnt = (fNextEnt)GetAbsoluteAddress(ent_find_pat + 0xCA, 1, 5);
CGameEntSystem = mem.RPM<ui>(GetAbsoluteAddress(ent_find_pat + 0xC1, 3, 7));
ui ent = NextEnt(CGameEntSystem, 0);
while (ent) {
if (mem.RPM<ui>(ent + 0x10))
{
if (mem.RPM<ui>(mem.RPM<ui>(ent + 0x10) + 0x18))
cout << ("ent name \n", mem.RPM<ui>(mem.RPM<ui>(ent + 0x10) + 0x18));
else if (mem.RPM<ui>(mem.RPM<ui>(ent + 0x10) + 0x20))
cout << ("ent name \n", mem.RPM<ui>(mem.RPM<ui>(ent + 0x10) + 0x20));
}
mem.RPM<ui>(mem.RPM<ui>(ent + 0x10) + 0x60) == 0 ? ent = 0 : ent = mem.RPM<ui>(mem.RPM<ui>(mem.RPM<ui>((ent + 0x10) + 0x60)));
}
cout << ("injection completed successfuly at !\n", (ui)std::to_string(std::time(0)).c_str());
};