add visual studio project files
This commit is contained in:
parent
aaf35ec5cf
commit
5a2748f3d1
12 changed files with 11601 additions and 33 deletions
26
src/mouse.c
26
src/mouse.c
|
@ -153,34 +153,34 @@ void hack_iat(struct hack *hck)
|
|||
HANDLE hProcess = GetCurrentProcess();
|
||||
|
||||
ReadProcessMemory(hProcess, (void *)base, &dos_hdr, sizeof(IMAGE_DOS_HEADER), &dwWritten);
|
||||
ReadProcessMemory(hProcess, (void *)base+dos_hdr.e_lfanew, &nt_hdr, sizeof(IMAGE_NT_HEADERS), &dwWritten);
|
||||
ReadProcessMemory(hProcess, (void *)((char *)base + dos_hdr.e_lfanew), &nt_hdr, sizeof(IMAGE_NT_HEADERS), &dwWritten);
|
||||
dir = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (nt_hdr.OptionalHeader.DataDirectory[1].Size));
|
||||
ReadProcessMemory(hProcess, (void *)base+nt_hdr.OptionalHeader.DataDirectory[1].VirtualAddress, dir, nt_hdr.OptionalHeader.DataDirectory[1].Size, &dwWritten);
|
||||
ReadProcessMemory(hProcess, (void *)((char *)base + nt_hdr.OptionalHeader.DataDirectory[1].VirtualAddress), dir, nt_hdr.OptionalHeader.DataDirectory[1].Size, &dwWritten);
|
||||
|
||||
while(dir->Name > 0)
|
||||
while (dir->Name > 0)
|
||||
{
|
||||
memset(buf, 0, 32);
|
||||
ReadProcessMemory(hProcess, (void *)base+dir->Name, buf, 32, &dwWritten);
|
||||
if(stricmp(buf, hck->name) == 0)
|
||||
ReadProcessMemory(hProcess, (void *)((char *)base + dir->Name), buf, 32, &dwWritten);
|
||||
if (_stricmp(buf, hck->name) == 0)
|
||||
{
|
||||
ptmp = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DWORD) * 64);
|
||||
ReadProcessMemory(hProcess, (void *)base+dir->Characteristics, ptmp, sizeof(DWORD) * 64, &dwWritten);
|
||||
i=0;
|
||||
while(*ptmp)
|
||||
ReadProcessMemory(hProcess, (void *)((char *)base + dir->Characteristics), ptmp, sizeof(DWORD) * 64, &dwWritten);
|
||||
i = 0;
|
||||
while (*ptmp)
|
||||
{
|
||||
memset(buf, 0, 32);
|
||||
ReadProcessMemory(hProcess, (void *)base+(*ptmp)+2, buf, 32, &dwWritten);
|
||||
ReadProcessMemory(hProcess, (void *)((char *)base + (*ptmp) + 2), buf, 32, &dwWritten);
|
||||
|
||||
hk = &hck->hooks[0];
|
||||
while(hk->func)
|
||||
while (hk->func)
|
||||
{
|
||||
if(stricmp(hk->name, buf) == 0)
|
||||
if (_stricmp(hk->name, buf) == 0)
|
||||
{
|
||||
thunk.u1.Function = (DWORD)hk->func;
|
||||
thunk.u1.Ordinal = (DWORD)hk->func;
|
||||
thunk.u1.AddressOfData = (DWORD)hk->func;
|
||||
VirtualProtectEx(hProcess, (void *)base+dir->FirstThunk+(sizeof(IMAGE_THUNK_DATA) * i), sizeof(IMAGE_THUNK_DATA), PAGE_EXECUTE_READWRITE, &dwWritten);
|
||||
WriteProcessMemory(hProcess, (void *)base+dir->FirstThunk+(sizeof(IMAGE_THUNK_DATA) * i), &thunk, sizeof(IMAGE_THUNK_DATA), &dwWritten);
|
||||
VirtualProtectEx(hProcess, (void *)((char *)base + dir->FirstThunk + (sizeof(IMAGE_THUNK_DATA) * i)), sizeof(IMAGE_THUNK_DATA), PAGE_EXECUTE_READWRITE, &dwWritten);
|
||||
WriteProcessMemory(hProcess, (void *)((char *)base + dir->FirstThunk + (sizeof(IMAGE_THUNK_DATA) * i)), &thunk, sizeof(IMAGE_THUNK_DATA), &dwWritten);
|
||||
mouse_active = TRUE;
|
||||
}
|
||||
hk++;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue