龙马谷

 找回密码
 立即注册

QQ登录

只需一步,快速开始

龙马谷VIP会员办理客服QQ:82926983(如果临时会话没有收到回复,请先加QQ好友再发。)
1 [已完结] GG修改器新手入门与实战教程 31课 2 [已完结] GG修改器美化修改教程 6课 3 [已完结] GG修改器Lua脚本新手入门教程 12课
4 [已完结] 触动精灵脚本新手入门必学教程 22课 5 [已完结] 手游自动化脚本入门实战教程 9课 6 [已完结] C++射击游戏方框骨骼透视与自瞄教程 27课
7 [已完结] C++零基础UE4逆向开发FPS透视自瞄教程 29课 8 [已完结] C++零基础大漠模拟器手游自动化辅助教程 22课 9 [已完结] C++零基础开发DXF内存脚本辅助教程 32课
以下是天马阁VIP教程,本站与天马阁合作,赞助VIP可以获得天马阁对应VIP会员,名额有限! 点击进入天马阁论坛
1 [已完结] x64CE与x64dbg入门基础教程 7课 2 [已完结] x64汇编语言基础教程 16课 3 [已完结] x64辅助入门基础教程 9课
4 [已完结] C++x64内存辅助实战技术教程 149课 5 [已完结] C++x64内存检测与过检测技术教程 10课 6 [已完结] C+x64二叉树分析遍历与LUA自动登陆教程 19课
7 [已完结] C++BT功能原理与x64实战教程 29课 8 [已完结] C+FPS框透视与自瞄x64实现原理及防护思路
查看: 7269|回复: 0

TP的debugport的另一种过法

[复制链接]

31

主题

3

回帖

43

积分

编程入门

Rank: 1

龙马币
93
继上一次过掉双击调试之后,利用它的思想,又相继过掉了那几个函数和debugport。刚才在虚拟机里面,OD加载之后,有模块,可下段,没又sx非法之类报错。

但是过了一会游戏退出了。不知道是不是跟我虚拟机配置不够有关?总之能调试附加,给我这新人一大信心。

开始说debugport的过法。看了以前好多帖子,都是修改TP,最近,有人也是修改TP,另外pass crc校验。我不会找crc校验,希望有大牛来指点我一下。
于是另外想了一种办法。

先上反汇编代码:
  1. b0dc627e 895c3804        mov     dword ptr [eax+edi+4],ebx
  2. b0dc6282 8b3dc472ddb0    mov     edi,dword ptr [TesXXXX+0x132c4 (b0dd72c4)]
  3. b0dc6288 8b7f1c          mov     edi,dword ptr [edi+1Ch]
  4. b0dc628b 0379b8          add     edi,dword ptr [ecx-48h]
  5. b0dc628e 33c0            xor     eax,eax
  6. b0dc6290 ab              stos    dword ptr es:[edi]
  7. b0dc6291 ab              stos    dword ptr es:[edi]
  8. b0dc6292 8b3dc472ddb0    mov     edi,dword ptr [TesXXXX+0x132c4 (b0dd72c4)]
  9. b0dc6298 8b7f04          mov     edi,dword ptr [edi+4]
  10. b0dc629b 0379b8          add     edi,dword ptr [ecx-48h]
  11. b0dc629e 33c0            xor     eax,eax
  12. b0dc62a0 8707            xchg    eax,dword ptr [edi]//这里清0
复制代码

一处清零的地方。我从上面跟下来,发现,debugport的偏移0xbc让他存在了一个局部变量中。

那么,跟到这个局部变量赋值的地方。

  1. b0e6XXXX 0f85d2000000    jne     TesXXXX+0x783c (b0e6XXXX)
  2. b0e6XXXX 8b4508          mov     eax,dword ptr [ebp+8]
  3. b0e6XXXX c74004bc000000  mov     dword ptr [eax+4],0BCh//这里赋值。
  4. b0e6XXXX c7400c30010000  mov     dword ptr [eax+0Ch],130h
  5. b0e6XXXX c74010a0010000  mov     dword ptr [eax+10h],1A0h
  6. b0e6XXXX c7004c020000    mov     dword ptr [eax],24Ch
  7. b0e6XXXX c740141c010000  mov     dword ptr [eax+14h],11Ch
复制代码

这段代码大体意思,判断当前系统版本。然后会给一些偏移。。。别的不管,我只管0xbc

然后,我可以在b0e6XXXX c7400c30010000  mov     dword ptr [eax+0Ch],130h
下硬件断点。然后HOOK INT1 中断。然后悄无声息的将eax+4的内容改为别的。我发现118这个偏移不错。

然后。。。。某P开始疯狂对这个地址清0.

好了。想法就是这样。(之前有人说到律师函之类,所以锁了一些修饰。希望不会引火。)

上代码:

下硬件断点。
  1.     __asm
  2.     {
  3.       mov eax,hookaddr
  4.       mov DR0,eax
  5.       mov eax,2
  6.       mov DR7,eax
  7.     }

  8. void __declspec (naked) My_Kitrap1()
  9. {
  10.     _asm
  11.     {   
  12.       //保存环境;
  13.       pushfd
  14.       pushad
  15.       mov ebx,eax
  16.       mov ecx,XxxPBASE
  17.       add ecx,0x7774
  18.       mov eax,dr0
  19.       cmp eax,ecx
  20.       jne jmpoldtrap01
  21.       mov eax,dr6
  22.       and eax,1
  23.       cmp eax,1
  24.       jne jmpoldtrap01
  25.       mov word ptr [ebx+4],0x118
  26.       mov eax,0
  27.       mov dr0,eax
  28.       popad
  29.       popfd
  30.       iretd
  31. jmpoldtrap01:
  32.       popad
  33.       popfd
  34.       push  0
  35.       mov   word ptr [esp+2],0
  36.       jmp originalkitrap1addrjmpaddr
  37.     }
  38. }
复制代码

大体 就这样吧。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

龙马谷| C/C++辅助教程| 安卓逆向安全| 论坛导航| 免责申明|Archiver|
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表龙马谷立场!
任何人不得以任何方式翻录、盗版或出售本站视频,一经发现我们将追究其相关责任!
我们一直在努力成为最好的编程论坛!
Copyright© 2018-2021 All Right Reserved.
在线客服
快速回复 返回顶部 返回列表