新手逆向(2)——快速查找指定代码以及简单的打补丁

快速查找指定代码

1.执行代码
顾名思义就是不断执行(F8)即可,直到找到我们所需的函数(一般找一些有明显特征的函数)。该方法适用于代码量不大,程序功能明确的情况,适用范围小。
2.搜索字符串
即我的新手逆向(1)中所用的搜索方法
3.字符串检索法
如图所示新手逆向(2)——快速查找指定代码以及简单的打补丁代码窗口右键操作即可
4.API检索法

(1).所有模块间的调用+(2).所有模块中的名称——在上图可看到这个词
哈哈,人懒,主要是感觉不是经常用,而且必须要了解这个函数,可能我还不太会吧。

打补丁

借用新手逆向(1)来说事吧,这个挺好玩的
介绍2种简单的修改字符串的方法吧
1.直接修改数据窗口缓冲区
新手逆向(2)——快速查找指定代码以及简单的打补丁
找到这个函数,看push后的地址,在数据窗口直接右键->转到->表达式
输入地址即可来到hello world缓冲区;再数据窗口直接右键->二进制->编辑
修改ASCLL即可
新手逆向(2)——快速查找指定代码以及简单的打补丁
注意:如果新的字符串比原字符串长,则修改后可能损坏后面的字符串的数据,小心使用

保存文件:
修改后在数据窗口右键->复制到可执行文件
会出现如下图
新手逆向(2)——快速查找指定代码以及简单的打补丁在小窗口右键->保存文件,即可
此时已经修改成功了,运行保存的.exe文件就会发现修改成功

2.在数据窗口未利用的内存区新建字符串并将其传递给消息函数
新手逆向(2)——快速查找指定代码以及简单的打补丁来到这里后,在数据窗口往下拉
新手逆向(2)——快速查找指定代码以及简单的打补丁这就是程序中未使用的区域
在此区域编辑想要输出的消息(与1类似)
新手逆向(2)——快速查找指定代码以及简单的打补丁
将地址422F98传递给MessageBox函数,如图所示
新手逆向(2)——快速查找指定代码以及简单的打补丁
这个不需要保存就可以直接运行看到哦

今天就到这里