ifox 发表于 2010-6-3 13:36:48

精装友情通讯录——SMC另类绿化

本帖最后由 ifox 于 2010-6-4 22:58 编辑

【破文标题】精装友情通讯录SMC另类绿化
【破文作者】ifox
【破解工具】OD+ZeroAdder
【破解平台】WinXP Sp3
【软件名称】精装友情通讯录
【破解声明】学习技术,无他。

------------------------------------------------------------------------
【破解过程】目前通用的方式是用函数替代法来实现绿化,其实熟悉DOS的朋友应该知道当前目录的路径写法还有另外一个表示".\"即可。

下面就利用SMC的方式,修改软件获取到的系统目录,修改为".\"实现当前目录,从而达到绿化的目的。
=========================================
00514657|.68 6CCE5100    push    0051CE6C                         ; |Buffer = jzyq.0051CE6C
0051465C|.E8 AB2AEFFF    call    <jmp.&kernel32.GetSystemDirector>; \GetSystemDirectoryA
00514661|.8BC6         mov   eax, esi
00514663|.BA 6CCE5100    mov   edx, 0051CE6C                  ;ASCII "C:\WINDOWS\system32"
00514668|.B9 81000000    mov   ecx, 81
0051466D|.E8 1204EFFF    call    00404A84
00514672|.68 904A5100    push    00514A90                         ;ASCII "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
00514677|.FF36         push    dword ptr
00514679|.68 C84A5100    push    00514AC8                         ;ASCII "\mpdata.dat;Persist Security Info=False;Jet OLEDB:Database Password=dbfec5b91qaz2wsx3edc"
==================================
00514663|.BA 6CCE5100    mov   edx, 0051CE6C                  ;ASCII "C:\WINDOWS\system32"
这里是获取到的系统目录,字符串保存在内存0051CE6C中,我们去修改内存为".\",然后再把结果给EDX。

为了方便,直接使用ZeroAdder增加一个区段.patch,大小100Bytes,PEID查看区段地址,找到在程序中的位置为:005E8000.

修改00514663|.BA 6CCE5100    mov   edx, 0051CE6C                            ;ASCII "C:\WINDOWS\system32"代码为:

00514663    E9 98390D00                jmp   005E8000                           ;跳到我们的代码,修改代码如下:
005E8000    C705 6CCE5100 2E5C0000   mov   dword ptr , 005C2E         ;".\"HEX代码为2E5C,倒着赋值给内存地址,多余的部分给00,这里不显示
005E800A    C705 70CE5100 00000000   mov   dword ptr , 0            ;多余的都赋值成00
005E8014    C705 74CE5100 00000000   mov   dword ptr , 0
005E801E    C705 78CE5100 00000000   mov   dword ptr , 0
005E8028    BA 6CCE5100                mov   edx, 0051CE6C                      ;恢复原来地方的代码
005E802D- E9 36C6F2FF                jmp   00514668                           ;跳回程序原流程下一行继续执行。

到此完成SMC代码实现绿化。

zeknight 发表于 2010-6-3 13:50:17

这个不错~~简单易懂~

极点 发表于 2010-6-3 14:23:40

/:017   这个简单点。

wan 发表于 2010-6-3 15:07:52

我也比较喜欢这样的修改方法

pao 发表于 2010-6-3 18:00:16

哈哈,这个够绝的!

yayazhi 发表于 2010-6-3 18:10:14

思路很好/:good

qhd11 发表于 2010-6-3 19:18:10

很实用的方法,不 错啊

老万 发表于 2010-6-3 20:54:40

这个方法很好,学习了

whdl 发表于 2010-6-3 23:05:25

虽然不会弄,但大概意思看了。
多谢楼主的文章

int 发表于 2010-6-4 00:37:42

这个思路不错,哈哈,学习了!谢谢LZ
页: [1] 2 3
查看完整版本: 精装友情通讯录——SMC另类绿化