_asm

{

push ebp;

mov ebp,esp;

mov edx,fs:[030h];

mov edx,[edx+08h];

mov eax,0x11111111;//eax->import table  使用时用导入表RVA代替

add eax,edx;

IMPORT:

cmp [eax],0;

jz OVER;

mov edi,[eax+0ch];

add edi,edx;

mov ebx,[eax+10h];

add ebx,edx;//IAT

IAT:

mov esi,[ebx];

cmp esi,0;

jz IMPORT2;

add esi,02h;

add esi,edx;

pushad;

push esi;//ProcName

push edi;//DllName

push ebx;//IAT Addr

call GetProc;

add esp,0ch;

popad;

add ebx,4;

jmp IAT;

IMPORT2:

add eax,014h;

jmp IMPORT;

OVER:

mov esp,ebp;

pop ebp;

mov eax,0x2222222;

add eax,edx;

push eax;

ret;

GetProc:

push ebp;

mov ebp,esp;

sub esp,0ch;

mov dword ptr [esp],'daoL';

mov dword ptr [esp+04h],'rbiL';

mov dword ptr [esp+08h],'Ayra';

mov byte ptr [esp+0ch],0;

push esp;

push 0x0000000d;

call FindLocalAddr;

mov ebx,dword ptr [ebp+0ch];

push ebx;

call eax;//DllNameHandle

push eax;

sub esp,010h;

mov dword ptr [esp],'PteG';

mov dword ptr [esp+04h],'Acor';

mov dword ptr [esp+08h],'erdd';

mov dword ptr [esp+0ch],'ss';

mov byte ptr [esp+0eh],0;

push esp;

push 0x0000000f;

call FindLocalAddr;

mov ebx,dword ptr [ebp+010h];

push ebx;

mov ebx,dword ptr [esp+01ch];

push ebx;

call eax;

mov ebx,dword ptr[ebp+08h];

mov [ebx],eax;

mov esp,ebp;

pop ebp;

ret;

FindLocalAddr:

push ebp;

mov ebp,esp;

mov eax,fs:[30h];

mov eax,[eax+0ch];

mov eax,[eax+0ch];

mov eax,[eax];

mov eax,[eax];

mov ebx,[eax+18h];

mov eax,dword ptr [ebx+3ch];

mov eax,dword ptr [eax+ebx+78h];

push eax;

mov eax,dword ptr [eax+ebx+20h];

xor edx,edx;

L1:mov edi,[eax+ebx];

add edi,ebx;

mov esi,dword ptr[ebp+0ch];

mov ecx,dword ptr [ebp+08h];

repe cmpsb;

jz  L2;

add eax,4h;

inc edx;

jmp L1;

L2:   pop eax;

sub esp,04h;

mov eax,[eax+ebx+24h];

mov ecx,edx;

L3:add eax,02h;

loop L3;

add eax,ebx;

mov ax,WORD PTR [eax];

pop edx;

mov edx,[edx+ebx+01ch];

imul ax,4;

and eax,0ffffh;

add edx,eax;

mov eax,[edx+ebx];

add eax,ebx;

mov esp,ebp;

pop ebp;

ret;

}

转载于:https://blog.51cto.com/nster/1194441

Get IAT Table相关推荐

  1. 必备绝技——Hook大法(上)

    [文章标题]: 必备绝技--Hook大法(上) [文章作者]: LvG [作者邮箱]: LvG2008@gmail.com [作者声明]: 这没有什么新鲜东西,其内容全部来自于前辈,姑且当作学习笔记. ...

  2. 必备绝技--Hook大法(上)

    必备绝技--Hook大法 标 题: [原创]必备绝技--Hook大法( 上 ) 作 者: Lvg 时 间: 2007-04-08,22:23 链 接: http://bbs.pediy.com/sho ...

  3. PE中的import table/IAT 分析

    本文将通过一个实例说明PE结构中的import table及import address table(IAT). 在data directory中有两项:IMAGE_DIRECTORY_ENTRY_I ...

  4. 解析导入表和IAT表

    一.导入表的结构 导入表的结构看起来复杂,其实只是套娃,不要被它吓到了. 导入表的定义如下: typedef struct _IMAGE_IMPORT_DESCRIPTOR {union {DWORD ...

  5. [安全攻防进阶篇] 七.恶意样本检测之编写代码自动提取IAT表、字符串及时间戳溯源

    系统安全绕不开PE文件,PE文件又与恶意样本检测及分析紧密相关.前文作者带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原.这篇文章主要介绍了PE文件基础知识及恶意样本检测的三种处理知识, ...

  6. 写一个PE的壳_Part 2:ASLR+修复输入表(IAT)+重定位表支持(.reloc)

    系列汇总 写一个PE的壳_Part 1:加载PE文件到内存 写一个PE的壳_Part 2:ASLR+修复输入表(IAT)+重定位表支持(.reloc) 写一个PE的壳_Part 3:Section里实 ...

  7. PE文件学习笔记(五):导入表、IAT、绑定导入表解析

    1.导入表(Import Descriptor)结构解析: 导入表是记录PE文件中用到的动态连接库的集合,一个dll库在导入表中占用一个元素信息的位置,这个元素描述了该导入dll的具体信息.如dll的 ...

  8. IAT表入门简析【滴水逆向三期52笔记】

    在讲IAT表之前,我们来回忆一下之前学习的知识: 如果我们将函数写在程序的源文件中,那么该函数就会被编译器直接编译到程序的二进制文件中,在程序调用该函数的时候,E8后跟的地址是直接写死的,程序直接在e ...

  9. 导入表解析,IAT表解析【滴水逆向三期53笔记】

    我们再上一章节简要介绍了IAT表,我们知道如果程序调用dll中的函数时,必须通过IAT表来找到函数,我们基本了解了IAT表之后,我们今天来讲解一下导入表,通过本章节的学习,我们可以了解导入表,也能对I ...

最新文章

  1. 机器学习笔记(十五)规则学习
  2. 200528更新arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1...
  3. 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
  4. 静态和动态include
  5. Foxconn Core Concept
  6. Akka Actor Inbox_信箱
  7. mips 系统桥_系统功能调用实现简单输入输出(mips)
  8. 计算机win7卡顿如何解决方法,win7系统运行卡顿的解决方法
  9. 产品经理面试指南,常见面试题及回答思路
  10. mysql nlssort_Oracle中文排序 NLSSORT
  11. 51nod 1629 B君的圆锥
  12. 华三华为交换机配置时间
  13. 【明解C语言】选择语句之switch
  14. adb发送什么命令能在手机屏幕弹窗显示_Android 手机投屏在 Ubuntu 上的方法
  15. java for class_Class forClass
  16. 稀疏数组(golang实现)
  17. c#中抽象类(abstract)和接口(interface)的相同点与区别
  18. Part-Ⅰ3. 稳态等效电路建模/损耗/效率(三)
  19. 自考本科推荐计算机考研学校,过来人谈考研:一个自考本科生的考研成功自述...
  20. emui与android的关系,EMUI

热门文章

  1. hfss仿真时间过长怎么解决_一文详解相控阵天线仿真技术
  2. sql server查询某一字段不重复的数据_初识数据库
  3. scanner 获取控制台信息_Java使用Scanner类进行控制台输入实现方法
  4. matlab重建算法stomp,压缩感知图像重建算法的研究现状及其展望.pdf
  5. Java语言跨平台性质的优点和缺点_机器人热门编程语言及优缺点分析
  6. VB案例:计算圆锥体积与面积
  7. 罗振宇2021跨年演讲2:除了规模中国还有什么优势?
  8. Python编程基础04:输入与输出
  9. bzoj1935 [Shoi2007]Tree 园丁的烦恼 二维偏序
  10. 2017.4.23 税收与补贴问题 思考记录