安全中国首页 > 文章中心 > 反跟踪技术
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

游戏修改软件FPE在破解中的妙用

更新时间:2007-11-30 1:12:49
责任编辑:高远
热 点:
用FPE确定关键地址后爆破之

开始之前先来看一个段子吧

硬件断点(跟踪关键标志的断点) 
硬件断点是Olldbg所特有的断点,他不会因为重新运行就销毁,只要不删除。跟踪这个程序时就有效。但他在98系统下会不起作用。 硬件断点是根据关键标志回逆到关键代码的好方法。下中断的方法和内存断点的方法相同,有三个方式〔硬件访问〕、〔硬件写入〕、〔硬件执行〕。一般用前2个。他也同样有内存断点的特性,所以可以用内存断点的地方也可以用硬件断点。这里介绍利用他来跟踪注册标志的使用方法,一般软件的注册都用到了标志比较。即在内存地址中有一个标志,在判断是不是注册时比较标志的值。不同的值表示不同的注册状态。这个标志的地址一般比较固定。根据这个特点可以下硬件断点来跟踪标志位是什么地方被标志的。 方法:在转存窗口中选择到标志存放的内存地址处,然后选择标志值。下〔硬件写入〕中断(根据标志的字节下不同的长度)。重新运行程序你会发现Ollydbg会不断的中断在这个标志的内存地址处。在功能菜单的〔调试〕选项下选择〔硬件断点〕就打开了硬件断点的窗口,在这个窗口中选择〔跟踪〕,这时转存窗口就会来到被下中断的内存地址处。运行程序跟踪内存地址中的值就会知道被赋标志的代码,跟踪到计算的核心。〔硬件访问〕的使用可以知道程序在运行时多少地方用到了这个注册标志。对于破解复杂效验的程序十分的有效。

今天我用来演示的是一个可以把mp3文件压得更小的软件DietMP3.exe,本来我是没空听mp3的 但我的美眉老师(一个医术高出我很多倍的同事)一个人在外租房住,实在很可怜,我自然要拿出点风度出来邀到家里来玩,顺便下点歌到mp3中回去听,128M的东西嘛下了20多曲就快滿了,我就选中了这个软件压一压,妈的真少兴,没注册就只能压15个文件,挑了几个大点的压了压,庆幸的是美眉老师也很高兴且还有5次没有用完,呵呵

好了闲话少说我们开始吧,用OD载入,发现是一个VB写的,要在模块中下断了,由于我水平次了点,填写注册信息后下断,断是断开了却没跟到对自己有用的东西,突然发现这个破软件的界面上居然有个计数器,每压完一个文件计数器减1,想起前些日子玩过新仙剑游戏,是可见数据就用游戏修改吧,把放这个数据的地方找出来,fpe2000的使用我想不用多说了吧,经过三次变化之后就只有一个地址了4B0054H,把这个地方改成”15”,回到游戏,不回到软件中看到计算器又是15了,一阵狂喜又能用了,呵呵,把这个地址记下来以后要用.先把15改为零发现软件可运行却不能用来压缩,关了它,这时用OD载入先用F9让它运行起来,作好压歌的准备,在内存窗口4B0054处下个硬件访问断点,用byte就行了,点开始压缩,第一次中断在

0049E356   .  85C0          TEST EAX,EAX
0049E358      0F85 A2000000 JNZ DietMP3.0049E400   就是这里
0049E35E   .  66:830D 9C004>OR WORD PTR DS:[4B009C],0FFFF
就是这里经典的比较后跳转,还等什么修改之,改为jmp最好,若改成jz如果还有一次没完就过不去了,如果是第一次用这个软件,那么你做的破解版就不能用了,明白了吗?按F9第二次断在了如下地方

0049FB94     /0F8E A4020000 JLE DietMP3.0049FE3E   这里改为jmp
0049FB9A     |0FBF05 9C004B>MOVSX EAX,WORD PTR DS:[4B009C]
修改后的样子0049FB94     /E9 A5020000   JMP DietMP3.0049FE3E
0049FB99     |90            NOP
0049FB9A     |0FBF05 9C004B>MOVSX EAX,WORD PTR DS:[4B009C]

第三次
00498EEF  |.  85C0          TEST EAX,EAX
00498EF1      0F85 2B010000 JNZ DietMP3.00499022
00498EF7  |.  833D 10004B00>CMP DWORD PTR DS:[4B0010],0

修改后如下
00498EEF  |.  85C0          TEST EAX,EAX
00498EF1      E9 2C010000   JMP DietMP3.00499022
00498EF6      90            NOP
00498EF7  |.  833D 10004B00>CMP DWORD PTR DS:[4B0010],0

经过这三次后,发现压缩成功了,做个破解版吧
在od中右键 复制到可执行文件\全部修正 在出现的下一个界面上选”保存文件”就行了.运行一下试试,计数器为0文件压缩也成功了 哇塞成为无限次版的了,爽.

 
相关文章
一日一文章
 
一日一软件
一日一动画