//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(源码)相关推荐

  1. 超详细preact hook源码逐行解析

    本文通过对preact的hook源码分析,理解和掌握react/preact的hook用法以及一些常见的问题.虽然react和preact的实现上有一定的差异,但是对于hook的表现来说,是基本一致的 ...

  2. Hook源码+插件化实现无闪烁换肤

    现在的移动端应用,在实现功能需求的同时,还会在用户体验上进行突破,以增加用户黏性.例如,很多场景都加入了日/夜间主题切换,或者类似于网易云音乐的换肤.那么,当我们碰到类似的需求时,应该怎么来实现呢?更 ...

  3. 再次给力分享一对一直播脚本直播伴侣松鼠直播管家后台协议发送xp框架安卓原生hook源码

    本次分享 一对一直播脚本  直播伴侣,松鼠直播管家 创播直播助手 root版后台协议发送的安卓原生开发源码! 上次分享一个一对一直播自动聊天脚本保护生态高山流水核心JS源码 该源码是安卓原生开发,可以 ...

  4. Android 抖音 发消息Call 调用 实现群发消息 代码hook源码

    * 注意:发送消息前,需要先获取[通讯录好友列表]再调用发送消息Call //hook版 public void sendMsg( String userid){try {//cl_onCreatef ...

  5. Android发送消息的核心代码,Android 抖音 发消息Call 调用 实现群发消息 代码hook源码...

    * 注意:发送消息前,需要先获取[通讯录好友列表]再调用发送消息Call //hook版 public void sendMsg( String userid){ try { //cl_onCreat ...

  6. tapable源码分析

    webpack 事件处理机制Tapable webpack 的诸多核心模块都是tapable的子类, tapable提供了一套完整事件订阅和发布的机制,让webpack的执行的流程交给了订阅的插件去处 ...

  7. Flutter 路由源码解析

    前言 这一次,我尝试以不贴一行源代码的方式向你介绍 Flutter 路由的实现原理,同时为了提高你阅读源码的积极性,除了原理介绍以外,又补充了两个新的模块:从源码中学习到的编程技巧,以及 阅读源码之后 ...

  8. 你连《Android高级UI与FrameWork源码》都搞不懂学什么Android?还敢面试阿里P7!

    Android高级UI与FrameWork源码 重要性? 这块知识是现今使用者最多的,我们称之为Android2013~2016年的技术,但是,即使是这样的技术,Android开发者也往往因为网上Co ...

  9. vue3源码分析--真的有必要掌握框架的细枝末节吗?

    古人云:工欲善其事必先利其器,磨刀不误砍柴工.但是砍柴的人需要知道怎么制作刀吗? 注意:本文先分析要不要学源码,然后分析要不要掌握源码的每一个细枝末节(深究技术)!!! 为什么要学源码 为了面试被迫学 ...

最新文章

  1. huffman树和huffman编码
  2. 微服务海量日志怎么处理,推荐你试试这款工具....
  3. Korn Shell: typeset
  4. [NSDI 17] TuX2: 面向机器学习的分布式图计算系统 学习总结
  5. 关于Java中final关键字的详细介绍
  6. Error: Network is unreachable. Reason: couldn‘t connect to server localhost:27017(连接mongodb数据库失败)
  7. Spring Security——org.springframework.security.oauth:spring-security-oauth2项目已过时解决方案
  8. 音视频技术开发周刊 | 201
  9. react获取URL中参数
  10. 全国计算机等级考试题库二级C操作题100套(第08套)
  11. 中缀表达式转后缀表达式 java_中缀表达式转后缀表达式并计算结果Java实现
  12. js调用摄像头麦克风,截取摄像头图像 js调用摄像头录像保存本地
  13. python金融数据分析马伟明_Python金融数据分析
  14. Proteus常用元件对照表(最全)
  15. 一个周末掌握IT前沿技术之node.js篇一:Node.js与javascript
  16. C语言 · 求arccos值
  17. cad多段线画圆弧方向_cad怎么把多段线变成弧线
  18. windows系统有那些服务器版本,windows系统有哪些版本
  19. css单线边框_css中的border-collapse属性如何设置表格边框线?(代码示例)
  20. 使用Jquery制作精美的图片展示效果

热门文章

  1. 数组静态初始化【应用】
  2. SpringBoot_配置-配置文件的加载位置
  3. 验证用户输入的是不是中文名字 淘宝精品案例 元素样式设置的方式 链式编程
  4. java 调用 dll 乱码_java调用c++ dll出现中文乱码
  5. webservice的css哪里添加,jQuery_XML+XSLT+CSS+JQuery+WebService组建Asp.Net网(2), 3.       更 - phpStudy...
  6. autoflowchart软件使用步骤_编程怎么入门,7个步骤带你飞, 网友:上车!
  7. sql动态拼接<if>标签嵌套<foreach>判空、if失效等问题
  8. maven jetty运行时,js无法保存
  9. 改变软件开发者的形象,增加多样性
  10. 【转载】eclipse常用插件在线安装地址或下载地址