【翻译】R4ndom 破解教程全文翻译(For 新手):第十九章 翻译都是我理解的方式进行描述,可能和原文不一致。 正文开始 此次教程主要讲述补丁程序,补丁程序就是在程序中找到了补丁位置以及补丁方式,不修改程序,通过制作补丁程序来达到我们想要的效果。(注册或者显示好消息等),逆向工程师就会把这些补丁放到另一个副本中。通常情况下补丁程序是个小程序,是用来修改原始程序的,当运行补丁程序后,会去按照你制作的补丁对原始程序进行补丁,然后原始程序就能按照补丁后的效果运行了。 举个例子,现在你在网上下载了一个有试用期的程序,当试用结束时,你找到的补丁并且应用后,试用信息没有了。通过这次的教程我会教你怎么制作补丁程序,然后使用补丁程序精准的打上补丁,这样你就可以把这个补丁程序放到网上,其他用户则只需要到软件官方下载程序,使用你的补丁程序进行打补丁后,程序就能正常使用了。 另一种类似补丁程序是把程序进行加载,在没有打补丁的程序上是不能进行加载的。 此次教程中我们进行补丁程序的名字叫Saturday Night Creackme。这个程序进行破解是很简单的,我将用dUP2进行补丁程序制作,还需使用到CFF Explorer。当然最后我会提供这两个程序。 打开程序 当我们打开程序后,我们可以看到一个彩色图像 如果有音箱,请打开,程序会进行音乐播放。 输入注册码 然后点击 dance!,我们可以看到 对程序进行补丁,使用OD打开 查找字串参考 可以看到好消息和坏消息 看下从什么地方来到了坏消息处。 找到这个跳转 在这个跳转上设置一个断点,让程序跑起来,断下来,后面的请自己分析,我这里直接跳转到好消息4016C3处。 应用这个补丁,让程序跑起来,我们成功了 好了,我们要使用dUP2进行补丁程序制作。 dUP2和其他补丁程序不一样,它只有两种方式进行补丁,1是偏移补丁,2是搜索和替换补丁。偏移补丁:你要知道补丁相对程序的偏移地址,然后进行补丁。使用OD可以很容易找到补丁位置,然后进行补丁。所以我要找到在OD中补丁位置与文件起始地址的偏移值,使用dUP2进行补丁。 第二种方式,搜索和替换补丁,你要知道补丁位置的命令码,对它进行搜索然后替换为补丁后的命令码,然后生成补丁程序。 dUP2也可以对注册表进行补丁,像上一章中修改注册表,每隔255次进行一次补丁,就像生产了一个密钥,如果你经常使用软件的话255次很快就会结束。 最后,dUP2可以生成自定义皮肤,这样看上去程序界面比较美观。 启动dUP2,我们可以看到如下界面: 选择project->new: 这里我们可以输入一些信息,比如标题,作者,哪个程序的补丁等,填写完成后 点击save后来到
通常到这一步我会把这个工程保存下来以便后面使用,这样就不用再次填写上面的信息了。 现在我们要做补丁。右击后选择 Add 然后 Offset_Patch,界面会多出现一行 双击后打开: 这个界面就显示了补丁信息,我们点击… 按钮找到要补丁的程序 补丁模式可以选择Virtual Addresses 或者 RVA,而我们使用默认。 对比文件可以把远程程序和已经补丁后的程序进行对比,找到不一样的地方。 主要修改Add 和 Edit组。这就是我们填写偏移地址,原始数据和补丁数据的地方。 制作补丁程序 第一件事是找到地址并记下,原始值和补丁值。重新使用OD打开程序,来到401554处,记住原始的命令码 然后应用我们的补丁后看看变化 我们可以看到7A变成了69,然后我们把这一行和前一行的命令码记住:83f8110f857A010000. 现在使用CFF Explorer打开程序,点击Hex Editor 点击放大镜进行搜索刚刚记下的命令码 点击 Find 后可以找到 我们的7A偏移了956个字节,现在回到dUP2进行修改 然后点击Add 后来到 点击 Save 后就把补丁保存到我们的程序里面了 现在选择 Project ->Create Patch后,会在程序的同级目录生成一个Patch.exe,运行这个Patch后 点击Patch按钮后 我们可以看到Patch成功的信息。然后运行程序,显示成功了 注意patch程序必须和原始程序放在同一目录才有效。 使用搜索和替换方式 打开刚刚保存的dUP2工程,右击选择 Add->Search and replace Patch,双击后出现: 点击 Add 按钮 现在把刚刚的原始命令码和补丁命令码填到相应位置 选择 patch All,然后保存 (译者注:注意这里一个字节空一位否则保存不了) 再次点击Save来到主界面。但是现在我们要进行界面修改,附件中有SSECS cUP skin.zip 按照我上面的设置然后进行ProjectàCreate Patch,就生成了新的补丁程序,界面如下;
附上程序和原始文档 下次再见
|