Window PE -- 文件头 2018-11-01Window PE – 文件头PE文件头紧跟着DOSstub的是PE文件头(PEHeader)。“PEHeader,,是PE关结构NT映像头(IMAGE_NT_HEADERS)的简称,其中包含许多PE装载器能用到的重要字段。当执行体在支持PE文件结构的操作系统中执行时,PE装载器将从IMAGE_DO ...
Read more Window PE -- 输入表 2018-11-01Window PE – 输入表输入表可执行文件使用来自其他DLL的代码或数据的动作称为输入。当PE文件被载入时,Windows加载器的工作之一就是定位所有被输入的函数和数据,并让正在入的文件可以使用那些地址。这个过程是通过PE文件的输入表(Impo1tTable,简称“IT”,也称导人表)完成的。输 ...
Read more Window PE -- 资源 2018-11-01Window PE – 资源
资源Windows程序的各种界面称为资源,包括加速键(Accelerator)、位图(Bitmap)、光标(Cursor)、对话框(DialogBox)、图标(Icon)、菜单(Menu)、串表(StringTable)、工具栏(Toolbar)和版本信息(Versio ...
Read more Window PE -- 输出表 基址重定位 2018-11-01Window PE – 输出表 基址重定位
输出表创建一个DLL时,实际上创建了一组能让XE或其他DLL调用的函数,此时PE装载器根据DLL文件中输出的信息修正被执行文件的IAT。当一个LL函数能被EXE或另一个DLL文件使用时,它就被“输出了”(Exported)。其中,输出信息被保存在输出表中, ...
Read more 一个简单的CTF小DEMO 2018-11-01一个简单的CTF小DEMO不说废话 ,开始看代码
main函数的开始提示输入FLAG
输入完FLAG之后进行长度判断 上图中的jnb跳转到跳转到失败输出代码,也就是说FLAG的长度小于0x1E,下面ja跳转到FLAG判断代码。
这两个cmp转换为c代码
1if(4 < flag < ...
Read more Window PE -- 初识 2018-10-31Window PE – 初识基本概念PE文件使用的是一个平面地址空间,所有代码和数据都合并在一起,组成了一个很大的结构。文件的内容被分割为不同的区块(Section,又称区段、节等,在本章中不区分“区块”与“块”),区块中包含代码或数据,各个区块按页边界对齐。区块没有大小限制,是一个连续结构。每个块 ...
Read more Window SEH异常 -- 异常基础 2018-10-31Window SEH异常 – 异常基础SEH数据结构TIB 结构TIB(ThreadInformatio它位于TEB(ThreadEnvironmentBlock,线程环境块)的头部,而TEB是操作系统为了保存每个线程的私有数据创建的,每个线程都有自己的TEB。
123456789101112131 ...
Read more Window SEH异常 -- 异常初识 2018-10-31 Window SEH异常 – 异常初识
异常处理的基本概念所谓异常就是在应用程序正常执行过程中发生的不正常事件。由CPU引发的异常称为硬件异常,例如访问一个无效的内存地址由操作系统或应用程序引发的异常称为软件异常。
常见的异常见下表
异常处理的基本过程Windows常启动后,将运行在保护模式下, ...
Read more 静态变量底层实现 2018-10-20静态变量底层实现静态变量有局部静态变量(作用域内的静态变量),全局静态变量,然而他们的实现和全局变量是一样的,而局部静态变量只能在作用域访问是C语言的优化。
局部静态变量不会随作用域结束而销毁,并且在未进入作用域之前就已经存在,其生命周期也与全局变量相同。局部静态变量和全局变量都保存在执行文件中的数 ...
Read more Linux kernel4.0 内核环境搭建,签名问题解决 2018-10-16介绍在Linux3.7之后对驱动添加了签名的限制,更多细节在此不做过多叙述。
当我们自己编译的ko文件,进行签名时,是不会得到Ubuntu编译时的私钥的。
那我们就要使用自己编译的内核,在编译的过程中将驱动签名的验证关闭。
首先下载内核源码1wget https://git.kernel.org/t ...
Read more