首页
学习
活动
专区
圈层
工具
发布

PE格式第六讲,导出表

一丶浅谈导入表 首先,导出表我们已经学过了,作用就是在程序加载的时候,把自己要调用的API的地址,不断地填写到IAT表中 不过我们要知道三个概念, 1.程序运行的时候,导入表直接把调用的API地址填写到...IAT表格中 2.程序运行的时候,用到那个API,才会填写到IAT表中(延时加载技术,下面讲解) 3.程序还没运行的时候,在PE中函数的地址就已经写死了....那么看下这里的重要成员 1.执行导出表文件名的字符串 2.base 导出函数的起始序号 3.导出函数地址表RVA 4.函数名称地址表RVA 5.函数序号地址表 这里我们随便找个DLL,使用010模版,看下结构到底怎么存储的...五丶BASE成员,导出序号,函数导出,以及函数地址表之间的关系 1.函数名称,序号表,以及和函数地址表中的关系 首先我们要知道,DLL的导出函数可以按照序号导出,也可以按照函数名字导出,但是怎么和函数地址表关联起来那...,序号表中根本就没有3,怎么办?

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

    sql2java-excel(二):基于apache poi实现数据库表的导出的spring web支持

    这几年一直在根据工作需要维护升级,最近的项目中需要对数据库的记录提供导出excel的功能。 就开始学习apache的POI,参照网上的示例实现了单张表的导出。...也属于Map) 不限制HTTP method的类型,可以是POST,也可以是GET 以下是基于Spring AOP的数据库导出最简示例: . /** * 设备表导出EXCEL */...请求参数定义的顺序也没有要求,但参数名必须与@ExcelSheet中对应的方法名一致才有效,类型也必须一致,对于枚举类型的参数,类型为String,切面执行时会自动将枚举变量名字符串转为枚举类型变量。...定义在类上,代表定义类中成员的导出配置,可以定义多个。 定义在类成员(Field)上代表定义当前成员的导出配置,只能定义一个成员字段配置注解,可以定义多个子成员字段配置注解....poi实现数据库表的导出及支持spring web》

    2.1K40

    PE知识复习之PE的导出表

    导出表解盲:     有人认为exe可执行文件.没有导出表.而DLL有导出表.这个是错误的. 不管是exe.还是DLL 本质都是PE文件. exe文件也可以导出函数给别人使用....一般EXE没有.但不是不可以有. 注意分清. 二丶导出表讲解     在讲解导出表之前.我们要确定导出表在哪里....其中重要成员都标红了. 最重要的是导出表中最后三个成员.是三个子表. 都是RVA PS: 数据目录中的 Size成员.保存的是导出表中以及导出表子表中的所有成员大小....在导入表中我们的函数地址表中的地址会有5个.原因就是.序号会给我们用0填充. 1 2 3 4 5 虽然第二项并没有.但是也会给我们导出.....序号表中就没有.

    1.9K20

    免杀基础之一文学废PE文件格式

    ,再点击每个表对应可以展开的按钮,即可看到相应参数对应的值, 比如点开输入表,可看到调用了哪些动态链接库,又在动态链接库里调用了哪些API: 为了加深理解,下面对一些重要的表进行学习解析。...: 导出表 导出表是PE文件为其他应用程序提供自身的一些变量、函数以及类,将其导出给第三方程序使用的一张清单,里面包含了可以导出的元素。...结构如下: 从逻辑上来说,导出表由名称表、函数表与序号表组成。函数表和序号表必不可少,名称表则是可选的。序号表与名称表的作用是索引,找到真正需要的函数表,函数表中保存着被导出的函数的地址信息。...(某函数地址) 0x0003 FunName_C 这里写一个有导出函数的测试dll: 在loadPE中打开,打开导出表,可以看到有导出函数: 现在就是和导入表一样,找导出表到文件头的偏移,然后手写代码获取相关信息...RvaToOffset(pExport->Name, buffer) + buffer); if (pExport->AddressOfFunctions ==0) { printf("当前没有导出表

    2K21

    Effective Java(第三版)——条目十五:使类和成员的可访问性最小化

    package-private——成员可以从被声明的包中的任何类中访问。从技术上讲,如果没有指定访问修饰符(接口成员除外,它默认是公共的),这是默认访问级别。...如果你发现自己经常这样做,你应该重新检查你的系统的设计,看看另一个分解可能产生更好的解耦的类。 也就是说,私有成员和包级私有成员都是类实现的一部分,通常不会影响其导出的API。...但是,如果类实现Serializable接口(条目 86和87),则这些属性可以“泄漏(leak)”到导出的API中。 对于公共类的成员,当访问级别从包私有到受保护级时,可访问性会大大增加。...受保护(protected)的成员是类导出的API的一部分,并且必须永远支持。 此外,导出类的受保护成员表示对实现细节的公开承诺(条目 19)。 对受保护成员的需求应该相对较少。...为了测试将公共类的私有成员指定为包级私有是可以接受的,但是提高到更高的访问级别却是不可接受的。 换句话说,将类,接口或成员作为包级导出的API的一部分来促进测试是不可接受的。

    1.4K40

    PE文件详解(七)

    本文转载自小甲鱼PE文件讲解系列原文传送门 这次主要说明导出表,导出表一般记录着文件中函数的地址等相关信息,供其他程序调用,常见的.exe文件中一般不存在导出表,导出表更多的是存在于dll文件中。...数据目录表的第一个成员指向导出表,是一个IMAGE_EXPORT_DIRECTORY(以后简称IED)结构,IED 结构的定义如下: IMAGE_EXPORT_DIRECTORY STRUCT...这个只是一个导出序号导出给外部进行使用的,当我们在分析PE文件进行相关函数的定址时,不使用这个序号,表中也没有存储函数的导出序号 AddressOfNames 和 AddressOfNameOrdinals...从 AddressOfNames 字段指向得到的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名相比较,如果没有任何一 个函数名是符合的,表示文件中没有指定名称的函数...如果病毒代码中用到某些 API 的话,这些 API 的地址不可能在宿主文件的导出表中为病毒代码准备好。 因此只能通过在内存中动态查找的方法来实现获取API 的地址。

    1.2K10

    Importing and exporting shapes

    今天介绍下如何向VREP中导入三维图以及如何将VREP中的三维图导出。 01 Importing Shapes V-REP使用三角形网格来描述和显示形状。...因此,V-REP将导入的三维图描述为三角形网格的格式。如果想导入参数化表面的对象(例如IGES等,注:IGES 是初始化图形交换规范),那么首先需要将文件转换成合适的三角网格格式。...导入功能由V-REP的Assimp插件处理。查看这里的API函数。如果使用所需的标志重新编译Assimp库(和Assimp插件),就可以支持更多格式。...能够有效避免大对象定义得太精确(三角形太多)和小对象定义得太粗略(三角形太少):简单地首先导出大对象(通过调整所需的精度设置),然后导出小对象(通过调整精度设置)。...V-REP的Assimp插件也处理导出功能。请查看这里的API函数。

    1.7K10

    「PowerBI」丢弃SSDT选择TabularEditor成为你的首选建模开发工具(中)

    上篇主要介绍TabularEditor的界面级别的操作,其最核心的使用脚本自动化方面的高级功能没有涉及,本篇尝试将较为经典用脚本自动化功能引出,让日常建模工作可以立即用上的。...如下图先选定基础度量值,再脚本视图下点击三角型运行却可。...所以若导出Expresstion字段,还是需要做一些额外的处理,先将其复制到notepad++上,再用notepad++的查找替换功能。 替换完即可复制到Excel工作表中,已经不会再错位显示了。...没有完美的工作,只有我们不断去做修补的活,此时可使用Excel催化剂的【正则替换功能】,为了这个功能,重新修正了一下,使用【换行符】来表达真正的换行操作。...批量查找对象 在工具的Filter命令中,可以做数据模型对象的筛选操作,简单的筛选只需输入关键字即可搜索含有此关键字的所有对象名,对象名可以是表名、字段名、度量值名等一切模型的对象成员的名字。

    2.4K30

    PE知识复习之PE的导入表

    PE知识复习之PE的导入表 一丶简介   上一讲讲解了导出表. 也就是一个PE文件给别人使用的时候.导出的函数 函数的地址 函数名称 序号 等等.   ...导入表定位位置: 在扩展头中有一个数据目录结构体. 第二项保存的就是导入表的 RVA 以及大小. 如下图所示: ? EXE文件.没有导出表.有一个导入表....则是 一行零4个字节 导入表跟导出表不同.导出表只有一个.里面有子表记录. 而导入表你依赖一个模块.则有一个导入表存在. 导入表结束位置是20个字节的连续为0的数据为结束位置....因为在文件中导入表并没有.所以我们直接在内存中查看....//编译器决定,不是空的话,就是函数在导出表中的 函数地址表的导出索引.

    1.5K20

    利用Python计算新增用户留存率

    走你~ 原始数据:创角日志和登录日志 导入需要的库 pandas import pandas as pd 1、获取数据 #读取创角日志 df_create = pd.read_csv(r'F:\Python...\常见统计——留存\创角日志\创角日志.csv') ?...2)登录日志与创角日志横向合并 #修改创角日志中时间字段名称为'创角日期’,然后横向合并创角日志和登录日志,使得登录日志基础上相当于新增一列为用户创角日期标记 df_create.rename(columns...3、留存率计算 1)使用透视表计算留存数 #使用透视表,计算创角日期对应用户第x天登录的数量(非重复计数) data = pd.pivot_table(df,values='role_id',index...4、索引名称调整并导出数据 #修改结果数据表的列索引名称,然后导出表即可 df.columns=['创角日期','注册玩家数','次日留存率','3日留存率','4日留存率','5日留存率','6日留存率

    1.8K30

    VS2005 tips 问题及解决方法 (未完待续。。。)

    PS:Regsvr32命令的作用是将动态链接库文件注册为注册表中的命令组成。...API,因为文档类中没有MessageBox这样的成员函数,所以这个API前面没有加::是可以的,但是视图类是继承CWnd类的,它有一个成员函数,所以直接写MessageBox就变成调用这个类的成员函数了...VS2005创建智能设备项目失败 现象:打开VS2005新建一个智能设备的项目,结果总是提示创建失败,向导出现并小闪了一下,然后消失,界面弹回原来的创建项目的对话框。...原因:原来 IE7 新采用的安全机制禁止了 VS2005 的某些向导以脚本方式创建 HTML 视图页面,导致向导无法运行起来。...百度谷歌了下,以下是网上普遍的解决方法: 解决办法: 修改注册表: 1)关闭 VS 2)打开 RegEdit.exe 3)找到下面的注册表键值:HKEY_LOCAL_MACHINE/SOFTWARE

    69120

    《Go 语言程序设计》读书笔记 (一)基础类型和复合类型

    这个特性可以简化很多代码,而且可以在没有增加额外工作的前提下确保边界条件下的合理行为。...当程序遇到这样的一个字符,通常是一个危险信号,说明输入并不是一个完美没有错误的UTF8字符串。...在Go语言中,一个map就是一个哈希表的引用,map类型可以写为map[K]V,其中K和V分别对应key和value。..., for outsourcing to Elbonia 如果结构体成员名字是以大写字母开头的,那么该成员就是导出的;这是Go语言导出规则决定的。...一个结构体可能同时包含导出和未导出的成员。未导出的成员只能在包内部访问,在外部包不可访问。 结构体类型的零值中每个成员其类型的是零值。通常会将零值作为最合理的默认值。

    60010

    1k Star国产前后端完全开源的在线文档工具、API、WIKI、数据库文档!

    项目介绍 zyplayer-doc是一款前后端完全开源的在线文档工具,现有API接口文档(Swagger、OpenApi、自建接口)、WIKI文档、数据库文档(数据库表结构查看管理、SQL执行)。...文件,编译结果文件放在:zyplayer-doc\dist\version 文件夹下,如果电脑没有安装maven则需要先安装 修改第一步或第二步结果文件夹下的 application.yml 文件里面数据库帐号密码...zyplayer-doc-db 数据库文档 一款在线管理数据库的工具,你可以将所有的数据源统一管理到这里面,团队间的各成员就不必每人在自己电脑上装一个数据库管理软件, 然后再添加数据源,可以统一修改数据库账号密码而不用群广播通知...支持数据库表、字段文档查看修改,表文档导出、建表语句DDL导出、表数据导出。 支持SQL执行、表数据预览、不同数据库之间的数据互导,支持多数据源管理。...zyplayer-doc-api API接口文档管理工具 一款支持统一管理Swagger文档、OpenApi文档、自建接口文档的管理工具,具有文档查看、接口请求、全局参数管理等功能,设计走心,前端代码使用最新技术构建

    2.1K40

    利用ArcGIS快速实现三维建筑和三维地形快速建模

    (我自己确实对于长文章没有耐心) 以下粘贴至Sid编写的操作文档《Arcgis等技术在城乡规划中的应用》,比较有用的技术可能是ArcGIS三维数据导出至Sketch等: ---- 01 生成三维地形...提取单数字注记 使用编程语句(VB、Python) 开始编辑 右键高度字段-字段计算器-显示代码块-输入判断语句 VB,IF语句语法 Python,IF语句语法 停止编辑 使用Excel(推荐) 属性表导出为...),并利用字段计算器将所关联的Excel表中的数据复制到相应字段中 ii....导出3D底图到其他软件 to DAE 广泛使用的3D模型格式,可以再次导入Sketch(对于大量建筑导入效率低,因为DAE文件是用三角形储存每个面,导入SKETCH默认将同面的三角形合并,所以需要处理...3D要素-右键开始编辑-选中要替换的建筑或组-编辑工具条-3D要素下拉-替换为模型 ---- (天哪好长,真的好长一文,又没有图)

    8.2K30

    Apifox:满足你对 Api 的所有幻想

    ,但是没有及时同步修改 mockjs。...后的参数),Query 参数在下方请求参数部分填写。 四、团队管理 成员权限分成两个部分:团队权限和成员权限。团队权限指成员对团队操作的权限,项目权限指成员对项目操作的权限。...× 修改成员权限 √ √ × 邀请/移出成员 √ √ × ⏱ 4.2 项目权限 为了满足团队的多层次管理需求,每个成员可以按项目设置管理员、普通成员、只读成员、禁止访问的角色,对应权限如下: 权限名称...在对应的项目下点击 成员/权限 tab,点击对应成员的 设置,就可以看到该成员在该项目内的团队权限和项目权限,并根据需要进行修改。...八、Mock 语法 Apifox Mock 语法完全兼容 Mock.js (数据占位符方式),并扩展了一些 Mock.js 没有的语法(如国内手机号 @phone)。

    1.4K10

    2.6 PE结构:导出表详细解析

    函数序号:记录了每个导出函数的序号,可以通过序号直接调用函数。 导出函数的DLL文件中,导出信息被保存在导出表,导出表就是记载着动态链接库的一些导出信息。...导出函数存储在PE文件的导出表里,导出表的位置存放在PE文件头中的数据目录表中,与导出表对应的项目是数据目录中的首个IMAGE_DATA_DIRECTORY结构,从这个结构的VirtualAddress...字段得到的就是导出表的RVA值,导出表同样可以使用函数名或序号这两种方法导出函数。...,数组里保存着一组RVA,每个RVA指向一个字符串即导出的函数名,与这个函数名对应的是AddressOfNameOrdinals中的结构成员,该对应项存储的正是函数的唯一编号并与AddressOfFunctions...结构成员相关联,形成了一个导出链式结构体。

    61520

    2.6 PE结构:导出表详细解析

    函数序号:记录了每个导出函数的序号,可以通过序号直接调用函数。导出函数的DLL文件中,导出信息被保存在导出表,导出表就是记载着动态链接库的一些导出信息。...导出函数存储在PE文件的导出表里,导出表的位置存放在PE文件头中的数据目录表中,与导出表对应的项目是数据目录中的首个IMAGE_DATA_DIRECTORY结构,从这个结构的VirtualAddress...字段得到的就是导出表的RVA值,导出表同样可以使用函数名或序号这两种方法导出函数。...;上面的_IMAGE_EXPORT_DIRECTORY结构如果总结成一张图,如下所示:图片在上图中最左侧AddressOfNames结构成员指向了一个数组,数组里保存着一组RVA,每个RVA指向一个字符串即导出的函数名...,与这个函数名对应的是AddressOfNameOrdinals中的结构成员,该对应项存储的正是函数的唯一编号并与AddressOfFunctions结构成员相关联,形成了一个导出链式结构体。

    87810
    领券