文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃破解文章 → 资源提取王V1.30简要分析

资源提取王V1.30简要分析

时间:2004/10/15 1:03:00来源:本站整理作者:蓝点我要评论(0)

 





 








开 发 商:  http://lmj9602.tongtu.net
破解工具:TRW2000,Pescan3.31,Windows自带计算器
作者声明:初学破解,仅作学习交流之用,失误之处敬请大侠赐教

首先用Pe-scan查了一下,是asprotect1.2x保护,用Guw脱壳,蓝屏! :o !本人脱壳水平顶多学前班,没办法,还是用老朋友TRW伺侯!
首先任意填入用户名:ShenGe[BCG] 和假码12345678-56789012("-"不须填入)
在我的机器上的软件序列号为"da407580baa09560"
下断点bpx getwindowtexta,运行程序,按F12、F10走到如下代码:
0167:00416B00  CALL     `MFC42!ord_000018BE`
0167:00416B05  LEA      ECX,[ESP+1C]
0167:00416B09  CALL     `MFC42!ord_0000021C`
0167:00416B0E  LEA      ECX,[ESP+18]
0167:00416B12  MOV      DWORD [ESP+2C],00
0167:00416B1A  CALL     `MFC42!ord_0000021C`
0167:00416B1F  PUSH     ECX
0167:00416B20  LEA      EBP,[ESI+64]
0167:00416B23  MOV      ECX,ESP
0167:00416B25  MOV      [ESP+24],ESP
0167:00416B29  PUSH     EBP
0167:00416B2A  MOV      BYTE [ESP+34],01
0167:00416B2F  CALL     `MFC42!ord_00000217`
                       <---取输入假码的前半部分"12345678"
0167:00416B34  MOV      ECX,ESI
0167:00416B36  CALL     004169C0
                       <---此Call之后,EAX=12345678,字串值--->Hex
0167:00416B3B  PUSH     ECX
0167:00416B3C  LEA      EBX,[ESI+68]
0167:00416B3F  MOV      ECX,ESP
0167:00416B41  MOV      [ESP+24],ESP
0167:00416B45  PUSH     EBX
0167:00416B46  MOV      EDI,EAX
                       <---EDI=EAX=12345678
0167:00416B48  CALL     `MFC42!ord_00000217`
                       <---取输入假码的后半部分"56789012"
0167:00416B4D  MOV      ECX,ESI
0167:00416B4F  CALL     004169C0
                       <---同上,EAX=56789012
0167:00416B54  LEA      ECX,[EDI-20]
                       <---ECX=12345678-20=12345658
0167:00416B57  LEA      EDI,[EAX+80]
                       <---EDI=56789012+80=56789092   
0167:00416B5D  XOR      ECX,19820615
                       <---与19820615作或运算,作者生日?
                           ECX=12345658^19820615=BB6504D
0167:00416B63  LEA      EAX,[ESP+1C]
0167:00416B67  PUSH     ECX
0167:00416B68  PUSH     DWORD 004214E4
                       <---004214E4中为固定串"d2f92e31"
0167:00416B6D  PUSH     EAX
0167:00416B6E  XOR      EDI,19820615
                       <---EDI与19820615作或运算
                           EDI=56789092^19820615=4FFA9687
0167:00416B74  CALL     `MFC42!ord_00000B02`
                       <---此Call没有跟进,看寄存器结果是将上
                       面的Hex值BB6504转换成小写字符串"bb6504d"
0167:00416B79  PUSH     EDI
0167:00416B7A  LEA      ECX,[ESP+28]
0167:00416B7E  PUSH     DWORD 004214E4
                       <---004214E4中为固定串"d2f92e31"
0167:00416B83  PUSH     ECX
0167:00416B84  CALL     `MFC42!ord_00000B02`
                       <---同上,返回值为"4ffa9687"
0167:00416B89  ADD      ESP,BYTE +18
0167:00416B8C  LEA      EDI,[ESI+60]
0167:00416B8F  LEA      EDX,[ESP+20]
0167:00416B93  MOV      ECX,EDI
0167:00416B95  PUSH     BYTE +08
0167:00416B97  PUSH     EDX
0167:00416B98  CALL     `MFC42!ord_00001021`
0167:00416B9D  MOV      EAX,[EAX]
                       <---EAX=da407580,机器码的前半部分
0167:00416B9F  MOV      BYTE [ESP+2C],02
0167:00416BA4  PUSH     EAX
0167:00416BA5  MOV      EAX,[ESP+20]
                       <---EAX=bb6504d,运算后得到的值
0167:00416BA9  PUSH     EAX
0167:00416BAA  CALL     `MSVCRT!_mbscmp`
                       <---关键比较1
0167:00416BB0  ADD      ESP,BYTE +08
0167:00416BB3  TEST     EAX,EAX
0167:00416BB5  JNZ      00416BF3
                       <---跳就完了
0167:00416BB7  LEA      ECX,[ESP+14]
0167:00416BBB  PUSH     BYTE +08
0167:00416BBD  PUSH     ECX
0167:00416BBE  MOV      ECX,EDI
0167:00416BC0  CALL     `MFC42!ord_0000164E`
0167:00416BC5  MOV      EAX,[EAX]
                       <---EAX=baa09560,序列号的后部分
0167:00416BC7  MOV      EDX,[ESP+18]
                       <---EDX=4ffa9687
0167:00416BCB  PUSH     EAX
0167:00416BCC  PUSH     EDX
0167:00416BCD  CALL     `MSVCRT!_mbscmp`
                       <---关键比较2
0167:00416BD3  ADD      ESP,BYTE +08
0167:00416BD6  LEA      ECX,[ESP+14]
0167:00416BDA  TEST     EAX,EAX
0167:00416BDC  SETZ     [ESP+13]
                       <---注意[ESP+13]中的值,由上面的比较结果而定,                                                     后面会用到,为1则注册成功!
0167:00416BE1  CALL     `MFC42!ord_00000320`
0167:00416BE6  MOV      AL,[ESP+13]
                       <---[ESP+13]中的值赋给AL,标志位噢!
0167:00416BEA  MOV      BYTE [ESP+13],01
0167:00416BEF  TEST     AL,AL
0167:00416BF1  JNZ      00416BF8
                       <---记得要跳噢!
0167:00416BF3  MOV      BYTE [ESP+13],00
                       <---置[ESP+13]中为0
0167:00416BF8  LEA      ECX,[ESP+20]
0167:00416BFC  MOV      BYTE [ESP+2C],01
0167:00416C01  CALL     `MFC42!ord_00000320`
0167:00416C06  MOV      AL,[ESP+13]
0167:00416C0A  TEST     AL,AL
0167:00416C0C  JZ       NEAR 00416C9A
                       <---此处不能跳
0167:00416C12  LEA      EAX,[ESP+20]
0167:00416C16  LEA      ECX,[ESP+14]
0167:00416C1A  XOR      EDI,EDI
0167:00416C1C  PUSH     EAX
0167:00416C1D  PUSH     ECX
0167:00416C1E  PUSH     EDI
0167:00416C1F  PUSH     DWORD 000F003F
0167:00416C24  PUSH     BYTE +01
0167:00416C26  PUSH     DWORD 004225D8
0167:00416C2B  PUSH     EDI
0167:00416C2C  PUSH     DWORD 00421500
0167:00416C31  PUSH     DWORD 80000000
0167:00416C36  MOV      [ESP+38],EDI
0167:00416C3A  MOV      [ESP+44],EDI
0167:00416C3E  CALL     `ADVAPI32!RegCreateKeyExA`
                       <---写注册表
0167:00416C44  MOV      EDX,[EBP+00]
0167:00416C47  MOV      ECX,EBP
0167:00416C49  MOV      EAX,[EDX-08]
0167:00416C4C  PUSH     EAX
0167:00416C4D  PUSH     EAX

到此我们基本清楚了软件的算法,很容易就可逆推到正确的注册码:
以我的软件序列号为例(注册码只与软件序列号有关)
注册码第1部分:DA407580 ^ 19820615+20=C3C273B5
注册码第2部分:BAA09560 ^ 19820615-80=A32292F5

试试行不行,填入此注册码后关闭,再重新运行,讨厌的提示窗口没有了
,标题的未注册标志没了!搞定!

    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程