展开

关键词

IAT 三连之什么是 IAT

IAT 的全称是 ImportAddress Table。 本文所用文件及源代码下载地址: https://pan.baidu.com/s/1o9360AI 学习 IAT 有什么用? 在免杀中也有对 IAT 的操作,比如隐藏导入表,修改导入表描述信息,移动导入表函数等等。 在 Hook 操作中也有相应的 IAT 钩子…… IAT 的数据结构 今天我们的目的是找出一个 PE 文件中所有的 DLL 以及每个 DLL 的导入函数并通过编程体会这一过程,先用一张图介绍一下 PE 手动查找 IAT 首先用 C32Asm 以十六进制模式打开 PE.exe,点击工具栏中的查看并单击PE信息,如图 ?

70410

IAT Hook

目录 IAT hook 一丶IAT 1.什么是 IAT表. 2.怎么进行HOOK IAT hook 一丶IAT 1.什么是 IAT表. 熟悉PE结构的应该知道.IAT 是导入表. 而IAT此时不同了.IAT此时就是保存着INT指向的导入函数的地址了. 如果还不理解.看下以前关于IAT博客. 其实IAT就是保存函数地址. 2.怎么进行HOOK 熟悉了IAT 那么HOOK就很简单了.首先你要会解析PE. 表.继续遍历IAT表. 6.判断IAT中的函数地址,是否是你要进行HOOK的函数地址. //解析PE头.寻找IAT.

50120
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    IAT HOOK

    注:以下操作是在 XP 上实现的,其他版本注意写保护机制 目录 0x00 IAT表的填写 0x01 IAT HOOK的原理 0x02 实现代码 0x00 IAT表的填写 在上一篇文章中,我们构造导入表的时候 ,将 IAT 表和 INT 表都指向的是函数名称所在的位置,然后在运行的时候,IAT 表中的内容会被替换成对应函数的地址,在调用的时候使用间接 CALL ,来调用其中所储存的地址。 前面一直在说,填写到对应的位置,是在说 INT 表和 IAT 表的对应关系,在 INT 表中处于第一项,对应的填写到 IAT 表的时候,也是填写到第一项的位置。 0x01 IAT HOOK的实现 既然我们明白了 IAT 表的填写方法,那么就可以通过更改 IAT 表中对应的地址,来达到我们执行自己但是代码的目的,同时为了保证原函数的功能不受影响,还需要进行一些其他的处理 表中的位置,因为已经得到了函数的地址,那么我们就可以通过对比 IAT 表中所指向的地址与当前地址是否一致,来判断是不是我们想要找的函数。

    19920

    IAT Hook 技术分析

    来源:https://pentest.blog/offensive-iat-hooking/ 本文将介绍如何将IAT Hook方法用于攻击活动。 有几种方法可以在基于Windows的操作系统上执行API Hook,例如; 虚拟功能绕行 虚函数指针交换 虚拟表指针交换 导入地址表(IAT) VEH 本文将重点介绍这些方法中的IAT HOOK。 为了覆盖IAT内部的地址,第一步是在进程内存中查找IAT表的地址。 借助 VirtualProtect函数,可以更改IAT(或只需要覆盖的条目)的内存保护属性。可以通过block_api或iat_api 来使用反射组件调用此函数。早期的文章中已经解释了程序集块的用法。 下面是你在尝试使用IAT Hook操作应用程序逻辑时,非常有用的API函数列表。

    1.3K20

    红队 | IAT Hook技术实现

    HOOK 1.监控 2.行为改变 改变执行流,让函数先到我这里,获得优先执行权 思路 导入表中有个IAT表,在导入表结构中的FirstThunk.在调用一些API时,只要是LoadLibrary的dll ,其中的API都会在IAT表中,我们可以通过IAT表来寻找我们想要"了解"的函数,并对其进行操作,比如将这个API替换成自己的函数,但是注意参数要相同,不然栈平衡不了。 我这里用简单的MessageBox来说明IAT HOOK问题 SetHook DWORD SetIATHook(DWORD OldAddr,DWORD NewAddr) //oldAddr是原地址, pIATThunk++; } pImport++; } return Flag; } 大体就是获取基址,定位导入表,IAT PIMAGE_IMPORT_DESCRIPTOR)(pOptionHeader->DataDirectory[1].VirtualAddress + dwImageBase); //定位导入表 //定位IAT

    27730

    脱Aspack手动查找IAT完成脱壳修复

    本文介绍以下 Aspack 修复 IAT 的步骤。 请出 Peid 进行查看,查壳的结果是“什么也没发现”。 点击 “自动查找IAT”,发现 OEP 下面的RVA变成了“3138”,大小是“20”,这次我们点击“获取输入表”,共找到了 1 个导入的 DLL 和 6 个导入函数。

    41330

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

    ②TimeDateStamp:当时间戳值为0时,表示未加载前IAT表与INT表完全相同;当时间戳不为0(为-1)时,表示IAT与INT表不同,IAT存储的是该dll的所有函数的绝对地址,这样在未加载前就直接填充函数地址的方式为函数地址的绑定 2、IAT(Import Address Table)、INT(import Name Table)结构解析: 关于绑定导入表和IAT表的特殊情况这里先不做研究,我们先来看看IAT和INT结构相同的时情况 而IAT则根据导入表INT(IAT加载前)的内容和导出表信息,修改为对应的函数的地址信息,如下所示: 这里写图片描述 3、绑定导入表(Bound Import Descriptor)与IAT: 我们上面分析了加载前 ,IAT中存储非函数地址的情况,下面我们来分析加载前IAT表中存储函数地址的情况。 12项,IAT是第13项)。

    18340

    ​PowerBI借”第三方“将度量值回写SQL与天猫总裁的两个88年女人

    我们在【强强联合】在PowerBI中使用Python——数据可视化一节中说过,创建一个Python可视化对象时,Power BI会自动将所要分析的字段生成一个DataFrame格式的dataset数据, 传递给Python进行处理。 点击Python脚本可视化对象,DataFrame格式数据就准备好了: ? 既然我们看到能用Python输出为excel文件,那么学过之前几篇文章的同学,输出到SQL也不是难事吧。 [0,0] q2=dataset.iat[0,1] q3=dataset.iat[0,2] username=dataset.iat[0,3] time0=dataset.iat[0,4] values

    34420

    基于 Jmeter 的 web 端接口自动化测试平台(转载)

    安装 前提: 一个已经在跑的MySQL数据库 有个IAT库已经导入项目sql ( db文件在IAT/server/db_sql/IAT.sql 先新建一个数据库名字为IAT,在导入上面sql即可。) # docker run --env PATH=/root/apache-jmeter-5.0/bin:$PATH -t -i -d -p 8089:80 -p 9022:22 --name=iat6 ownerworld/iat:0.0.6 /bin/start.sh "root:root@127.0.0.1:3306" 方法2:编译安装 这种需要你有一定的运维基础和开发经验。 默认你已有node和python环境。 后端 服务端代码在server文件夹中,用的python flask框架不需要打包,建议用gunicorn启动。

    1K20

    PE格式第四讲,数据目录表之导入表,以及IAT

    PE格式第四讲,数据目录表之导入表,以及IAT表 一丶IAT(地址表) 首先我们思考一个问题,程序加载的时候会调用API,比如我们以前写的标准PE ? 正好是MsgBosA的字符串 这个IAT表格会跟你的函数个数,会预留很多个 加载到内存的时候,则会写入到这里. 我们改成FFFFF试试. ? 发现还是可以正常运行的. ? 而这个表格的存储方式则是 /* IAT [iat1......0 iat2........0] */ 其中是以0结尾的. 表格的RVA地址, 加载DLL了,根据函数名获得了函数地址,程序启动之后就会往IAT表格中填写地址了. ,一句IAT的RVA偏移地址,得出IAT表格位置 现在是2008 FA = 8+400 = 408 那么408的位置就是IAT表格了 ?

    71750

    网络智能会议WI-IAT 2022 征文,5位院士将做主题报告

    第二十一届网络智能与智能体技术会议(WI-IAT)主题报告预告 由 IEEE/WIC/ACM 主办的第二十一届网络智能与智能体技术会议(The 21st IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology,WI-IAT 2022)将于 2022 年 11 月 17 日至 20 WI-IAT'22 欢迎研究、应用以及行业 / 演示(Demo) 论文提交,录稿的优秀论文会推荐到 Web Intelligence 以及其他国际期刊上。 会议主页:https://www.wi-iat.com/wi-iat2022/ 投稿网址:https://wi-lab.com/cyberchair/2022/wi22/ 投稿截止日期:2022 年 6

    7120

    【重磅来袭】在Power BI 中使用Python(4)——PQ数据导出&写回SQL

    BI中使用Python进行数据清洗: 【强强联合】在Power BI 中使用Python(2) 如何在Power BI中使用Python进行可视化呈现: 【强强联合】在Power BI 中使用Python M将其Table类型的数据传递给PythonPython会自动将Table转换为Dataframe。那么Python中Dataframe如何输出呢? values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)' #键入数据 for r in range(len(dataset)): #按行获取数据 id0=dataset.iat [r,0] displayName=dataset.iat[r,1] areas=dataset.iat[r,2] …… values = (id0,displayName dataset.insert(loc=10,column="updateday",value=dataset["lastUpdated"].str[0:10]) #获取日期 today_date=dataset.iat

    1.1K41

    【重磅来袭】在Power BI 中使用Python(5)——数据预警与邮件通知

    结合上一篇文章实现的数据导出功能,其实也很简单,只要添加一个判断条件和一个能够发送邮件的库就ok了: 首先是判断条件的代码: for i in range(len(dataset)): if dataset.iat io=r"C:\Users\学谦数据文化\Desktop\1.xlsx" df=pd.read_excel(io, sheet_name=0, header=0, names=None) if df.iat [0,0]==0: for i in range(len(dataset)): if dataset.iat[i,0]=='unitedstates': if totalConfirmed>=150000: df.iat[0,0]=1 df.to_excel(r'C:\Users\学谦数据文化 下一篇我们将继续介绍将Power BI和Python结合使用的第三种场景: Python定时自动将Power BI报告截图发送钉钉群。

    61531

    真实的记录一次Python接单记录

    offset=1 开发环境:win10、python3.7 开发工具:pycharm、Chrome 项目思路解析 首先将猫眼电影的所以的电影信息采集下来 这里以猫眼的top100榜为例 获取到电影信息 /usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021年06月05日 # @File : demo4.py import requests /usr/bin/env python # coding: utf-8 # 加载数据分析常用库 import pandas as pd import numpy as np import jieba [i, 0]) c1.append(df.iat[i, 1]) c2.append(df.iat[i, 2]) c3.append(df.iat[i, 3 ]) c4.append(df.iat[i, 4]) c5.append(df.iat[i, 5]) c6.append(df.iat[i, 6])

    28230

    Python截图PDF,在指定区域并提取文本

    , x1, y1\)这种坐标模式来定位要截取的区域 - page.getPixmap传入放大系数和区域即可获取图片对象,可直接获取图片的数据也可以写入到文件保存起来 再测试截取右上角部分: ```python 保存图片很简单,只需调用write.write# 文字提取 通过fitz.Rect要提取文字的区域即可: ```python a_text = page.getText(clip=clip) print 11HEAD0000E2ACRA / CFC1000 75 / 2020-11-05 0.0; Vo = 13.889 m/s; M = 1160 kg Friday, 6.11.2020 11:23 Analysis: IAT 11HEAD0000E2ACRA / CFC1000 75 / 2020-11-05 0.0; Vo = 13.889 m/s; M = 1160 kg Friday, 6.11.2020 11:23 Analysis: IAT 11RIBSLEUPE2DSYC / CFC180 75 / 2020-11-05 0.0; Vo = 13.889 m/s; M = 1160 kg Friday, 6.11.2020 11:23 Analysis: IAT

    1.1K10

    趣学Python数据分析:轴和索引

    上一篇总结了Python数据处理包Pandas的DataFrame,介绍了Axes相关的属性和方法。文章的图形展示效果不是很友好,再换一种形式。 同时继续总结,数据框的访问相关的属性和方法。 datetime.date(2019, 4, 15) In [65]: df['nickname'].at['p2']Out[65]: 'lg' # 如果访问的key不存在,抛出KeyError错误 In [68]: df.iat 1,3] # 通过整数索引访问,像matlab那样访问数据 In [69]: df.iat [0,1]Out[69]: 'gz' In [70]: df.iat[2,2]Out[70]: datetime.date(2019, 4, 15) loc, iloc 访问整行、整列 In [71]: Python数据与机器学习 致力于做最有态度、走心的原创公众号 长按二维码订阅 ? 给个好看

    26840

    python文件读写及形式转化和CGI的

    [i, j] = 90 elif grade.iloc[i, j] == '良好': grade.iat[i, j] = 80 elif grade.iloc[i, j] == '合格': grade.iat[i, j] = 60 else: grade.iat[i, j] = 0 grade.to_csv(EndName) def ExcelToCsv_2(StartName, SheetName, EndName): 四丶用Python写CGI程序 CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。 .csv", 5) 令CSV文件在python中的CGI程序中运行 效果展示 ?

    41430

    Python数据分析之pandas数据选取

    Python数据分析之numpy数组全解析 Python数据分析之Pandas读写外部数据文件 Python数据分析之pandas基本数据结构 Python数据分析之利用pymysql操作数据库 阅读目录 拓展与总结 1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用。 df.at[]和df.iat[]使用时必须输入两个参数,即行索引和列索引,其中df.at[]只能使用标签索引,df.iat[]只能使用整数索引。 df.at[]和df.iat[]选取的都是单个单元格(单行单列),所以返回值都为基本数据类型。 4.1 df.at[] 选取b行的name列 >>> df.at['b','name'] 'Mike' 4.2 df.iat[] 选取第2行第1列 >>> df.iat[1,0] 'Mike' 5

    50130

    数据分析利器 pandas 系列教程(一):从 Series 说起

    从今天开始连载数据分析利器 pandas 的系列文章,推荐 Pycharm 集成 Python3.6+;无论你是零基础小白,还是已经上手过 pandas,你都可以在本次系列中学到一些干货。 你很快就会发现,它是使 Python 成为强大而高效的数据分析环境的重要因素之一。 Series 是一种类似于 一维 数组的对象,由一组数据(数据类型可以是整数、浮点数、字符串和其他 Python 对象)和与之同长度的索引(或称标签)组成。 注意上面的警告,set_value() 会在未来的版本中废弃,推荐用 .at[] 或者 .iat[] 表达式。 .iat[] 和 .at[] 仅一个 i 的区别,功能相同,这个 i 代表整数的英文 Integer,代表 .iat[] 仅可通过下标访问数据,如修改 math 的成绩为 99: s2.iat[0] =

    16440

    文件操作

    8 def ExcelToCsv_1(StartName, SheetName, EndName): 9 ''' 10 函数功能: 将excel格式文件转换为csv格式文件,使用iat range(1, len(grade.columns)): 18 if grade.iloc[i, j] == '优秀': 19 grade.iat elif grade.iloc[i, j] == '合格': 23 grade.iat[i, j] = 60 24 else: 25 grade.iat[i, j] = 0 26 grade.to_csv(EndName) 27 28 29 def ExcelToCsv_2(StartName, SheetName, EndName _1.xlsx", "Sheet1", "D:\\Python_1.csv") 45 ExcelToCsv_1("D:\\Python_2.xlsx", "Sheet1", "D:\\Python_2.

    21520

    相关产品

    • Serverless HTTP 服务

      Serverless HTTP 服务

      Serverless HTTP 基于腾讯云 API 网关平台,为互联网业务提供 0 配置、高可用、弹性扩展的对外 RESTful API 能力,支持 swagger/ openAPI 等协议。便于客户快速上线业务逻辑,通过规范的 API 支持内外系统的集成和连接。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券