首页
社区
课程
招聘
讨论:如何去除反调试,请高手帮忙
发表于: 2005-3-18 12:03 6440

讨论:如何去除反调试,请高手帮忙

2005-3-18 12:03
6440
Windows信使群发器是个不错的信使群发器,
它的下载地址是:http://www.cnysoft.com/software/down.asp?sid=NetSendMsg
下载后用peid查壳,发现是aspack2.12b的壳,用aspackdie1.41脱壳。脱壳后是unpacked.exe,运行,发现出现启动窗口就消失,用OLLYDBG.EXE载入它先f8,后用f7大法,发现以下内容:
00403E26 8D542410                lea edx, dword ptr [esp+10]
:00403E2A 52                      push edx
:00403E2B 8D4C242C                lea ecx, dword ptr [esp+2C]
:00403E2F 8BE8                    mov ebp, eax
:00403E31 E852E40100              call 00422288
:00403E36 8B442410                mov eax, dword ptr [esp+10]

* Possible StringData Ref from Data Obj ->"netsendmsg.exe"
                                  |
:00403E3A 68E8034600              push 004603E8
:00403E3F 50                      push eax
:00403E40 C684249C0F000005        mov byte ptr [esp+00000F9C], 05
:00403E48 E8BF680200              call 0042A70C
:00403E4D 83C408                  add esp, 00000008
:00403E50 85C0                    test eax, eax
:00403E52 0F84B9000000            je 00403F11
:00403E58 8B4C2410                mov ecx, dword ptr [esp+10]

* Possible StringData Ref from Data Obj ->"nsm.exe"
                                  |
:00403E5C 68E0034600              push 004603E0
:00403E61 51                      push ecx
:00403E62 E8A5680200              call 0042A70C
:00403E67 83C408                  add esp, 00000008
:00403E6A 85C0                    test eax, eax
:00403E6C 0F849F000000            je 00403F11
:00403E72 8B542410                mov edx, dword ptr [esp+10]

* Possible StringData Ref from Data Obj ->"unins000.exe"
                                  |
:00403E76 68D0034600              push 004603D0
:00403E7B 52                      push edx
:00403E7C E88B680200              call 0042A70C
我想是它比较启动的主程序的名称,如果不是就退出。把脱壳后的文件改为主程序文件netsendmsg.exe直接启动正常, 退出后再用OLLYDBG载入,按f9运行出错,忽略错误,主程序退出了。用插件isdebuger隐藏也是这样。我又用wdasm反汇编,再载入运行,它也是出错退出,请肉鸟帮下我这新手找个方向,在上段代码的下面几十行可能是对OLLYDBG等调试软件的防范,
请高手指点下帮我去除它的反调试功能。
*
这个软件除了要判别文件名、反调试软件,还有重启时判别注册码,发送信息时也会判别注册码是否正确(可能是网络验证)等,若大虾、肉鸟等营养丰富的高手有空的话请指点一下,先谢了。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 1238
活跃值: (808)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
:) 如果想自己写注册机看这个函数。。 我就懒了。不帮你啦。。。  嘿嘿。。。
:00402620 6AFF                    push FFFFFFFF
:00402622 6842C14400              push 0044C142
:00402627 64A100000000            mov eax, dword ptr fs:[00000000]
:0040262D 50                      push eax
:0040262E 64892500000000          mov dword ptr fs:[00000000], esp
:00402635 81EC04010000            sub esp, 00000104
:0040263B 56                      push esi
:0040263C 57                      push edi
:0040263D C744240800000000        mov [esp+08], 00000000
:00402645 8BBC2420010000          mov edi, dword ptr [esp+00000120]
:0040264C 83C9FF                  or ecx, FFFFFFFF
:0040264F 33C0                    xor eax, eax
:00402651 F2                      repnz
:00402652 AE                      scasb
:00402653 F7D1                    not ecx
:00402655 2BF9                    sub edi, ecx
:00402657 8BC1                    mov eax, ecx
:00402659 C1E902                  shr ecx, 02
:0040265C 8BF7                    mov esi, edi
:0040265E 8D54240C                lea edx, dword ptr [esp+0C]
:00402662 8BFA                    mov edi, edx
:00402664 F3                      repz
:00402665 A5                      movsd
:00402666 8BC8                    mov ecx, eax
:00402668 83E103                  and ecx, 00000003
:0040266B F3                      repz
:0040266C A4                      movsb
:0040266D 33C0                    xor eax, eax
:0040266F B920000000              mov ecx, 00000020
:00402674 8DBC248C000000          lea edi, dword ptr [esp+0000008C]
:0040267B F3                      repz
:0040267C AB                      stosd
:0040267D 83C9FF                  or ecx, FFFFFFFF
:00402680 33F6                    xor esi, esi
:00402682 8D7C240C                lea edi, dword ptr [esp+0C]
:00402686 F2                      repnz
:00402687 AE                      scasb
:00402688 F7D1                    not ecx
:0040268A 49                      dec ecx
:0040268B 8BC1                    mov eax, ecx
:0040268D 99                      cdq
:0040268E 2BC2                    sub eax, edx
:00402690 D1F8                    sar eax, 1
:00402692 85C0                    test eax, eax
:00402694 C784241401000001000000  mov dword ptr [esp+00000114], 00000001
:0040269F 7E46                    jle 004026E7
:004026A1 55                      push ebp
:004026A2 8D6C2410                lea ebp, dword ptr [esp+10]
:004026A6 0FBE4D01                movsx ecx, byte ptr [ebp+01]
:004026AA 0FBE5500                movsx edx, byte ptr [ebp+00]
:004026AE 8D4411E1                lea eax, dword ptr [ecx+edx-1F]
:004026B2 83F85B                  cmp eax, 0000005B
:004026B5 720B                    jb 004026C2
:004026B7 83E82B                  sub eax, 0000002B
:004026BA 83F83A                  cmp eax, 0000003A
:004026BD 7203                    jb 004026C2
:004026BF 83C007                  add eax, 00000007
:004026C2 88843490000000          mov byte ptr [esp+esi+00000090], al // al是计算出来的注册码 1个字母
:004026C9 33C0                    xor eax, eax
:004026CB 83C9FF                  or ecx, FFFFFFFF
:004026CE 46                      inc esi
:004026CF 83C502                  add ebp, 00000002
:004026D2 8D7C2410                lea edi, dword ptr [esp+10]
:004026D6 F2                      repnz
:004026D7 AE                      scasb
:004026D8 F7D1                    not ecx
:004026DA 49                      dec ecx
:004026DB 8BC1                    mov eax, ecx
:004026DD 99                      cdq
:004026DE 2BC2                    sub eax, edx
:004026E0 D1F8                    sar eax, 1
:004026E2 3BF0                    cmp esi, eax
:004026E4 7CC0                    jl 004026A6
:004026E6 5D                      pop ebp
:004026E7 8BB4241C010000          mov esi, dword ptr [esp+0000011C]
:004026EE 8D84248C000000          lea eax, dword ptr [esp+0000008C]
                                  // eax获得正确的注册码
//////////////////////////////////////////////////////////////////////////////////////////////////////

如果你想爆破 看这里

:00406FF5 8BBF04020000            mov edi, dword ptr [edi+00000204] //edi是你输入的注册码
:00406FFB 8B542408                mov edx, dword ptr [esp+08]       //edx是正确的注册码
:00406FFF 57                      push edi
:00407000 52                      push edx
:00407001 E806370200              call 0042A70C
:00407006 83C408                  add esp, 00000008
:00407009 85C0                    test eax, eax
:0040700B C684242801000000        mov byte ptr [esp+00000128], 00
:00407013 8D4C2414                lea ecx, dword ptr [esp+14]
:00407017 7535                    jne 0040704E                     //这里NOP他。。 就爆炸了
2005-3-18 14:55
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
多谢高手指点,得闲请你饮茶,
2005-3-21 16:59
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 KernelKiller 发布
:) 如果想自己写注册机看这个函数。。 我就懒了。不帮你啦。。。 嘿嘿。。。
:00402620 6AFF push FFFFFFFF
:00402622 6842C14400 push 0044C142
:00402627 64A100000000 mov eax, dword ptr fs:[00000000]
:0040262D 50 push eax
........


一看就知道弱智。这是爆破点的话,你调调它的QQ群发,就知道了。呵呵
2005-3-21 17:21
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
鸡蛋壳,你真是马后炮,我想你不会是空壳来的吧,当初又不见你贴数据[QUOTE]
2005-3-21 22:13
0
雪    币: 1238
活跃值: (808)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
这个软件我只分析了不到20秒。。  壳我都没脱。我是运行后把内存给导出进行分析的。。 并没有做任何的调试。 也没时间做任何的测试。只是提供个参考。。

如果你觉得能破这个软件就是最厉害的人。那我也没话说。
对于你这样一而再再而三挑性的人我也不会把你当人看。

对于你。我只能说。 你只是个会用工具的好孩子。
2005-3-22 10:30
0
雪    币: 47147
活跃值: (20465)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
最初由 鸡蛋壳 发布


一看就知道弱智。这是爆破点的话,你调调它的QQ群发,就知道了。呵呵


警告鸡蛋壳一次,说话注意口气,切勿攻击他人!再违规我就不警告了。
另外你的个性也得改改,不要搞的大家对你反感。
2005-3-22 10:44
0
游客
登录 | 注册 方可回帖
返回
//