应用层勾子IAT HOOK(源码)
//www.yjxsoft.com 2010.6.26
//文件名 IAT.H
#include <windows.h>
VOID __stdcall mySleep(DWORD m)
{MessageBoxA(0,"Hook 成功","IAT hook",MB_OK);
}PVOID EnumAPI()
{ PBYTE ImageBase;PIMAGE_THUNK_DATA r; PIMAGE_NT_HEADERS pNtHeader; PIMAGE_IMPORT_DESCRIPTOR pImport; //取得DOS头基址ImageBase=(PBYTE)GetModuleHandle(NULL);//0x400000//PE头=ImageBase+[ImageBase+3c]pNtHeader = (PIMAGE_NT_HEADERS) (ImageBase + ((PIMAGE_DOS_HEADER) ImageBase)->e_lfanew); //IMAGE_DIRECTORY_ENTRY_IMPORT值为1 表示import tabalepImport = (PIMAGE_IMPORT_DESCRIPTOR) (ImageBase + pNtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); 遍历整个 输入表 for (; pImport->Name; pImport++) { printf("导入模块:%s\n",ImageBase+pImport->Name); //遍历IAT信息 PIMAGE_THUNK_DATA基址for (r = (PIMAGE_THUNK_DATA) (ImageBase + pImport->FirstThunk); r->u1.Function; r++) //枚举函数地址{ if (Sleep==(PVOID)r->u1.Function){ DWORD pSleep=(DWORD)(&r->u1.Function);__asm{mov ebx,pSleep /// mov ebx,0x42A190lea eax,mySleepmov [ebx],eax}}printf("Function=%x \n", &(r->u1.Function)); } } return NULL;
} int main(int argc, char* argv[])
{ //MessageBoxA(0,NULL,NULL,MB_OK) ;//MessageBoxW(0,NULL,NULL,MB_OK);EnumAPI();Sleep(111);return 0;
}
应用层勾子IAT HOOK(源码)相关推荐
- 超详细preact hook源码逐行解析
本文通过对preact的hook源码分析,理解和掌握react/preact的hook用法以及一些常见的问题.虽然react和preact的实现上有一定的差异,但是对于hook的表现来说,是基本一致的 ...
- Hook源码+插件化实现无闪烁换肤
现在的移动端应用,在实现功能需求的同时,还会在用户体验上进行突破,以增加用户黏性.例如,很多场景都加入了日/夜间主题切换,或者类似于网易云音乐的换肤.那么,当我们碰到类似的需求时,应该怎么来实现呢?更 ...
- 再次给力分享一对一直播脚本直播伴侣松鼠直播管家后台协议发送xp框架安卓原生hook源码
本次分享 一对一直播脚本 直播伴侣,松鼠直播管家 创播直播助手 root版后台协议发送的安卓原生开发源码! 上次分享一个一对一直播自动聊天脚本保护生态高山流水核心JS源码 该源码是安卓原生开发,可以 ...
- Android 抖音 发消息Call 调用 实现群发消息 代码hook源码
* 注意:发送消息前,需要先获取[通讯录好友列表]再调用发送消息Call //hook版 public void sendMsg( String userid){try {//cl_onCreatef ...
- Android发送消息的核心代码,Android 抖音 发消息Call 调用 实现群发消息 代码hook源码...
* 注意:发送消息前,需要先获取[通讯录好友列表]再调用发送消息Call //hook版 public void sendMsg( String userid){ try { //cl_onCreat ...
- tapable源码分析
webpack 事件处理机制Tapable webpack 的诸多核心模块都是tapable的子类, tapable提供了一套完整事件订阅和发布的机制,让webpack的执行的流程交给了订阅的插件去处 ...
- Flutter 路由源码解析
前言 这一次,我尝试以不贴一行源代码的方式向你介绍 Flutter 路由的实现原理,同时为了提高你阅读源码的积极性,除了原理介绍以外,又补充了两个新的模块:从源码中学习到的编程技巧,以及 阅读源码之后 ...
- 你连《Android高级UI与FrameWork源码》都搞不懂学什么Android?还敢面试阿里P7!
Android高级UI与FrameWork源码 重要性? 这块知识是现今使用者最多的,我们称之为Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Co ...
- vue3源码分析--真的有必要掌握框架的细枝末节吗?
古人云:工欲善其事必先利其器,磨刀不误砍柴工.但是砍柴的人需要知道怎么制作刀吗? 注意:本文先分析要不要学源码,然后分析要不要掌握源码的每一个细枝末节(深究技术)!!! 为什么要学源码 为了面试被迫学 ...
最新文章
- huffman树和huffman编码
- 微服务海量日志怎么处理,推荐你试试这款工具....
- Korn Shell: typeset
- [NSDI 17] TuX2: 面向机器学习的分布式图计算系统 学习总结
- 关于Java中final关键字的详细介绍
- Error: Network is unreachable. Reason: couldn‘t connect to server localhost:27017(连接mongodb数据库失败)
- Spring Security——org.springframework.security.oauth:spring-security-oauth2项目已过时解决方案
- 音视频技术开发周刊 | 201
- react获取URL中参数
- 全国计算机等级考试题库二级C操作题100套(第08套)
- 中缀表达式转后缀表达式 java_中缀表达式转后缀表达式并计算结果Java实现
- js调用摄像头麦克风,截取摄像头图像 js调用摄像头录像保存本地
- python金融数据分析马伟明_Python金融数据分析
- Proteus常用元件对照表(最全)
- 一个周末掌握IT前沿技术之node.js篇一:Node.js与javascript
- C语言 · 求arccos值
- cad多段线画圆弧方向_cad怎么把多段线变成弧线
- windows系统有那些服务器版本,windows系统有哪些版本
- css单线边框_css中的border-collapse属性如何设置表格边框线?(代码示例)
- 使用Jquery制作精美的图片展示效果
热门文章
- 数组静态初始化【应用】
- SpringBoot_配置-配置文件的加载位置
- 验证用户输入的是不是中文名字 淘宝精品案例 元素样式设置的方式 链式编程
- java 调用 dll 乱码_java调用c++ dll出现中文乱码
- webservice的css哪里添加,jQuery_XML+XSLT+CSS+JQuery+WebService组建Asp.Net网(2), 3. 更 - phpStudy...
- autoflowchart软件使用步骤_编程怎么入门,7个步骤带你飞, 网友:上车!
- sql动态拼接<if>标签嵌套<foreach>判空、if失效等问题
- maven jetty运行时,js无法保存
- 改变软件开发者的形象,增加多样性
- 【转载】eclipse常用插件在线安装地址或下载地址