提示:一定要在编译选项中将调试信息相关的编译连接选项去掉,否则程序体积会比较大,而且存在很多“干扰”信息。
提示,可执行文件中原有的空间有限,必须要新加入数据,加入数据后必须要修改.text字段中的指针。
提示,在调试器中定位控件缓存的内存地址,可以用搜索、逆向、消息截获分析、API截获分析等方法。
提示:找到运行结果在内存中保存的地址。监控 “=” 按键消息等。
API hook 的关键是编写一个假函数,用假函数的指针替换IAT中真函数的指针(当然这种方式只能对通过IAT调用的管用,但是够了。)在假函数调用真函数,修改真函数的参数和返回的数据,将修改后的数据返回给调用者。
首先需要分析dir是通过什么API的调用来遍历目录的,然后hook相关函数。
提示:系统内核底层的全局hook
提示:系统内核底层的全局hook和数据过滤
软件是数据和对数据的操作的集合。 软件安全就是研究软件的操作的具体过程、数据的具体形式,然后想办法获得、修改、破坏或者实施隐藏。又分为攻和防两个方面。 底层的软件,一次操作所能影响的数据少,操作的逻辑简单。 越到高层,一次操作所能影响的数据越多,操作的逻辑越复杂。 例如 指令 -> C语言语句 -> 函数 -> 对象 汇编 -> C -> C++ -> 各类脚本。 所以,我们进行软件攻防也有两种基本的方法。 hook 和 DKOM hook,挂钩,即找到程序中的原有代码,并修改其代码,增加、减少或者篡改原用功能。达到授权破解(keygen)、作弊(游戏外挂)、隐藏(隐蔽攻击痕迹防止被防御软件查杀)等目的。 DKOM,直接内核对象操作。是一种典型的直接对程序内部数据的攻击。