好友
阅读权限35
听众
最后登录1970-1-1
|
本帖最后由 1354669803 于 2013-6-28 19:10 编辑
用另外一种思路分析Shark恒老师所有的课件系列教程集合帖地址:
http://www.52pojie.cn/thread-201960-1-1.html
前言:看到大家热情这么高 对本人的教程也大力支持 那么我继续更新第二课 希望大家多+热心 and CB 我将努力做得更好
如果大家发现有什么地方不懂可跟帖回复 我将会对你的问题进行解答 欢迎大家提问 你们的支持就是我最大的动力
链接:http://pan.baidu.com/share/link?shareid=2860771541&uk=1395155119 密码:f5qb
这个Exit断点课件我看过 老师说如果把系统时间改到7月1以后就无效了 那么我现在在想是否可以拦截他获取系统时间来定位他获取系统时间的关键call之类的 那么以下证实了我的想法:
首先是一个崛北压缩壳 不去脱他 脱起来也简单 不过我没有兴趣 一开始看到入口以为是猛壳Asprotect
结果吓了我一跳 不是 幸好老师手下留情 膜拜下Shark恒老师 最有爱了
API:GetLocalTime 断点 直接命令栏输入bp GetLocalTime
直接回车搞定 运行起来
这个时候不是返回时机 因为现在这个获取时间是由QQpinyin获取的 不是软件 所以我们再次F9
来自Exit断点.exe 后面没有截图
堆栈返回 老师教过的 不解释 不截图了
004512BA 55 push ebp /////下硬件断点 因为有壳啊
004512BB 8BEC mov ebp,esp
004512BD 81EC CC000000 sub esp,0xCC
004512C3 8D45 F0 lea eax,dword ptr ss:[ebp-0x10]
004512C6 50 push eax
004512C7 FF15 FCD14600 call dword ptr ds:[0x46D1FC] ; kernel32.GetLocalTime
004512CD 8D45 E0 lea eax,dword ptr ss:[ebp-0x20]
004512D0 50 push eax
004512D1 FF15 00D24600 call dword ptr ds:[0x46D200] ; kernel32.GetSystemTime
004512D7 66:8B45 EA mov ax,word ptr ss:[ebp-0x16]
004512DB 66:3B05 AA004A0>cmp ax,word ptr ds:[0x4A00AA]
004512E2 75 3B jnz XEXIT断点.0045131F
004512E4 66:8B45 E8 mov ax,word ptr ss:[ebp-0x18]
004512E8 66:3B05 A8004A0>cmp ax,word ptr ds:[0x4A00A8]
004512EF 75 2E jnz XEXIT断点.0045131F
004512F1 66:8B45 E6 mov ax,word ptr ss:[ebp-0x1A]
004512F5 66:3B05 A6004A0>cmp ax,word ptr ds:[0x4A00A6]
004512FC 75 21 jnz XEXIT断点.0045131F
004512FE 66:8B45 E2 mov ax,word ptr ss:[ebp-0x1E]
00451302 66:3B05 A2004A0>cmp ax,word ptr ds:[0x4A00A2]
00451309 75 14 jnz XEXIT断点.0045131F
0045130B 66:8B45 E0 mov ax,word ptr ss:[ebp-0x20]
0045130F 66:3B05 A0004A0>cmp ax,word ptr ds:[0x4A00A0]
00451316 75 07 jnz XEXIT断点.0045131F
00451318 A1 98004A00 mov eax,dword ptr ds:[0x4A0098]
0045131D EB 45 jmp XEXIT断点.00451364
再次重新载入 可以删除那个API断点了 自动断下 再次堆栈返回到
0044D955 8945 FC mov dword ptr ss:[ebp-0x4],eax
0044D958 59 pop ecx
0044D959 8B4D 08 mov ecx,dword ptr ss:[ebp+0x8]
0044D95C 8D45 FC lea eax,dword ptr ss:[ebp-0x4]
0044D95F 50 push eax
0044D960 E8 AE010000 call EXIT断点.0044DB13
0044D965 8B45 08 mov eax,dword ptr ss:[ebp+0x8]
0044D968 C9 leave
0044D969 C2 0400 retn 0x4 /////段尾下断
004010A1 55 push ebp
004010A2 8BEC mov ebp,esp
004010A4 81EC 34000000 sub esp,0x34
004010AA 68 01030080 push 0x80000301
004010AF 6A 00 push 0x0
004010B1 68 01000000 push 0x1
004010B6 68 01000000 push 0x1
004010BB B8 01000000 mov eax,0x1
004010C0 BB 50694400 mov ebx,EXIT断点.00446950
004010C5 E8 A2050000 call EXIT断点.0040166C
004010CA 83C4 10 add esp,0x10
004010CD 68 00000000 push 0x0
004010D2 BB 101A4000 mov ebx,EXIT断点.00401A10
004010D7 E8 8A050000 call EXIT断点.00401666
004010DC 83C4 04 add esp,0x4 ////一直单步以后就会到这了 上面哪个call就是获取系统时间的
后面我就不解释了 只是说换一种思路去搞
后面的破解都挺简单的
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|