-
-
[旧帖]
[求助]为什么拷贝的数据变动了?
0.00雪花
-
发表于:
2012-3-21 01:57
1536
-
[旧帖] [求助]为什么拷贝的数据变动了?
0.00雪花
BYTE OldCode[5];
__declspec(naked) VOID MyGet()
{
__asm
{
mov data1,ecx //
mov data2,esi //
pushad
}
RtlCopyMemory(jmpaddr,OldCode,5); //本意是要恢复Hook处的代码,奇怪的是OldCode拷贝了Hook之前的代码,为什么这里OldCode变成了Hook之后的代码?恢复不了...
VirtualProtect((LPVOID)jmpaddr,5,OldProtec,NULL); //恢复页面属性
__asm
{
popad
jmp jmpaddr
}
}
////////////////////////////////
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved )
{
jmpaddr = (VOID *)0x49362e;
RtlCopyMemory(OldCode,jmpaddr,5); //拷贝Hook之前的代码
VirtualProtect((LPVOID)jmpaddr,5,PAGE_EXECUTE_READWRITE,&OldProtec);
*(PBYTE)jmpaddr = 0xe9; //写入JMP
*(PULONG)((PBYTE)jmpaddr + 1) = (ULONG)MyGet - (ULONG)jmpaddr - 5;
return TRUE;
}
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法