- 博客(8)
- 收藏
- 关注
原创 Detours Hook 工具源码阅读二
Detours除了提供Hook API,还提供了一些Dll注入的API。文本详细介绍了Detours Create Process & Load Dll 相关的API是如何实现的。
2024-05-21 20:24:10
578
原创 Detours Hook 工具源码阅读一
拦截代码是在运行时动态应用的。Detours 将目标函数中前几条指令替换为跳转到用户提供的 替换函数(detour function) 的无条件跳转。来自目标函数的指令(被替换掉的指令)被放在来 蹦床(trampoline)。蹦床 的地址被放在了 目标指针(target pointer)。替换函数可以替换目标函数,也可以通过指向蹦床的目标指针将目标函数作为子程序调用来扩展其语义。拦截(Detour)一个函数有两个必要准备:1 一个指向目标函数的指针;2 一个替换函数。
2024-05-19 20:58:45
1067
1
原创 wxWeights Demo学习(四)bombs
RTTI 实现展开如下生成一个静态成员变量event机制一个静态常量成员,。指向自己基类同名成员指向自己一个静态成员。一个静态常量数组保存ID和成员函数的对应关系如果有 name 的 Class已经注册过了,返回相关注册信息。否则调用Windows API注册一个。注册信息保存在全局vector中。反向操作清理资源的函数(销毁对象前调用)wxApp继承关系图wxFrame继承关系图wxPanel的继承关系类图还是有点复杂的,超出预期。那我们从关系的视角入手分析吧。
2023-06-08 21:21:43
86
原创 wxWeights Demo学习(三)bombs
程序的初始化在OnInit中实现,但是windows程序的入口是winMain()怎么调过来的呢?,其实不然,这个对象在构造函数里就完成了自己的使命,此行执行过后它就没有存在的意义了。函数一共两行,抛去第一行支线情节,只做了创建并返回BombsApp这个工作。看注释是在初始RTTI机制,挺重要的,但不是主线情节,略。看名字就知道,这是初始化app用的对象。终于看的比较清楚了,有点累。有空再补两个图,先歇了。做初始化工作,析构函数在必要的时候调用全局函数。,于是我们终于看到了BombsApp的某一层基类。
2023-06-06 21:59:44
58
原创 wxWeights Demo学习(二)bombs
红框区域就是Panel了,我理解是Frame(窗口)中内容部分。我们验证一下。OnPaint里画红色矩形。果然!
2023-05-03 11:05:10
64
原创 2023重拾C++
近期要维护一个古老的wxWidgets项目,于是需要重拾c++ + 学习wxWidgets,明显是浩大的工程,借机我也想梳理一下自己的c++技术栈。说干就干!搞起!
2023-04-30 15:53:14
130
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人