160 - 45 Dope2112.2

环境:
Windows xp sp3

工具
1.ollydbg
2.exeinfope

0x00 查壳

还是无壳的Delphi程序

0x01 分析

这次继续OD载入搜字符串,但是没找到错误信息的字符串。
又因为是Delphi程序,所以可以试一下这样:

OD载入后还是搜字符串,可以看到这个:

分别跟随进去,下断点。

00421DB2      8BC0          mov eax,eax
00421DB4   .  A1 60464200   mov eax,dword ptr ds:[0x424660]
00421DB9   .  E8 26BBFFFF   call Dope2112.0041D8E4
00421DBE   .  C3            retn
00421DBF      90            nop
00421DC0   .  E8 0FBAFFFF   call Dope2112.0041D7D4
00421DC5   .  C3            retn
00421DC6      8BC0          mov eax,eax
00421DC8  /.  55            push ebp                                 ;  点击Check后会在这里断下
00421DC9  |.  8BEC          mov ebp,esp
00421DF2  |.  E8 89FAFEFF   call Dope2112.00411880                   ;  读入serial
00421DF7  |.  8D55 FC       lea edx,[local.1]
00421DFA  |.  8B86 AC010000 mov eax,dword ptr ds:[esi+0x1AC]
00421E00  |.  E8 7BFAFEFF   call Dope2112.00411880                   ;  读入name
00421E05  |.  8B45 FC       mov eax,[local.1]
00421E08  |.  E8 5715FEFF   call Dope2112.00403364                   ;  计算长度
00421E0D  |.  83F8 04       cmp eax,0x4                              ;  不能小于4位
00421E10  |.  7D 0C         jge XDope2112.00421E1E
00421E12  |.  A1 64464200   mov eax,dword ptr ds:[0x424664]
00421E17  |.  E8 C8BAFFFF   call Dope2112.0041D8E4
00421E1C  |.  EB 4D         jmp XDope2112.00421E6B
00421E1E  |>  8B45 FC       mov eax,[local.1]
00421E21  |.  E8 3E15FEFF   call Dope2112.00403364                   ;  计算长度
00421E26  |.  85C0          test eax,eax
00421E28  |.  7C 14         jl XDope2112.00421E3E
00421E2A  |.  40            inc eax                                  ;  循环次数为:字符串长度加1
00421E2B  |.  33D2          xor edx,edx
00421E2D  |>  8B4D FC       /mov ecx,[local.1]
00421E30  |.  0FB64C11 FF   |movzx ecx,byte ptr ds:[ecx+edx-0x1]     ;  将每个字符读出来左移9位
00421E35  |.  C1E1 09       |shl ecx,0x9
00421E38  |.  03D9          |add ebx,ecx                             ;  37
00421E3A  |.  42            |inc edx
00421E3B  |.  48            |dec eax
00421E3C  |.^ 75 EF         \jnz XDope2112.00421E2D
00421E3E  |>  8D55 F4       lea edx,[local.3]
00421E41  |.  8BC3          mov eax,ebx
00421E43  |.  E8 E834FEFF   call Dope2112.00405330
00421E48  |.  8B45 F4       mov eax,[local.3]
00421E4B  |.  8B55 F8       mov edx,[local.2]
00421E4E  |.  E8 2116FEFF   call Dope2112.00403474
00421E53  |.  75 0C         jnz XDope2112.00421E61
00421E55  |.  A1 68464200   mov eax,dword ptr ds:[0x424668]
00421E5A  |.  E8 85BAFFFF   call Dope2112.0041D8E4                   ;  正确的弹窗
00421E5F  |.  EB 0A         jmp XDope2112.00421E6B
00421E61  |>  A1 64464200   mov eax,dword ptr ds:[0x424664]
00421E66  |.  E8 79BAFFFF   call Dope2112.0041D8E4                   ;  错误的弹窗

这个更简单了,第一个值是0x37,其他都是将name每个字符的ascii值左移9位,将结果相加,结果的10进制值就是serial了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值