首页
社区
课程
招聘
[旧帖] [原创]破解finalrecovery实录 0.00雪花
发表于: 2007-7-11 11:20 5440

[旧帖] [原创]破解finalrecovery实录 0.00雪花

2007-7-11 11:20
5440
今天在论坛里见rypjoin 的关于UPX壳的一个求助贴,一时心血来潮就在其贴子后把脱壳的全过程写了出来,所以本贴不再写关于如何脱这个壳,有不明白的朋友可以先去看该贴,软件在楼主的附件里.这里只写如何破解的.
(这是该贴的地址:http://bbs.pediy.com/showthread.php?t=47803)

好,言归正传:

脱壳完毕后用W32Dasm反汇编,查找关键字符串"invail license code"

:004A58FF E81411F6FF              Call 00406A18
:004A5904 6A00                    push 00000000
:004A5906 668B0DA8594A00          mov cx, word ptr [004A59A8]
:004A590D B202                    mov dl, 02

* Possible StringData Ref from Data Obj ->"Registered successfully."
                                  |
:004A590F B8645A4A00              mov eax, 004A5A64
:004A5914 E80B10FBFF              call 00456924
:004A5919 8BC6                    mov eax, esi
:004A591B E850D5F5FF              call 00402E70
:004A5920 C7833402000001000000    mov dword ptr [ebx+00000234], 00000001
:004A592A EB15                    jmp 004A5941

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A586E(C)            ;这里显示错误的跳转是由004A586E有条件的跳转过来的
|
:004A592C 6A00                    push 00000000
:004A592E 668B0DA8594A00          mov cx, word ptr [004A59A8]
:004A5935 B201                    mov dl, 01

* Possible StringData Ref from Data Obj ->"Invalid license code."    ;定位到这里, 向上看
                                  |
:004A5937 B8B4594A00              mov eax, 004A59B4
:004A593C E8E30FFBFF              call 00456924

于是我们到004A586E查看

:004A585D E8262DF6FF              call 00408588
:004A5862 8B55EC                  mov edx, dword ptr [ebp-14]
:004A5865 8B45F8                  mov eax, dword ptr [ebp-08]
:004A5868 E837E8F5FF              call 004040A4       ;关键call,我们到od中在此处下断点
:004A586D 48                      dec eax
:004A586E 0F85B8000000            jne 004A592C    ;显示为不等则跳到错误处
:004A5874 B201                    mov dl, 01

* Possible StringData Ref from Data Obj ->""

---------------------------------------------------
OD加载脱壳后的软件,到004A5868 中下断点,F9运行,点击register,输入用户名和code(这里用户名我填写独孤剑,code我写74747474),点击OK,在OD中断在了004A5868处,看堆栈区,是不是发现了我们的注册码还有一个不知道是什么的字符串?

0012F204   0012F568  指针到下一个 SEH 记录
0012F208   004A5999  SE 句柄
0012F20C   0012F240
0012F210   0012F3B8
0012F214   00E3EF84
0012F218   00000000
0012F21C   00000000
0012F220   00000000
0012F224   00000000
0012F228   00E3EF74  ASCII "74747474"
0012F22C   00E3664C  ASCII "74747474"
0012F230   00E38FFC  ASCII "0F46A5C1BB9C0935"
0012F234   00E3B570
0012F238   00E38FFC  ASCII "0F46A5C1BB9C0935"
0012F23C   00E38890

我怀凝0F46A5C1BB9C0935就是真实注册码,试试再说,用户名我仍用独孤剑,注册码用
0F46A5C1BB9C0935,点击OK,听到一声翠响,恭喜,注册成功.下面是成功截图.

总结:这个软件是明文显示注册码所以比较容易破解,如果是要跟踪算法的那种就比较麻烦一些了.不过只要大家有恒心好好练就一定能成功的.相信不久大家会成为高手.呵呵我是小菜一个,写这篇文章只是为了与大家交流下,高手不要见笑啊.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
  • 2.jpg (45.49kb,51次下载)
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
2
支持,怎么不分析算法
2007-7-11 11:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
顶一下,看来高手还是挺多的
2007-7-11 11:42
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
FinalRecovery,用的着
2007-7-11 12:07
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以这只是一种思路,如果你在堆中没有发现的话????
2007-7-11 13:23
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
呵呵如果堆中没有发现那自然就得像2楼说的跟踪算法了,个人比较懒啊,所以就不跟踪算法了的.有兴趣的朋友可以跟下.有
注:其注册码其实在这个cal的前一部分就已经得出了的.
2007-7-11 13:33
0
游客
登录 | 注册 方可回帖
返回
//