服务咨询热线:

022-88711099

当前位置:

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

发布时间:2011/11/18 23:02:56 作者:夜风冷 访问量:1412

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

游戏修改软件FPE在破解中的妙用
    本文发表于3年前
    用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文件压缩也成功了 哇塞成为无限次版的了,爽.
    

这篇为批量导入文章,以下为之前站内评论!

  • 夜风冷发表于 3年前