PE格式第四讲,数据目录表之导入表,以及IAT表 一丶IAT(地址表) 首先我们思考一个问题,程序加载的时候会调用API,比如我们以前写的标准PE 那么他到底是怎么去调用的? 他会Call 下边的Jmp位置 而Jmp位置则是对一个全局变量取内容. 看下全局变量内容是什么. 我们跟过去看下  75 98 FD AE 可以看出,这个位置保存了一张表格,这张表格保存的是MessageBoxA的函数地址. 那么我们想一下,在程序还没加载之前.这张表格是否存在,内容是否是这个. 利用虚拟地址,转文件地址,…
PE格式第七讲,重定位表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶何为重定位(注意,不是重定位表格) 首先,我们先看一段代码,比如调用Printf函数,使用OD查看. 那么大家有没有想过这么一个问题,函数的字符串偏移是00407030位置,函数Call的地址是00401020的位置 但是如果模块首地址申请不到了,变为了00100000的位置,那么此时的偏移是不是都是错的了? 首先说下,一般重定位表格都是D…
PE格式第八讲,TLS表(线程局部存储) 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶复习线程相关知识 首先讲解TLS的时候,需要复习线程相关知识,  (thread local storage ) 1.了解经典同步问题 首先我们先写一段C++代码,开辟两个线程去跑,看看会不会出现同步问题. 看结果得知,结果并不是正确的,造成同步的问题的原因是两个线程都对同一个变量进行访问. 解决问题: 1.使用同步对象. …
PE格式第六讲,导出表 请注意,下方字数比较多,其实结构挺简单,但是你如果把博客内容弄明白了,对你受益匪浅,千万不要看到字数多就懵了,其实字数多代表它重要.特别是第五步, 各种表中之间的关系. 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶浅谈导入表 首先,导出表我们已经学过了,作用就是在程序加载的时候,把自己要调用的API的地址,不断地填写到IAT表中 不过我们要知道三个概念, 1.程序运行的时候,导入表直接…
sql一张表数据导入另一张表   1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:   INSERT INTO 目标表 SELECT * FROM 来源表;   2.比如要将 articles 表插入到 newArticles 表中,则是:   INSERT INTO newArticles SELECT * FROM articles;   3.如果只希望导入指定字段,可以用这种方法:    INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1,…
一丶IAT(地址表) 首先我们思考一个问题,程序加载的时候会调用API,比如我们以前写的标准PE 那么他到底是怎么去调用的? 它会Call 下边的Jmp位置 而Jmp位置则是对一个全局变量取内容. 看下全局变量内容是什么. 我们跟过去看下  75 98 FD AE 可以看出,这个位置保存了一张表格,这张表格保存的是MessageBoxA的函数地址. 那么我们想一下,在程序还没加载之前.这张表格是否存在,内容是否是这个. 利用虚拟地址,转文件地址,定位 虚拟地址502008 利用快捷方式转化 FA…
导入数据 1). 本地 load data local inpath "/root/example/hive/data/dept.txt" into table dept; 2). HDFSload data inpath "/user/hive/warehouse/functiontest.db/dept1/dept.txt" into table dept1; 我发现使用这个命令后,hdfs上的xxx.txt文件会移动到当前表的目录下,原来表的目录下xxx.tx…
1.关于IAT(import address table)表 当exe程序中调用dll中的函数时,反汇编可以看到,call后面并不是跟的实际函数的地址,而是给了一个地址:…
0X0 0 DLL介绍 DLL翻译器为动态链接库,原来不存在DLL的概念只有,库的概念,编译器会把从库中获取的二进制代码插入到应用程序中.在现在windows操作系统使用了数量庞大的库函数(进程,内存,窗口,消息)采用这种包含库的方式,会造成内存严重的浪费.因此,windows OS 设计者根据需要引入了DLL这一概念 (1) 不要把库包含到程序中,单独组成DLL文件,需要时调用即可 (2) 内存映射技术使加载后的DLL代码,资源在多个进程中实现共享 (3) 更新库时只要替换相关的DLL文件即可…
    在用PLSQL导入.dmp文件到Oracle时出现的问题如下: Import started on 2015/11/18 10:42:44E:\oracle\product\10.2.0\db_1\bin\imp.exe log=C:\Users\lrb\AppData\Local\Temp\plsimp.log file=E:\Work\DOC\2015-0~1\2015-09-11.dmp userid=LRB/binbin536536@ANSTEELS buffer=30720 c…
PE格式第九讲,资源表解析 一丶熟悉Windows管理文件的方法 首先,为什么标题是这个,主要是为了下边讲解资源方便,因为资源结构体很乱.如果直接拿出来讲解,那么就会很晕. 1.windows管理文件方法 树形结构 可以看出结构 根目录 子目录 文件.xxx 子目录 子目录 (子目录里面还可以有文件夹) ..... 那么我们的资源也是这样存储的. 二丶资源结构体解析 首先,资源结构体分为很多个,但是有用的就3个.一般也分为三个 IMAGE_RESOURCE_DIRECTORY 根目录(资源目录头…
在PE结构中最重要的就是区块表和数据目录表,上节已经说明了如何解析区块表,下面就是数据目录表,在数据目录表中一般只关心导入表,导出表和资源这几个部分,但是资源实在是太复杂了,而且在一般的病毒木马中也不会存在资源,所以在这个工具中只是简单的解析了一下导出表和导出表.这节主要说明导入表,下节来说导出表. RVA到fRva的转化 RVA转化为fRva主要是通过某个数据在内存中的相对偏移地址找到其在文件中的相对偏移地址,在对某个程序进行逆向时,如果找到关键的那个变量或者那句指令,我根据变量或者代码指令在…
PE文件结构(四) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 输出表 一般来说输出表存在于dll中.输出表提供了 文件里函数的名字跟这些函数的地址, PE装载器通过输出表来改动IAT. IMAGE_OPTIONAL_HEADER中的 DataDirectory[0] 提供了输出表的RVA.输出表是以一个IMAGE_EXPORT_DIRECTORY结构 開始的. IMAGE_EXPORT_DIRECTORY结构: typedef struct _IMAGE_EXPORT_DIREC…
PE格式第五讲,手工添加节表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 首先我们要用汇编编写一段汇编代码,用来生成标准PE 一丶标准PE生成的汇编代码 . .model flat, stdcall option casemap:none include windows.inc include user32.inc include kernel32.inc includelib user32.lib includ…
目录 SSDt表与ShadowSSDT表的查看. 一丶SSDT表 1.什么是SSDT表 2.查看步骤 二丶ShadowSSDT表 1.什么是ShadowSSDT表 2.如何查看. 三丶工具介绍 SSDt表与ShadowSSDT表的查看. 一丶SSDT表 1.什么是SSDT表 SSDT表示系统服务表,我们ring3调用的很多函数都会调用这个SSDT表 2.查看步骤 1.使用 x命令 前提需要加载好符号. x nt!kes*des*table* KeServiceDescriptorTableSha…
捷径并不是把弯路改直了,而是帮你把岔道堵上! 走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇! 岔路会将你引入万劫不复的深渊,并越走越深…… 在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯! 首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分成很多区块(节),并有区块表(节表)的数据来描述这些区块.这里我们需要注意的问题是:一个区块中的数据仅仅只是由于属性相同…
最近在一直努力学习破解,但是发现我的基础太差了,就想学习一下PE结构.可是PE结构里的结构关系太复杂,看这老罗的WiN32汇编最后一章 翻两页又合上了..把自己的信心都搞没了.感觉自己的理解能力不行,实践一下也许会好一点,可是怎么实践,进看雪搜一下发现了不 少帖子的手写PE 太牛了 ..,心想咱们手写不行 看总没问题吧.于是找了个MASM编写的5K小软(麻雀虽小五脏具全),丢 进PEID里看看有啥,这些资料怎么来的当然是PE格式告诉它的,我们要学会用WinHex得到这些数据. 学PE格式要什么基…
Ring 3层的 IAT HOOK 和 EAT HOOK 其原理是通过替换IAT表中函数的原始地址从而实现Hook的,与普通的 InlineHook 不太一样 IAT Hook 需要充分理解PE文件的结构才能完成 Hook,接下来将具体分析 IAT Hook 的实现原理,并编写一个DLL注入文件,实现 IAT Hook . 在早些年系统中运行的都是DOS应用,所以DOS头结构就是在那个年代产生的,那时候还没有PE结构的概念,不过软件行业发展到今天DOS头部分的功能已经无意义了,但为了最大的兼容性…
说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.3.24-26 为了写本文,又搭工又搭料,累的2天2宿没睡觉,这篇文章实在是耗费我太多的心血,版权永远属于CSDN社区的我,请不要试图修改本文,破坏全文的完整性,希望您尊重我的劳动成果! 快速预览: Gr…
PE文件结构详解(四)PE导入表讲 了一般的PE导入表,这次我们来看一下另外一种导入表:延迟导入(Delay Import).看名字就知道,这种导入机制导入其他DLL的时机比较“迟”,为什么要迟呢?因为有些导入函数可能使用的频率比较低,或者在某些特定的场 合才会用到,而有些函数可能要在程序运行一段时间后才会用到,这些函数可以等到他实际使用的时候再去加载对应的DLL,而没必要再程序一装载就初始化好. 这个机制听起来很诱人,因为他可以加快启动速度,我们应该如何利用这项机制呢?VC有一个选项,可以让我…
PE格式第三讲扩展,VA,RVA,FA的概念 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边都是. 二丶模块地址(image Base) 模块地址,就是exe加载到内存的时候,所在的地址, 比如MZ位置,在那个位置,那么对应模块地址就是这个位置 在OD中的内存中查看就是PE头 三丶RVA(relat…
0x01 MS-DOS头 MS-DOS头部的字段重点关注e_magic与最后一个e_lfanew是需要关注的. 第一个e_magic字段的值为4D5A,作用是可以作为判断这个文件是否是PE文件. 最后一个e_lfanew字段可以引导我们找到新的EXE文件头,从而进一步判断这个可执行文件是否为PE文件. 如果从这个文件开头用PIMAGE_DOS_HEADER解析,e_magic成员不是IMAGE_DOS_SIGNATURE,那么就不是一个PE文件. MS-DOS头结构: typedef struc…
salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解   建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema Builder 或者build-->schema Builder进入: 2.采用force.com Explorer通过自己写查询语句来查询数据. 此链接为force.com Explorer的…
好几天没有在网上总结了.我把ppt先誊写在本子上,这样听的时候记录就方便很多,添些东西就可以. 我想先看shell那部分,但是没有之前几章的准备,是没法跟着视频动手操作的.所以还是按部就班得学习. 虽然本子上记得详细,但是查找起来,网上更方便些. 第四讲 文件常用命令 .2权限管理命令 .3文件搜索命令 .4帮助命令 .5用户管理命令 .6压缩解压命令 .7网络命令 .8关机重启命令 4.2 权限管理 ——chmod 只有root和文件所有者才能改权限 -R 递归修改 r-, w-,x- . 对…
建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema Builder查看表结构以及多表之间的关联关系,可以登录后点击setup在左侧搜索框输入schema Builder 或者build-->schema Builder进入: 2.采用force.com Explorer通过自己写查询语句来查询数据. 此链接为force.com Explorer的下载链接:  http://force-com-explorer-beta.software.infor…
在此之前,我们已经对这个输入表进行了一些实践和理解,这有助于大家对这个概念更进一步的加深认识.小甲鱼觉得,越是复杂的问题我们应该越是去动手操作它,认识它,这样才容易熟悉它! 在上一节课我们像小鹿一样的乱撞,终于撞到了输入表里边包含的函数名称,嘿嘿,不过地址,我们还是没能找着……这节课我们将深入来剖析输入表的结构,通过结合实例分析来帮助大家理解输入表的工作原理. 输入表结构 回顾一下,在 PE文件头的 IMAGE_OPTIONAL_HEADER 结构中的 DataDirectory(数据目录表)…
原文:<ArcGIS Engine+C#实例开发教程>第四讲 状态栏信息的添加与实现 摘要:在上一讲中,我们完成了 MapControl 和PageLayoutControl两种视图的同步工作,本讲我们将完成状态栏信息的添加与实现.应用程序的状态栏一般用来显示程序的当前状态,当前所使用的工具. GIS应用程序一般也在状态栏显示当前光标的坐标.比例尺等信息.学习完本讲内容,您将学会状态栏编程的基本方法,并且能够在我们的程序的状态栏中添加且显示以下信息:当前所用工具信息.当前比例尺.当前坐标.  …
C++反汇编第四讲,反汇编中识别继承关系,父类,子类,成员对象 讲解目录: 1.各类在内存中的表现形式   备注: 主要复习开发知识,和反汇编没有关系,但是是理解反汇编的前提.     2.子类继承父类 2.1 子类中有虚函数,父类中有虚函数 : 都有的情况下    2.2 子类中没有虚函数,父类中有虚函数 : 子类没有,父类有的情况 2.1 2.2的情况都是一样的.     2.3   子类中有虚函数,父类中没有虚函数 : 子有父没有的的情况下    2.4 子类父类都没有虚函数的情况下 第二…
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符详解 1 逻辑运算 2 条件运算符. 3.赋值运算符 4.运算符的优先级 (了解) 三丶循环语句详解 1.了解程序执行流程 2.while循环语法以及使用 3.循环中break与continue关键字的使用 4.while实例,使用while打印9*9乘法表 5.转义字符简介 python学习第四讲…
您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教.谢谢! 第四天,简单的表单验证,今天主要学习了angularjs中的表单验证的一些基本概念及其简单应用 第一.表单验证的简单理解 表单验证是angularjs中比较重要的一个核心功能 表单验证可以结合html5的验证特殊使用,当然也可以禁用浏览器对表单的默认验证,添加属性[novalida…