- 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文件夹 -- 也就是视频学习的那些内容,估计只有花了钱,作者才会给你吧,,意淫一下先。。
至此,完胜。。
破解补丁,略!
|
评分
-
查看全部评分
|