本帖最后由 枫笑九洲 于 2018-2-27 08:36 编辑
1、OD载入,搜索已注册版本
[Asm] 纯文本查看 复制代码 005522CC |. 803D 04815900>cmp byte ptr ds:[0x598104],0x0 ; 0改1
005522D3 |. 74 10 je short qqqf.005522E5
005522D5 |. BA A0235500 mov edx,qqqf.005523A0 ; 已注册版本
搜索 全部命令 cmp byte ptr ds:[0x598104],0x0
[Asm] 纯文本查看 复制代码 找到的命令
地址 反汇编 注释
00551D1E cmp byte ptr ds:[0x598104],0x0 ds:[00598104]=00
00552078 cmp byte ptr ds:[0x598104],0x0 ds:[00598104]=00
005522D3 je short qqqf.005522E5 (初始 CPU 选择)
点击第一条命令进去
[Asm] 纯文本查看 复制代码 00551D1E |> \803D 04815900>cmp byte ptr ds:[0x598104],0x0 ; 改0为1
00551D25 |. 74 24 je short qqqf.00551D4B
00551D27 |. 8D4D F0 lea ecx,[local.4]
转储后,再打开,显示己注册
2、去掉烦人的小尾巴
找c++和delphi按钮特征码 #740E8BD38B83????????FF93????????#并在下面的call处下断
奉上个脚本下断
[Asm] 纯文本查看 复制代码 mov Addr,401000
loop:
find Addr,#740E8BD38B83????????FF93????????#
cmp $RESULT,0
je Exit
add $RESULT,0A
bp $RESULT
add $RESULT,1
mov Addr,$RESULT
jmp loop
Exit:
ret
断点下好后,点击发送,断下来了
[Asm] 纯文本查看 复制代码 0047BFD4 |. FF93 20010000 call dword ptr ds:[ebx+0x120] ; F7跟进
0047BFDA |> 5B pop ebx ; 00E7BA78
0047BFDB \. C3 retn
F8一直向下,
[Asm] 纯文本查看 复制代码 005828C5 |. 8B45 90 mov eax,[local.28] ; 需要发送的文字出现
005828C8 |. 8D4D 94 lea ecx,[local.27]
005828CB |. BA 0A000000 mov edx,0xA
005828D0 |. E8 6BC1EBFF call qqqf1.0043EA40
005828D5 |. 8B45 94 mov eax,[local.27]
继续向下
[Asm] 纯文本查看 复制代码 00582927 |. E8 8457FFFF call qqqf1.005780B0
0058292C |. 8B45 D4 mov eax,[local.11]
0058292F |. 33D2 xor edx,edx
我们在数据窗口可以看到[local.11]处存的是我们要发送的文字,但此时已经和小尾巴连在一起了。
我们进00582927处的call看看,看能不能砍掉小尾巴,在00582927处下断,并重新点击发送
断下来后,我们锁定堆栈到ebp-2C处,然后跟进call看看
[Asm] 纯文本查看 复制代码
005780B0 /$ 55 push ebp
005780B1 |. 8BEC mov ebp,esp
005780B3 |. B9 05000000 mov ecx,0x5
005780B8 |> 6A 00 /push 0x0
005780BA |. 6A 00 |push 0x0
005780BC |. 49 |dec ecx
005780BD |.^ 75 F9 \jnz short qqqf1.005780B8
005780BF |. 51 push ecx
一路向下
[Asm] 纯文本查看 复制代码 00578110 |. FF51 1C call dword ptr ds:[ecx+0x1C] ; ebp-2c处出现发送内容
00578113 |. E9 FE000000 jmp qqqf1.00578216
00578118 |> A1 20885900 mov eax,dword ptr ds:[0x598820]
0057811D |. 8B80 E8030000 mov eax,dword ptr ds:[eax+0x3E8]
此时ebp-2c处没有添加小尾巴
继续向下,一直来到:
[Asm] 纯文本查看 复制代码 0057827C |. /75 1F jnz short qqqf1.0057829D
0057827E |. |FF33 push dword ptr ds:[ebx]
00578280 |. |68 BC835700 push qqqf1.005783BC ; UNICODE "
00578285 |. |A1 C0455900 mov eax,dword ptr ds:[0x5945C0]
0057828A |. |FF30 push dword ptr ds:[eax]
0057828C |. |68 CC835700 push qqqf1.005783CC ; UNICODE "
00578291 |. |8BC3 mov eax,ebx
00578293 |. |BA 04000000 mov edx,0x4
00578298 |. |E8 0FCBE8FF call qqqf1.00404DAC
经过上面这个call后,ebp-2c处出现小尾巴,我们只要跳过这个call就好了
在0057827C处,jnz改jmp,改好后保存
再次打开软件,点发送测试,小尾巴没了。。。。。
|