Nisy 发表于 2007-8-27 00:22:18

批量更名专家(RenameWiz) V2.2 简单分析

软件大小: 841 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 文件更名
应用平台: Win9x/NT/2000/XP/2003
界面预览: 无
更新时间: 2003-07-31 09:20:50
天空下载: http://www.skycn.com/soft/7412.html

看到慕容大哥弄这个软件,下载看一下,简单说下思路好了,算法部分不看了,简单说下暴破思路。

对重启验证的软件,我一般都是在他弹出需要重启验证对话框时下断点来查看软件将注册信息保存到了哪里。


004A936D    E8 C6F0FFFF   CALL RenameWi.004A8438                   ; F7进去后下断这肯定是启动时候的验证
004A9372    3C 01         CMP AL,1
004A9374    75 1D         JNZ SHORT RenameWi.004A9393
004A9376    6A 00         PUSH 0
004A9378    B9 10954A00   MOV ECX,RenameWi.004A9510                ; 批量更名专家 v2.2
004A937D    BA 24954A00   MOV EDX,RenameWi.004A9524                ; 批量更名专家 v2.2您已经是注册用户,谢谢您的支持!
004A9382    A1 0C794B00   MOV EAX,DWORD PTR DS:
004A9387    8B00            MOV EAX,DWORD PTR DS:
004A9389    E8 4A6FFAFF   CALL RenameWi.004502D8
004A938E    E9 47010000   JMP RenameWi.004A94DA
004A9393    8D55 F0         LEA EDX,DWORD PTR SS:
004A9396    8B83 D8020000   MOV EAX,DWORD PTR DS:
004A939C    E8 BF87F8FF   CALL RenameWi.00431B60
004A93A1    8B45 F0         MOV EAX,DWORD PTR SS:
004A93A4    8D55 FC         LEA EDX,DWORD PTR SS:
004A93A7    E8 08F9F5FF   CALL RenameWi.00408CB4
004A93AC    8D55 EC         LEA EDX,DWORD PTR SS:
004A93AF    8B83 DC020000   MOV EAX,DWORD PTR DS:
004A93B5    E8 A687F8FF   CALL RenameWi.00431B60
004A93BA    8B45 EC         MOV EAX,DWORD PTR SS:
004A93BD    8D55 F8         LEA EDX,DWORD PTR SS:
004A93C0    E8 EFF8F5FF   CALL RenameWi.00408CB4
004A93C5    837D FC 00      CMP DWORD PTR SS:,0
004A93C9    74 06         JE SHORT RenameWi.004A93D1
004A93CB    837D F8 00      CMP DWORD PTR SS:,0
004A93CF    75 0F         JNZ SHORT RenameWi.004A93E0
004A93D1    B8 60954A00   MOV EAX,RenameWi.004A9560                ; 请输入作者发送给您的注册码认证,谢谢!
004A93D6    E8 35CCFAFF   CALL RenameWi.00456010
004A93DB    E9 FA000000   JMP RenameWi.004A94DA
004A93E0    B2 01         MOV DL,1
004A93E2    A1 10AA4700   MOV EAX,DWORD PTR DS:
004A93E7    E8 2417FDFF   CALL RenameWi.0047AB10
004A93EC    8945 F4         MOV DWORD PTR SS:,EAX
004A93EF    33D2            XOR EDX,EDX
004A93F1    55            PUSH EBP
004A93F2    68 AF944A00   PUSH RenameWi.004A94AF
004A93F7    64:FF32         PUSH DWORD PTR FS:
004A93FA    64:8922         MOV DWORD PTR FS:,ESP
004A93FD    BA 02000080   MOV EDX,80000002
004A9402    8B45 F4         MOV EAX,DWORD PTR SS:
004A9405    E8 A617FDFF   CALL RenameWi.0047ABB0
004A940A    B1 01         MOV CL,1
004A940C    BA 90954A00   MOV EDX,RenameWi.004A9590                ; \software\zigsoft\renamewiz\
004A9411    8B45 F4         MOV EAX,DWORD PTR SS:             ; 我们输入的注册信息他就撂这了
004A9414    E8 FB17FDFF   CALL RenameWi.0047AC14
004A9419    84C0            TEST AL,AL
004A941B    74 3E         JE SHORT RenameWi.004A945B



注册信息放到了注册表,从上方明显就可以得出验证上方的是算法CALL,由于没猜错才话,软件启动时候的验证Call就是那。

004A8438    55            PUSH EBP
004A8439    8BEC            MOV EBP,ESP
004A843B    83C4 F4         ADD ESP,-0C
004A843E    53            PUSH EBX
004A843F    56            PUSH ESI
004A8440    57            PUSH EDI
004A8441    C645 FF 00      MOV BYTE PTR SS:,0
004A8445    B2 01         MOV DL,1
004A8447    A1 10AA4700   MOV EAX,DWORD PTR DS:
004A844C    E8 BF26FDFF   CALL RenameWi.0047AB10
004A8451    8945 F8         MOV DWORD PTR SS:,EAX
004A8454    33D2            XOR EDX,EDX
004A8456    55            PUSH EBP
004A8457    68 37854A00   PUSH RenameWi.004A8537
004A845C    64:FF32         PUSH DWORD PTR FS:
004A845F    64:8922         MOV DWORD PTR FS:,ESP
004A8462    BA 02000080   MOV EDX,80000002
004A8467    8B45 F8         MOV EAX,DWORD PTR SS:
004A846A    E8 4127FDFF   CALL RenameWi.0047ABB0
004A846F    B1 01         MOV CL,1
004A8471    BA 50854A00   MOV EDX,RenameWi.004A8550                ; \software\zigsoft\renamewiz\
004A8476    8B45 F8         MOV EAX,DWORD PTR SS:
004A8479    E8 9627FDFF   CALL RenameWi.0047AC14
004A847E    84C0            TEST AL,AL
004A8480    0F84 91000000   JE RenameWi.004A8517
~~中间省略~~
004A8517    837D F4 0A      CMP DWORD PTR SS:,0A            ; KEY得是10位 EBP-C是我们KEY的位数
004A851B    75 04         JNZ SHORT RenameWi.004A8521            ; 把这里NOP掉就OK了
004A851D    C645 FF 01      MOV BYTE PTR SS:,1



时间关系,算法就不看了,太忙了~~

给一个SCM补丁:

0058D3B0   /E9 B7010000   JMP RenameWi.0058F191
0058D3B5   |90            NOP
0058D3B6   |90            NOP
0058D3B7   |C2 0C00         RETN 0C
0058D3BA   |68 0C4F4B00   PUSH RenameWi.004B4F0C
0058D3BF   |C3            RETN

0058F191    66:C705 1B854A0>MOV WORD PTR DS:,9090
0058F19A^ E9 1BE2FFFF   JMP RenameWi.0058D3BA


在给一个现在有在流行的DLL破解文件~~ 把DLL文件放到目标软件就达到注册了~~

郑宇鸣 发表于 2007-8-27 01:23:08

这个lpk.dll是仅针对本软件么

这里也有个8楼
https://www.chinapyg.com/viewthread.php?tid=17768&extra=page%3D1

myselfsky 发表于 2007-8-27 01:35:16

在给一个现在有在流行的DLL破解文件~~ 把DLL文件放到目标软件就达到注册了~~
...
试了一下,太神奇了!非常想知道这是用了什么原理:lol:

shenhaiyu 发表于 2007-9-15 16:28:56

呃,不知道Nisy老大注意没有,该软件有不少暗桩,按照上面的方法爆破后某些功能还是无法使用,比如文件名插入字符就无法正常使用。
以下菜鸟我做些补充,希望大虾们不要见怪/:001

====================================================================
004AF362   .8BD8                MOV EBX,EAX
004AF364   .8B45 FC             MOV EAX,DWORD PTR SS:
004AF367   .8B80 38030000       MOV EAX,DWORD PTR DS:
004AF36D   .E8 7A18FBFF         CALL RenameWi.00460BEC
004AF372   .83F8 05             CMP EAX,5                            ;Switch (cases 0..5)
004AF375   .0F87 53010000       JA RenameWi.004AF4CE
004AF37B   .FF2485 82F34A00   JMP DWORD PTR DS:
004AF382   .9AF34A00            DD RenameWi.004AF39A               ;Switch table used at 004AF37B
004AF386   .AAF34A00            DD RenameWi.004AF3AA
004AF38A   .E0F34A00            DD RenameWi.004AF3E0
004AF38E   .16F44A00            DD RenameWi.004AF416
004AF392   .CEF44A00            DD RenameWi.004AF4CE
004AF396   .4CF44A00            DD RenameWi.004AF44C
004AF39A   >8D55 F8             LEA EDX,DWORD PTR SS:         ;Case 0 of switch 004AF372
004AF39D   .8B45 FC             MOV EAX,DWORD PTR SS:
004AF3A0   .E8 9BD8FFFF         CALL RenameWi.004ACC40
004AF3A5   .E9 24010000         JMP RenameWi.004AF4CE
004AF3AA   >8BC3                MOV EAX,EBX                        ;Case 1 of switch 004AF372
004AF3AC   .33D2                XOR EDX,EDX
004AF3AE   .52                  PUSH EDX                           ; /Arg2 => 00000000
004AF3AF   .50                  PUSH EAX                           ; |Arg1
004AF3B0   .8D55 DC             LEA EDX,DWORD PTR SS:      ; |
004AF3B3   .B8 08000000         MOV EAX,8                            ; |
004AF3B8   .E8 0F9BF5FF         CALL RenameWi.00408ECC               ; \RenameWi.00408ECC
004AF3BD   .8B45 DC             MOV EAX,DWORD PTR SS:      ;以下这些跳转,可能与文件校验有关
004AF3C0   .BA 84F64A00         MOV EDX,RenameWi.004AF684            ;ASCII "29F06D30"
004AF3C5   .E8 264CF5FF         CALL RenameWi.00403FF0               ;破解后下断点跟踪一下
004AF3CA   .0F85 FE000000       JNZ RenameWi.004AF4CE                ;看看内存中实际值是多少
004AF3D0   .8D55 F8             LEA EDX,DWORD PTR SS:         ;然后将004AF684处的值改过来
004AF3D3   .8B45 FC             MOV EAX,DWORD PTR SS:         ;不处理它们的话有些功能会失效
004AF3D6   .E8 F9DAFFFF         CALL RenameWi.004ACED4
004AF3DB   .E9 EE000000         JMP RenameWi.004AF4CE
004AF3E0   >8BC3                MOV EAX,EBX                        ;Case 2 of switch 004AF372
004AF3E2   .33D2                XOR EDX,EDX
004AF3E4   .52                  PUSH EDX                           ; /Arg2 => 00000000
004AF3E5   .50                  PUSH EAX                           ; |Arg1
004AF3E6   .8D55 D8             LEA EDX,DWORD PTR SS:      ; |
004AF3E9   .B8 08000000         MOV EAX,8                            ; |
004AF3EE   .E8 D99AF5FF         CALL RenameWi.00408ECC               ; \RenameWi.00408ECC
004AF3F3   .8B45 D8             MOV EAX,DWORD PTR SS:
004AF3F6   .BA 84F64A00         MOV EDX,RenameWi.004AF684            ;ASCII "29F06D30"
004AF3FB   .E8 F04BF5FF         CALL RenameWi.00403FF0
004AF400   .0F85 C8000000       JNZ RenameWi.004AF4CE
004AF406   .8D55 F8             LEA EDX,DWORD PTR SS:
004AF409   .8B45 FC             MOV EAX,DWORD PTR SS:
004AF40C   .E8 23DDFFFF         CALL RenameWi.004AD134
004AF411   .E9 B8000000         JMP RenameWi.004AF4CE
004AF416   >8BC3                MOV EAX,EBX                        ;Case 3 of switch 004AF372
004AF418   .33D2                XOR EDX,EDX
004AF41A   .52                  PUSH EDX                           ; /Arg2 => 00000000
004AF41B   .50                  PUSH EAX                           ; |Arg1
004AF41C   .8D55 D4             LEA EDX,DWORD PTR SS:      ; |
004AF41F   .B8 08000000         MOV EAX,8                            ; |
004AF424   .E8 A39AF5FF         CALL RenameWi.00408ECC               ; \RenameWi.00408ECC
004AF429   .8B45 D4             MOV EAX,DWORD PTR SS:
004AF42C   .BA 84F64A00         MOV EDX,RenameWi.004AF684            ;ASCII "29F06D30"
004AF431   .E8 BA4BF5FF         CALL RenameWi.00403FF0
004AF436   .0F85 92000000       JNZ RenameWi.004AF4CE
004AF43C   .8D55 F8             LEA EDX,DWORD PTR SS:
004AF43F   .8B45 FC             MOV EAX,DWORD PTR SS:
004AF442   .E8 4DDFFFFF         CALL RenameWi.004AD394
004AF447   .E9 82000000         JMP RenameWi.004AF4CE
004AF44C   >8BC3                MOV EAX,EBX                        ;Case 5 of switch 004AF372
004AF44E   .33D2                XOR EDX,EDX
004AF450   .52                  PUSH EDX                           ; /Arg2 => 00000000
004AF451   .50                  PUSH EAX                           ; |Arg1
004AF452   .8D55 D0             LEA EDX,DWORD PTR SS:      ; |
004AF455   .B8 08000000         MOV EAX,8                            ; |
004AF45A   .E8 6D9AF5FF         CALL RenameWi.00408ECC               ; \RenameWi.00408ECC
004AF45F   .8B45 D0             MOV EAX,DWORD PTR SS:
004AF462   .BA 84F64A00         MOV EDX,RenameWi.004AF684            ;ASCII "29F06D30"
004AF467   .E8 844BF5FF         CALL RenameWi.00403FF0
004AF46C   .75 60               JNZ SHORT RenameWi.004AF4CE
=======================================================================
004AF679      F7                                 DB F7
004AF67A      20                                 DB 20                                    ;CHAR ' '
004AF67B      00                                 DB 00
004AF67C   .FFFFFFFF                           DD FFFFFFFF
004AF680   .08000000                           DD 00000008
004AF684   .33 31 36 30 42 39 42 36 00         ASCII "3160B9B6",0                     ;我的把这里按照16进制ASC改成这个就OK了
004AF68D      00                                 DB 00
004AF68E      00                                 DB 00
004AF68F      00                                 DB 00

lxk836 发表于 2007-9-15 18:34:06

回楼上的兄弟NISY 老大的方法SMC没问题的!脱壳后的程序只有用你的办法了 呵呵

Nisy 发表于 2007-9-15 22:33:47

脱壳后我倒是没弄过 因为我脱壳水平有限 一般能带壳调试的就带壳了 带壳找到关键点后 或SMC 或DLL暴掉均可 这样也可以省去对脱壳后文件自效检的处理. 看数值上可能是原程序的一个CRC的数值 ~ 没注意到这里 大意了 ~

lxk836 发表于 2007-9-15 23:01:56

DLL暴 没学过老大什么时候做个教程吧 学习一下

flyjmu 发表于 2007-9-16 01:23:17

感谢楼主分享 支持一下

shenhaiyu 发表于 2007-9-16 09:59:00

回复 7# 的帖子

呵呵,Nisy老大疏忽了,像我这样的菜鸟大多数还是先脱后破的,这软件就是一个ASP的壳,随便找个脱壳机就脱掉了,爆破后偶就发现了问题。。。当时还担心被这个软软格盘什么的呢,总感觉里面还有暗桩。。。

jjdg 发表于 2007-10-4 16:43:59

这个软件只是时间限制的问题!
只要修改注册表里面的一处键值即可解决,壳也不用脱,补丁也不用打!
页: [1] 2 3
查看完整版本: 批量更名专家(RenameWiz) V2.2 简单分析