吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4905|回复: 14
收起左侧

[分享] nck课程笔记:破解补丁工具的使用

[复制链接]
n1in 发表于 2021-7-2 11:07

破解一个程序的时候我们可以通过搜索字符串的方式来寻找关键点,那么假如我们在编写一个程序的时候,怎么提防这种简单的暴破方式呢?
上一篇文章中已经提到过od里面实现搜索字符串功能是一个插件,视频中的作者给我们展示了一下这个插件的源码,下图是插件的核心函数:

可以看出,该函数显示读取整个模块的内存,然后开始寻找push,mov,lea指令,并读取他们的操作数,当他读到'\0'的时候就认为这是一个字符串,但是问题也来了,如下图

我们可以看到,上图的push ebp中的ebp是以\0结尾的,但是很明显,这并不是一个字符串,而是一个结构体。但是他却读到'\0'的时候就停止了并判定这是一个字符串,这样就导致了真正的字符串并没有读取,只读取了\0就结束了。而ida则是直接通过搜索pe文件的。

说了这么多,那么我们到底该如何防止搜索字符串呢?我们新建一个vs windows控制台程序,然后在od中的地址栏中右键修改二进制

然后输入注册失败,接着修改它的值,将14中的1改为0,

然后将字符串的二进制复制下来。(点击二进制,然后赋值二进制)粘贴在刚刚新建的vs中(说的这么麻烦,其实就是修改一下字符串的值,添加了一个\0,然后将十六进制复制到了我们写的的VS中)

写好了,接下来找到生成的exe拖入od中,再次搜索,芜湖,查找失败,用ida试一下,芜湖,也是查找失败。其实,废话这么多,原理很简单,因为我们是以十六进制的方式输入的字符串,od当然就查找不到了。。。。(主要记一下操作步骤)。
但是,当我们将str[]定义成全局变量时,却发现又可以查找出来了。
为什么呢?老师没有讲,而是当作思考题留了下来,说实话我想不出来T^T,以后有思路了再来更新吧。

字符串查完了又牵扯出了昨天的一个遗留问题,关于多线程的问题,什么是多线程呢?个人理解就是每个计算机程序都是一个进程,而每个进程都由一个或多个线程组成。(这里有个文章讲的很详细https://blog.csdn.net/beidaol/article/details/89135277)言归正传,我们之前分析的都是一个单线程的exe,可当我们碰到多线程的时候就会出现这种情况。如下图:

我们会卡到reet这里无法执行,遇到这种情况直接点击t窗口右键回复所有线程就可以了,我们接着往下单步执行,过了一会儿,我们发现地址怎么一下子变得这么大,直接由004变为了7开头。我们看一下上面那个标题,发现我们现在在kernal模块里,这明显不对啊,我们按-号退回一步,

退回一步以后:

出现了这种代码,这里我们一定要记住这种样子的代码,这种代码就是多线程的代码。也是e语言里面典型的线程特征。那么我们来看一下e语言如何写多线程exe。

既然知道这是多线程了,那我们怎么找到我们想要进的线程呢?

然后选择绿色的,红色的是我们当前cpu所在的的位置

然后就能轻松找到关键点了。

接下来就该使用破解补丁工具了
当我们在破解一个程序时,如果遇到这种情况的话,就该使用到我们的补丁破解工具了。

我们记住要修改的内存地址

然后打开xh补丁制作工具。

输入地址和我们想要修改成的内容,然后把目标文件拖拽进去。ok,生成成功。

第二个工具是pyg官方补丁工具,操作过程都一样,但是这个工具却给我们生成了一个dll文件。啊这,怎么运行嘞?我们先把生成的dll文件拖到我们破解的exe文件的路径下,然后就发现exe文件破解成功了,为什么呢?是因为每一个程序在运行的时候都会加载很多的dll文件,而我们把生成的dll文件放到exe文件的路径下的话,exe文件就会优先加载我们放入的dll文件,而而不是继续去系统里面寻找dll文件,这种方法也叫dll劫持。

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
Hmily + 5 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| n1in 发表于 2021-7-2 17:03
yasenhacker 发表于 2021-7-2 16:22
看你的桌面好眼熟,,,你是不是那个“画眉”啊???.net逆向研究的那个

注意标题哈哈哈,我看的就是画眉的课记的笔记啊,nck啊
yasenhacker 发表于 2021-7-2 17:12
n1in 发表于 2021-7-2 17:03
注意标题哈哈哈,我看的就是画眉的课记的笔记啊,nck啊

哈哈哈,看来那个人是传奇,,,
cptw 发表于 2021-7-2 13:00
成熟的美羊羊 发表于 2021-7-2 13:41
系统dll好像大多不能劫持(我猜的)
penz 发表于 2021-7-2 15:05
学习了,谢谢
yasenhacker 发表于 2021-7-2 16:22
看你的桌面好眼熟,,,你是不是那个“画眉”啊???.net逆向研究的那个
 楼主| n1in 发表于 2021-7-2 17:36
yasenhacker 发表于 2021-7-2 17:12
哈哈哈,看来那个人是传奇,,,

哈哈哈,传奇中的传奇了
heilang99 发表于 2021-7-2 20:08
nck,画眉大佬的
gaobaonan 发表于 2021-7-2 20:17
哈哈哈,看来那个人是传奇,,,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-26 01:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表