-
-
[旧帖]
[求助]关于hook D3D时,游戏崩溃,求高手帮助
0.00雪花
-
发表于:
2014-11-29 16:39
2357
-
[旧帖] [求助]关于hook D3D时,游戏崩溃,求高手帮助
0.00雪花
在hook D3D 中的某个函数,一hook游戏就崩溃,以下为本人试过的方法,还请高手指点一下
1、不插dll 写好跳转后的代码 , 直接hook,
在目标程序中申请内存,写入下面代码
跳转后汇编代码:
01480000 60 pushad
01480001 55 push ebp
01480002 8BEC mov ebp, esp
01480027 68 8C000000 push 10
0148002C B8 FF101F77 mov eax, 771F10FF (这个是Sleep的地址)
01480031 FFD0 call eax
01480050 8BE5 mov esp, ebp
01480052 5D pop ebp
01480053 61 popad
01480054 8BFF mov edi, edi 这里是源地址的5个字节的代码 8BFF558BEC
01480056 55 push ebp
01480057 8BEC mov ebp, esp
0148007A 68 69A0FC07 push 源地址+5
0148007F C3 retn
跳转计算工式:跳转地址=目地地址-源地址-5 (用OD 查看了汇编,跳转是正常的)
直接在源地址写 E9 跳转地址
游戏崩溃
但是我用别人直接写好Dll的Hook, 他不是申请内存,是插入dll后,hook源地址直接跳转到自己Dll的函数地址,这样却没问题,而且我也试了,把他跳转后的那段汇编代码,改成我以上所写的代码,也可以正常工作,难道这种申请内存的方式不行?
跳转地址,和跳回地址我都验证了,没有问题,这个sleep函数地址我也OD中查看了,没有问题
但是我的那种方法一试就会游戏崩溃,还请高手指点一下
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法