本类共有 70 篇文章,今日更新 0

图片磨牙器 菜鸟破解简析

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 18:30:29 | 浏览: 人次 ]


【破解作者】 pentacle 
【使用工具】 OllyDbg1.10,PEid0.93 
【破解平台】 XP SP2 
【软件名称】 图片磨牙器.exe V1.0 
【软件简介】 一个图片特效工具,有多种特效,还可以把图片转为字符画....... 
未注册版有50次使用限制。 
【软件大小】 386K 
【加壳方式】 UPX 
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:) 
-------------------------------------------------------------------------------- 
【破解内容】 


现在正处在上不上下不下的位置,太难的追不出来,太简单的又浪费时间。刚好想起原先在XX杂志光盘上的图片磨牙器(刚学会用OD那儿总喜欢追出注册码,碰到的第一个不是明码比较的,为了不让自己信心受挫,便先掠在一边了),嘿嘿........ 
用PEid0.93查是UPX的壳,手动脱壳搞定,都不用修复IAT表,脱壳后1.33M。 
运行后注册,无提示。不管,用OD载入。查找ASCII字符。(小提示,一般用关键字"注册""Reg"都可以快速找到我们要的) 
我们来到这儿 
004C7A4B    E8 04C4F3FF     CALL 图片磨牙.00403E54                       ; 判断注册名和注册码的位数 
004C7A50    3BD8            CMP EBX,EAX                                  ; 注册码长度=注册名长度*2+2 
004C7A52    75 75           JNZ SHORT 图片磨牙.004C7AC9                  ; 注册名长度和注册码长度不符就跳走 
004C7A54    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C] 
004C7A57    E8 F8C3F3FF     CALL 图片磨牙.00403E54 
004C7A5C    8BD0            MOV EDX,EAX 
004C7A5E    85D2            TEST EDX,EDX 
004C7A60    7E 23           JLE SHORT 图片磨牙.004C7A85 
004C7A62    B8 01000000     MOV EAX,1 
004C7A67    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C] 
004C7A6A    8A4C01 FF       MOV CL,BYTE PTR DS:[ECX+EAX-1]               ; 依次取注册名字符的ASCII值 
004C7A6E    8B5D F8         MOV EBX,DWORD PTR SS:[EBP-8] 
004C7A71    3A4C03 FF       CMP CL,BYTE PTR DS:[EBX+EAX-1]               ; 注册名与计算后的值对比 
004C7A75    74 0A           JE SHORT 图片磨牙.004C7A81                   ; 不相等就OVER 
004C7A77    E8 28BCF3FF     CALL 图片磨牙.004036A4 
004C7A7C    E9 85000000     JMP 图片磨牙.004C7B06 
004C7A81    40              INC EAX 
004C7A82    4A              DEC EDX 
004C7A83  ^ 75 E2           JNZ SHORT 图片磨牙.004C7A67                  ; 循环校验注册名与计算后的值 
004C7A85    B8 6C7B4C00     MOV EAX,图片磨牙.004C7B6C                    ; 谢谢您注册本软件! 

根据上面的对比,我们肯定是找不着真的注册码了。只好继续找吧 
004C6DDC    E8 E71BF4FF     CALL 图片磨牙.004089C8                       ; 取注册码第1、2位初始EDI 
004C6DE1    8BF8            MOV EDI,EAX                                  ; 以后依次取出2位注册码作为EDI 
004C6DE3    C745 EC 0300000>MOV DWORD PTR SS:[EBP-14],3 
004C6DEA    8D45 C8         LEA EAX,DWORD PTR SS:[EBP-38] 
004C6DED    50              PUSH EAX 
004C6DEE    B9 02000000     MOV ECX,2 
004C6DF3    8B55 EC         MOV EDX,DWORD PTR SS:[EBP-14] 
004C6DF6    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4] 
004C6DF9    E8 5ED2F3FF     CALL 图片磨牙.0040405C 
004C6DFE    8B4D C8         MOV ECX,DWORD PTR SS:[EBP-38]            ; 取注册码第3、4位为EAX 
004C6E01    8D45 CC         LEA EAX,DWORD PTR SS:[EBP-34] 
004C6E04    BA EC6E4C00     MOV EDX,图片磨牙.004C6EEC 
004C6E09    E8 92D0F3FF     CALL 图片磨牙.00403EA0 
004C6E0E    8B45 CC         MOV EAX,DWORD PTR SS:[EBP-34] 
004C6E11    E8 B21BF4FF     CALL 图片磨牙.004089C8 
004C6E16    8BD8            MOV EBX,EAX 
004C6E18    3B75 F4         CMP ESI,DWORD PTR SS:[EBP-C] 
004C6E1B    7D 03           JGE SHORT 图片磨牙.004C6E20 
004C6E1D    46              INC ESI 
004C6E1E    EB 05           JMP SHORT 图片磨牙.004C6E25 
004C6E20    BE 01000000     MOV ESI,1 
004C6E25    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8] 
004C6E28    0FB64430 FF     MOVZX EAX,BYTE PTR DS:[EAX+ESI-1]        ; 每个循环依次取机器的ASCII值 
004C6E2D    33C3            XOR EAX,EBX                              ; EAX=EAX XOR EBX 
004C6E2F    8945 E8         MOV DWORD PTR SS:[EBP-18],EAX 
004C6E32    3B7D E8         CMP EDI,DWORD PTR SS:[EBP-18]            ; 异或后的EAX值与EDI(也就是上一轮最终EAX值)比较 
004C6E35    7C 0F           JL SHORT 图片磨牙.004C6E46 
004C6E37    8B45 E8         MOV EAX,DWORD PTR SS:[EBP-18]            ; EDI>=EAX 
004C6E3A    05 FF000000     ADD EAX,0FF                              ; EAX=EAX+0FF 
004C6E3F    2BC7       &n

[1] [2] 下一页

广告位