- UID
 - 2
 
 注册时间2004-12-1
阅读权限255
最后登录1970-1-1
总坛主 
    
 
 
 
TA的每日心情  | 开心 2024-12-1 11:04 | 
|---|
 
  签到天数: 12 天 [LV.3]偶尔看看II  
 | 
 
【破文名称】一个全局变量引起的灭门惨案2+决战VS200*动态基址 
【软件名称】职称计算机考试软件系列 
【破文作者】飘云/P.Y.G 
【官方网站】https://www.chinapyg.com 
【程序版本】5.0 
【下载地址】http://www.zhichengjsj.com/zxrd 
【破解步骤】 
 
由于老飘不懂算法,不懂脱壳,不懂编程,所以只能教下三滥滴另类玩法。。别喷~~ 
 
我选择了:word2007模块  
 
OD反复载入几次发现基址在变化,哈哈,明显的勾选了VC200*的动态基址开关【严格的说是默认开关】,见图: 
 
 
 
 
 
根据经验,我们找到如下位置----注意,你的偏移地址可能不会是这里~ 
 
- 004B5C7C    E8 1FD7FFFF     CALL    Word2007.004B33A0                ; F7进去
 
 - 004B5C81    A3 68226300     MOV     DWORD PTR DS:[0x632268], EAX     ; // 全局变量
 
 
  复制代码- 004B33A0    55              PUSH    EBP
 
 - 004B33A1    8BEC            MOV     EBP, ESP
 
 - 004B33A3    6A FF           PUSH    -0x1
 
 - 004B33A5    68 54AE5800     PUSH    Word2007.0058AE54
 
 - 004B33AA    64:A1 00000000  MOV     EAX, DWORD PTR FS:[0]
 
 - 004B33B0    50              PUSH    EAX
 
 - 004B33B1    83EC 34         SUB     ESP, 0x34
 
 - 004B33B4    A1 44076300     MOV     EAX, DWORD PTR DS:[0x630744]
 
 - 004B33B9    33C5            XOR     EAX, EBP
 
 - 004B33BB    50              PUSH    EAX
 
 - 004B33BC    8D45 F4         LEA     EAX, DWORD PTR SS:[EBP-0xC]
 
 - 004B33BF    64:A3 00000000  MOV     DWORD PTR FS:[0], EAX
 
 - 004B33C5    894D D8         MOV     DWORD PTR SS:[EBP-0x28], ECX
 
 - 004B33C8    C745 F0 0100000>MOV     DWORD PTR SS:[EBP-0x10], 0x1
 
 - 004B33CF    8B45 10         MOV     EAX, DWORD PTR SS:[EBP+0x10]
 
 - 004B33D2    50              PUSH    EAX
 
 - 004B33D3    68 60C35D00     PUSH    Word2007.005DC360                ; full ----- 完整版
 
 - 004B33D8    8B4D 0C         MOV     ECX, DWORD PTR SS:[EBP+0xC]
 
 - 004B33DB    51              PUSH    ECX
 
 - 004B33DC    8B55 08         MOV     EDX, DWORD PTR SS:[EBP+0x8]
 
 - 004B33DF    52              PUSH    EDX
 
 - 004B33E0    8D45 EC         LEA     EAX, DWORD PTR SS:[EBP-0x14]
 
 - 004B33E3    50              PUSH    EAX
 
 - 004B33E4    8B4D D8         MOV     ECX, DWORD PTR SS:[EBP-0x28]
 
 - 004B33E7    E8 D4F5FFFF     CALL    Word2007.004B29C0
 
 - 004B33EC    C745 FC 0000000>MOV     DWORD PTR SS:[EBP-0x4], 0x0
 
 - 004B33F3    8B4D 14         MOV     ECX, DWORD PTR SS:[EBP+0x14]
 
 - 004B33F6    51              PUSH    ECX
 
 - 004B33F7    8D55 EC         LEA     EDX, DWORD PTR SS:[EBP-0x14]
 
 - 004B33FA    52              PUSH    EDX
 
 - 004B33FB    E8 3017E7FF     CALL    Word2007.00324B30
 
 - 004B3400    83C4 08         ADD     ESP, 0x8
 
 - 004B3403    0FB6C0          MOVZX   EAX, AL                          ; 改法很多,我随便改了   MOVZX EAX,DL
 
 - 004B3406    85C0            TEST    EAX, EAX
 
 - 004B3408    74 0C           JE      SHORT Word2007.004B3416          ; 这里不跳就是完整版
 
 - 004B340A    C745 F0 0400000>MOV     DWORD PTR SS:[EBP-0x10], 0x4     ; 可以看到赋值为4了,,意思就是4为完整版
 
 - 004B3411    E9 27010000     JMP     Word2007.004B353D
 
 
  复制代码 
这样你可以保存修改后的EXE了,因为没校验。O(∩_∩)O哈哈~,是不是很简单呢? 
 
恩,确实很简单,, 
天天拿着主程序开刀,经常会被高手鄙视~~ 
 
有同学会问了,如果要做全系列通杀补丁咋办呢? 
 
好,来分析下。: 
目前,我的文件载入基址为:00320000 
见图: 
 
 
 
 
通过基础知识,我们知道,无论基址怎么变,绝对偏移是不会变滴: 
 
那么绝对偏移 = 0x004B3403 - 0x00320000 = 0x193403 
 
OK了,知道了上面的逻辑,我们就可以写DLL爆菊花了。。 
 
DLL编程步骤: 
1.取得载入基址 
2.加上绝对偏移 
3.开始patch 
 
通杀DLL编程步骤----可以无视动态基址,哈哈,很帅吧? 
1.取得载入基址 
2.特征码定位算法获取patch地址 
3.开始patch 
 
 
 
另外,要显示“完整版” 需要在 dat 目录下建立一个 video文件夹 -- 也就是视频学习的那些内容,估计只有花了钱,作者才会给你吧,,意淫一下先。。 
 
至此,完胜。。 
 
破解补丁,略! 
 
 
 
 
 
 
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |