看雪软件安全论坛



返回   看雪软件安全论坛 > 初学者园地 > 『求助问答区』

Expired Thread 该主题: "【原创】Ultra RM Converter3.5.0411破解手记" 因在一年内没有任何回复而自动关闭。
如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。

发表新主题 关闭主题
 
主题工具 显示模式
MissileCat
级别:1 | 在线时长:7小时 | 升级还需:5小时

初级会员
初级会员

资 料:
注册日期: Apr 2007
帖子: 12 MissileCat 品行端正
精华: 0
现金: 200 Kx
1 旧 2008-04-18, 16:14:32 icon15 【原创】Ultra RM Converter3.5.0411破解手记
MissileCat 当前离线

近日需将一rm转成mpeg,网上遍寻得此软件,可惜要注册收钱.祭出peid,检查为MoleBox v2.0壳,小子孤陋寡闻,未尝见过。好你个王八,以为披个马甲偶就认你是乌龟啊!立马调出windbg动态追踪,IDA静态排查,步骤如下:
用IDA载入该软件,不需要看反汇编结果,直接degugger菜单->start process,出一消息框,确认,程序就跑起来出现注册窗口了。随便填个用户名:MissileCat,密码:20080415,点确认,出错误用户消息框。
degugger菜单->take memory snapshot选all segments取内存影象。
结束程序。
IDA别关,开windbg
菜单启动Ultra RM Converter软件
命令: g 这时将出现注册窗口,点debug菜单->break断下程序
命令:bp peekmessagea "j(poi(poi(esp+4)+4)=0x201)'';'gc'"下消息断点,鼠标左键单击即断
命令:bp messageboxa 下对话框断点,出出错对话框即断
命令:g 继续运行
点用户名框准备输入用户名,此时会断下,不用管,再g,输入用户名:MissileCat,按tab继续输入密码:20080415 点注册,此时程序又断下,记下地址:
eax=00000001 ebx=77d1d7f9 ecx=00437c38 edx=0042d038 esi=0012ab4c edi=00000000
eip=77d1c96c esp=0012aab4 ebp=00437c6c iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
USER32!PeekMessageA:
77d1c96c 8bff            mov     edi,edi
命令:g 继续运行,此时又断:
eax=0043437c ebx=0012ab4c ecx=000806c4 edx=00ab0608 esi=0012ab4c edi=00437c38
eip=77d5058a esp=0012a434 ebp=0012abac iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
USER32!MessageBoxA:
77d5058a 8bff            mov     edi,edi
关键了,打开windbg汇编窗口跟进:
按shift+F11跳出过程,在Ultra RM Converter那边点确认后,将跳出messageboxa API
程序来到这儿:
73d8de1d ff15b065dd73    call    dword ptr [MFC42!_imp__MessageBoxA (73dd65b0)]
73d8de23 5e              pop     esi
73d8de24 c20c00          ret     0Ch
命令:s -a 1 0xfffffff "20080415" 查找密码地址
001576c8  32 30 30 38 30 34 31 35-00 00 00 00 00 00 00 00  20080415........
00373f38  32 30 30 38 30 34 31 35-00 f0 ad ba 0d f0 ad ba  20080415........
命令:ba r 1 0x373f38下断
点击错误对话框的确定后,再次点注册,在peekmessage中断后,会中断在这个位置
eax=0012a3c4 ebx=00000000 ecx=00000008 edx=7c92eb94 esi=000607e4 edi=00373f38
eip=77d32152 esp=0012a3ac ebp=0012a3d4 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000206
USER32!GetWindowTextA+0x1f:
77d32152 8b4d08          mov     ecx,dword ptr [ebp+8] ss:0023:0012a3dc=000607e4
打开反汇编窗口,连续按几次shift+f11跳出几个dll调用来到用户区域:
00413007 83c664          add     esi,64h
看看反汇编情况为:
00413001 57              push    edi
00413002 e87f290100      call    image00400000+0x25986 (00425986)
00413007 83c664          add     esi,64h
0041300a 56              push    esi
IDA还没关吧 点jump 菜单下的jump to address ,输入00413002
0:00413000                 dd 7FE85700h, 83000129h, 685664C6h, 404h, 2970E857h, 5E5F0001h
这是IDA刚dump下的内存区,也就是壳解压出来的代码
右键undifine那段东东,有一警告框,点确定
然后在00413002的位置右键点code,为什么呢,在windbg中我们已知道这就是一个call指令的地址
_0:00413002                 call    sub_425986
_0:00413007                 add     esi, 64h
_0:0041300A                 push    esi
_0:0041300B                 push    404h
_0:00413010                 push    edi
_0:00413011                 call    sub_425986
_0:00413016                 pop     edi
_0:00413017                 pop     esi
_0:00413018                 retn    4
在windbg的debug菜单点stop debug停止调试
在idapro _0:00413002  的位置设在这个位置上设硬件断点,方法是按f2,然后右键选Edit breakpoint 点hard break,然后在ida pro的debugger菜单下点运行,程序将断在
_0:00413002                 call    sub_425986
继续运行程序,输入用户名:MissileCat及密码:20080415,点注册后程序又中断,用f8跟进,遇到mfc42之类的东东就ctrl+f7跳出,直到
0:004130A8 lea     esi, [ebx+64h] 又回到用户代码区
继续f8跟
_0:00413293 call    sub_425A88                      ; 显示出错对话框
好了 应该就是0:004130A8到_0:00413293这段代码有问题
在0:004130A8下断点,重新运行程序,点注册,直到在这个位置断下
然后f7单步跟,看一下其它的代码,因为只有这样才能看到一些解压的代码,不久后到了一个有趣的地方MBX@2A4@3C3238.___:00B11640 mov     eax, large fs:0这东东不用说是一个she(结构化异常处理),这种玩意儿常用来欺骗调试器,小心了
看看代码,有戏:
MBX@2A4@3C3238.___:00B116E9 loc_B116E9:                             ; CODE XREF: sub_B11640+DE j
MBX@2A4@3C3238.___:00B116E9 mov     al, [esp+ecx+3A0h+var_318]
MBX@2A4@3C3238.___:00B116F0 cmp     al, 20h
MBX@2A4@3C3238.___:00B116F2 jz      short loc_B11717
MBX@2A4@3C3238.___:00B116F4 test    al, al
MBX@2A4@3C3238.___:00B116F6 jz      short loc_B11717
MBX@2A4@3C3238.___:00B116F8 cmp     al, 30h
MBX@2A4@3C3238.___:00B116FA jl      short loc_B11700
MBX@2A4@3C3238.___:00B116FC cmp     al, 39h
MBX@2A4@3C3238.___:00B116FE jle     short loc_B11717
MBX@2A4@3C3238.___:00B11700
MBX@2A4@3C3238.___:00B11700 loc_B11700:                             ; CODE XREF: sub_B11640+BA j
MBX@2A4@3C3238.___:00B11700 cmp     al, 61h
MBX@2A4@3C3238.___:00B11702 jl      short loc_B11708
MBX@2A4@3C3238.___:00B11704 cmp     al, 7Ah
MBX@2A4@3C3238.___:00B11706 jle     short loc_B11717
MBX@2A4@3C3238.___:00B11708
MBX@2A4@3C3238.___:00B11708 loc_B11708:                             ; CODE XREF: sub_B11640+C2 j
MBX@2A4@3C3238.___:00B11708 cmp     al, 41h
MBX@2A4@3C3238.___:00B1170A jl      short loc_B11710
MBX@2A4@3C3238.___:00B1170C cmp     al, 5Ah
MBX@2A4@3C3238.___:00B1170E jle     short loc_B11717
判断我们的用户名是否为数字和字母
mov     cl, [esp+eax+3A0h+var_318]
MBX@2A4@3C3238.___:00B11729 mov     bl, [esp+eax+3A0h+var_110]
MBX@2A4@3C3238.___:00B11730 add     cl, bl
MBX@2A4@3C3238.___:00B11732 mov     [esp+eax+3A0h+var_214], cl
开始计注册码了,有兴趣的可以看看它是怎么加密的
我是没那兴趣了,点graph view看图表
00B11971 jnz     loc_B119FA 这个跳转就是天堂和地狱的分别了,到这一点后
我直接看[esp+eax+3A0h+var_318]的位置,密码在那静静徜着呢:
:0012A138 var_318 db 30h
Stack[0000040C]:0012A139 db  32h ; 2
Stack[0000040C]:0012A13A db  34h ; 4
Stack[0000040C]:0012A13B db  42h ; B
Stack[0000040C]:0012A13C db  33h ; 3
Stack[0000040C]:0012A13D db  42h ; B
Stack[0000040C]:0012A13E db  31h ; 1
Stack[0000040C]:0012A13F db  36h ; 6
Stack[0000040C]:0012A140 db    0
转为字串就是:024B3B16
收工!
此文为学习目的,学偶这种没钱一族就当温习一下汇编知识,希望各位还是要尊重别人的劳动成果,有钱的还是买正版吧,

回复时引用此帖 返回顶端
雷神十三
级别:4 | 在线时长:44小时 | 升级还需:1小时

雷神十三 的头像

初级会员
初级会员

资 料:
注册日期: Aug 2007
帖子: 140 雷神十三 品行端正
精华: 0
现金: 190 Kx
2 旧 2008-04-18, 16:47:06 默认
帅哥 雷神十三 当前离线

不错了~~~

回复时引用此帖 返回顶端
jjedkd
级别:1 | 在线时长:6小时 | 升级还需:6小时

初级会员
初级会员

资 料:
注册日期: Apr 2008
帖子: 20 jjedkd 品行端正
精华: 0
现金: 200 Kx
3 旧 2008-04-20, 08:39:46 默认
jjedkd 当前离线

不错!~学习了!~对汇编不感冒怎么办啊!~

回复时引用此帖 返回顶端
yingyue
级别:33 | 在线时长:1254小时 | 升级还需:38小时级别:33 | 在线时长:1254小时 | 升级还需:38小时级别:33 | 在线时长:1254小时 | 升级还需:38小时

yingyue 的头像

普通会员
普通会员

资 料:
注册日期: May 2007
帖子: 1,548 yingyue 品行端正
精华: 0
现金: 462 Kx
4 旧 2008-04-20, 10:26:01 默认
yingyue 当前在线

这个软件用 OD 不用5分钟 KO,但楼主用上了 IDA 和 WINDBG 来解密,貌似复杂了

但学习使用才是要支持的

回复时引用此帖 返回顶端
不安
级别:0 | 在线时长:2小时 | 升级还需:3小时

初级会员
初级会员

资 料:
注册日期: Mar 2007
帖子: 7 不安 品行端正
精华: 0
现金: 200 Kx
5 旧 2008-04-23, 11:39:11 默认
不安 当前离线

学习...支持楼主......

回复时引用此帖 返回顶端
林芝宝
级别:0 | 在线时长:0小时 | 升级还需:5小时

林芝宝 的头像

初级会员
初级会员

资 料:
注册日期: Apr 2008
帖子: 5 林芝宝 品行端正
精华: 0
现金: 200 Kx
6 旧 2008-04-23, 11:58:55 默认
帅哥 林芝宝 当前离线

我的天啊 我看不懂 看样了还有好长路要走啊

回复时引用此帖 返回顶端
发表新主题 关闭主题

书签
Expired Thread 该主题: "【原创】Ultra RM Converter3.5.0411破解手记" 因在一年内没有任何回复而自动关闭。
如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。


主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子
论坛启用 BB 代码
论坛启用 表情符号
论坛跳转

相似的主题
主题 主题作者 版面 回复 最后发表
【原创】360SafeBox 学习手记 炉子 『软件调试论坛』 13 2008-03-03 17:37:45
调试逆向 【原创】某网游盗号木马实现手记 dummy 『软件调试论坛』 32 2008-02-04 18:38:01
【原创】手脱bambam V0.01壳(讲解手脱未知壳的经验) coderui 『CrackMe◇ReverseMe』 2 2008-01-02 09:49:04
【原创】Armadillo 3.78 - 4.xx脱壳手记 wuhanqi 『加壳与脱壳』 1 2007-08-30 13:32:34
【原创】如何破解手机游戏 dsds小白兔 『经典问答』 4 2007-08-05 18:28:19


所有时间均为北京时间。现在的时间是 21:53:57


©2000-2010 PEdiy.com All rights reserved.By PEDIY
Powered by vBulletin ®Jelsoft Enterprises Ltd. 增强包制作PHP源动力.界面支持standme Studio.