首页
社区
课程
招聘
[旧帖] [原创][申请邀请码]招聘管理系统3.4版 加解密分析 0.00雪花
发表于: 2011-7-9 13:10 1981

[旧帖] [原创][申请邀请码]招聘管理系统3.4版 加解密分析 0.00雪花

2011-7-9 13:10
1981
    本文适合新人学习讨论。在看雪我也是新人一个,研究加解密也有一两年时间了,在这里写编文章希望能得到邀请码和各位大牛多多指教。
    运行软件,试着查看软件的加密方式,在菜单的帮助—注册使用任意码注册看看有什么提示,如图:
 
有错误提示,这些提示也许就是我们对该软件分析的突破口了,使用peid v0.95查壳-,是ASPack 2.12 -> Alexey Solodovnikov,如图:
 
既然有壳,那我们就从脱壳开始吧,od加载软件,入口代码为:
00AE0001 >  60              pushad
00AE0002    E8 03000000     call KHRMS.00AE000A
00AE0007  - E9 EB045D45     jmp 460B04F7
00AE000C    55              push ebp
00AE000D    C3              retn
00AE000E    E8 01000000     call KHRMS.00AE0014
00AE0013    EB 5D           jmp XKHRMS.00AE0072
00AE0015    BB EDFFFFFF     mov ebx,-0x13
00AE001A    03DD            add ebx,ebp
00AE001C    81EB 00006E00   sub ebx,KHRMS.006E0000
      下面就用ESP定律脱壳,按F8一次单步,此时右边寄存器ESP的值为0012FFA4,点击0012FFA4再 右键—数据窗口中跟随,如图:

 
到这里,就要到数据窗口下硬件访问断点了,操作如图所示:
 
下好断点,直接F9运行,程序来到地址为00AE0416处被断了下来,此时就要取消硬件断点了,菜单的调试—硬件断点—删除—确定。再F8单步走,到了007CFFB4    55     push ebp,那就是程序的OEP了。

在该地址上右键---用OD脱壳调试进程,弹出窗口按“脱壳”,把程序保存下来,关闭OD,脱壳完毕,运行脱壳后的软件一切正常,peid查是Borland Delphi 6.0 - 7.0。
     Od加载脱壳后的程序,利用在反汇编窗口“右键—中文搜索引擎--搜索ASCII”的方法找找到了注册码错误提示的地方,代码段如下:
0079BE92  |.  8B55 E8       mov edx,[local.6]
0079BE95  |.  58            pop eax
0079BE96  |.  E8 5193C6FF   call tuo.004051EC
0079BE9B  |.  0F85 E8000000 jnz tuo.0079BF89
0079BEA1  |.  A1 14C17E00   mov eax,dword ptr ds:[0x7EC114]
0079BEA6  |.  8B00          mov eax,dword ptr ds:[eax]
0079BEA8  |.  8B90 94080000 mov edx,dword ptr ds:[eax+0x894]
0079BEAE  |.  8D45 F8       lea eax,[local.2]
0079BEB1  |.  B9 00C07900   mov ecx,tuo.0079C000                     ;  Setup.ini
0079BEB6  |.  E8 3192C6FF   call tuo.004050EC
0079BEBB  |.  8B4D F8       mov ecx,[local.2]
0079BEBE  |.  B2 01         mov dl,0x1
0079BEC0  |.  A1 48794400   mov eax,dword ptr ds:[0x447948]
0079BEC5  |.  E8 2EBBCAFF   call tuo.004479F8
0079BECA  |.  8BF0          mov esi,eax
0079BECC  |.  8D55 DC       lea edx,[local.9]
0079BECF  |.  8B83 0C030000 mov eax,dword ptr ds:[ebx+0x30C]
0079BED5  |.  E8 5A9CCEFF   call tuo.00485B34
0079BEDA  |.  8B45 DC       mov eax,[local.9]
0079BEDD  |.  E8 220BC7FF   call tuo.0040CA04
0079BEE2  |.  D805 0CC07900 fadd dword ptr ds:[0x79C00C]
0079BEE8  |.  83C4 F4       add esp,-0xC
0079BEEB  |.  DB3C24        fstp tbyte ptr ss:[esp]
0079BEEE  |.  9B            wait
0079BEEF  |.  8D45 E0       lea eax,[local.8]
0079BEF2  |.  E8 8D09C7FF   call tuo.0040C884
0079BEF7  |.  8B55 E0       mov edx,[local.8]
0079BEFA  |.  8D4D E4       lea ecx,[local.7]
0079BEFD  |.  A1 14C17E00   mov eax,dword ptr ds:[0x7EC114]
0079BF02  |.  8B00          mov eax,dword ptr ds:[eax]
0079BF04  |.  E8 DF610000   call tuo.007A20E8
0079BF09  |.  8B45 E4       mov eax,[local.7]
0079BF0C  |.  50            push eax
0079BF0D  |.  B9 18C07900   mov ecx,tuo.0079C018                     ;  VersionInfo
0079BF12  |.  BA 2CC07900   mov edx,tuo.0079C02C                     ;  Register
0079BF17  |.  8BC6          mov eax,esi
0079BF19  |.  8B38          mov edi,dword ptr ds:[eax]
0079BF1B  |.  FF57 04       call dword ptr ds:[edi+0x4]
0079BF1E  |.  A1 14C17E00   mov eax,dword ptr ds:[0x7EC114]
0079BF23  |.  8B00          mov eax,dword ptr ds:[eax]
0079BF25  |.  C780 AC080000>mov dword ptr ds:[eax+0x8AC],0x2
0079BF2F  |.  B2 01         mov dl,0x1
0079BF31  |.  8BC6          mov eax,esi
0079BF33  |.  8B08          mov ecx,dword ptr ds:[eax]
0079BF35  |.  FF51 FC       call dword ptr ds:[ecx-0x4]
0079BF38  |.  BA 40C07900   mov edx,tuo.0079C040                     ;  软件已注册
0079BF3D  |.  A1 BCC37F00   mov eax,dword ptr ds:[0x7FC3BC]
0079BF42  |.  E8 1D9CCEFF   call tuo.00485B64
0079BF47  |.  A1 BCC37F00   mov eax,dword ptr ds:[0x7FC3BC]
0079BF4C  |.  8B80 10030000 mov eax,dword ptr ds:[eax+0x310]
0079BF52  |.  BA 54C07900   mov edx,tuo.0079C054                     ;  感谢您的注册,使用中遇到任何问题,欢迎咨询客服。
0079BF57  |.  E8 089CCEFF   call tuo.00485B64
0079BF5C  |.  A1 BCC37F00   mov eax,dword ptr ds:[0x7FC3BC]
0079BF61  |.  8B80 0C030000 mov eax,dword ptr ds:[eax+0x30C]
0079BF67  |.  33D2          xor edx,edx
0079BF69  |.  8B08          mov ecx,dword ptr ds:[eax]
0079BF6B  |.  FF51 64       call dword ptr ds:[ecx+0x64]
0079BF6E  |.  6A 40         push 0x40
0079BF70  |.  68 88C07900   push tuo.0079C088                        ;  提示
0079BF75  |.  68 90C07900   push tuo.0079C090                        ;  注册成功,感谢您的注册!
0079BF7A  |.  8BC3          mov eax,ebx
0079BF7C  |.  E8 3B06CFFF   call tuo.0048C5BC
0079BF81  |.  50            push eax                                 ; |hOwner
0079BF82  |.  E8 A5CAC6FF   call <jmp.&user32.MessageBoxA>           ; \MessageBoxA
0079BF87  |.  EB 26         jmp Xtuo.0079BFAF
0079BF89  |>  6A 10         push 0x10
0079BF8B  |.  68 ACC07900   push tuo.0079C0AC                        ;  错误
0079BF90  |.  68 B4C07900   push tuo.0079C0B4                        ;  注册失败,请检查注册序列号是否填写正确!
0079BF95  |.  8BC3          mov eax,ebx
0079BF97  |.  E8 2006CFFF   call tuo.0048C5BC
0079BF9C  |.  50            push eax                                 ; |hOwner
0079BF9D  |.  E8 8ACAC6FF   call <jmp.&user32.MessageBoxA>           ; \MessageBoxA
0079BFA2  |.  33D2          xor edx,edx
0079BFA4  |.  8B83 0C030000 mov eax,dword ptr ds:[ebx+0x30C]
0079BFAA  |.  E8 B59BCEFF   call tuo.00485B64
0079BFAF  |>  33C0          xor eax,eax
     经过简单的分析,初步断定地址0079BE96的call 为关键call,地址0079BE9B的跳为关键跳。我们就带着这问题,在0079BE9B处按F2下断,F9运行程序,再试着任意码注册。程序在0079BE9B被断了下来,看反汇编代码如果跳转成功,程序提示注册码错误,如果不跳,程序提示注册成功。在0079BE9B处,右键--二进制--用nop填充。修改前,如图:
 
修改后,如图:
 
    F9直接运行程序,程序提示注册成功,再一次点击注册的时候,序列号处已经成为真正的注册码了,到了这里,就剩下最后一步了--把修改好得程序保存下来。
回到刚才修改代码的地方,右键--复制到可执行文件--所有修改--全部复制,在弹出窗口中右键--保存文件。(这步其实可以略的,因为正确的注册码已经写到ini文件了,注册码保存在安装目录下得ini文件里。)
    运行原程序,查看注册信息(偶尔也试过不成功,如果是就用真正注册码在源程序注册一下就好了),感受自己成功的喜悦。

    接下我会抽空把招聘管理系统最新3.5版的加密与解密分析也写写,3.5版比起3.4版难度可大多了。我希望我能申请到邀请码,让我也喜悦喜悦,

    祝大家在看雪学习愉快!!!

[课程]Android-CTF解题方法汇总!

上传的附件:
  • 1.jpg (37.38kb,113次下载)
  • 2.jpg (43.78kb,110次下载)
  • 3.jpg (47.66kb,108次下载)
  • 4.jpg (74.10kb,109次下载)
  • 5.jpg (94.77kb,107次下载)
  • 6.jpg (13.46kb,106次下载)
  • 7.jpg (19.28kb,108次下载)
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 87
活跃值: (205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
软件下载http://u.115.com/file/dncfsvzw#
2011-7-9 13:48
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢分享。我们一起努力吧。在这里有一种很强的学习氛围。
2011-7-9 17:43
0
雪    币: 193
活跃值: (64)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
革命尚未成功,同志仍需努力啊!!!
2011-7-9 17:49
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢分享。
2011-7-9 21:47
0
雪    币: 2820
活跃值: (2681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
将0079BE9B                                  /0F84 E8000000 jnz      0079BF89

改为

0079BE9B                                  /0F84 E8000000 je      0079BF89

是不是也可以哦
2011-7-10 03:44
0
雪    币: 2820
活跃值: (2681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最后我的注册号是:aiGlSB8EnJZ0reg=6y
序列号是:2852714735
2011-7-10 03:47
0
雪    币: 2820
活跃值: (2681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
问一个低级的问题 英文的怎么查找啊,中文的用中文搜索引擎
2011-7-10 04:34
0
雪    币: 66
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢分享。我们一起努力吧。在这里有一种很强的学习氛围。
2011-7-10 07:29
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
革命尚未成功,同志仍需努力啊!!
2011-7-11 11:21
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
新人进来学习看看 谢谢了啊!
2011-7-11 12:34
0
游客
登录 | 注册 方可回帖
返回
//