上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 38 下一页
摘要: 前言:作为指针数组和数组指针的学习 #指针数组 ##第一种写法 代码如下: #include<stdio.h> int main(){ //指针数组 char arr[3][10] = { "aaaaa", "bbbbb", "ccccc" }; printf("%s",arr[1]); } 反汇编 阅读全文
posted @ 2020-02-21 15:34 zpchcbd 阅读(324) 评论(0) 推荐(0)
摘要: 1、 ,需要手动在结尾添'\0,反汇编如下 可以发现进行地址处理的时候都是通过ebp来 间接赋值的 ,不需要去依赖任何的东西,只需要有EBP寄存器作为参照物!在shellcode中利用也起到一部分的作用! 2、 ,编译器会自动帮忙结尾添'\0',反汇编如下 可以明显发现与上面的写法的区别, 是存储在 阅读全文
posted @ 2020-02-21 00:44 zpchcbd 阅读(962) 评论(0) 推荐(0)
摘要: 函数数组循环: 函数数组指针循环: 你会发现汇编代码跟上面的是一样的! 阅读全文
posted @ 2020-02-20 23:42 zpchcbd 阅读(268) 评论(0) 推荐(0)
摘要: 实现的功能:两层函数调用,外层函数的传入的两个参数再传到子函数中相加,实现四个数相加返回 进入00401005 CALL 进入0040100A 阅读全文
posted @ 2020-02-20 19:57 zpchcbd 阅读(390) 评论(0) 推荐(0)
摘要: 参考文章:https://blog.csdn.net/apollon_krj/article/details/77370452 #重定位表的作用: 小知识:一般每个系统自带的dll,比如kernel32.dll等,为了不造成imagebase的相同,每个系统dll加载都有个固定的高地址空间,一般地址 阅读全文
posted @ 2020-02-18 21:55 zpchcbd 阅读(755) 评论(0) 推荐(0)
摘要: 参考文章:https://blog.csdn.net/chenlycly/article/details/53378427 #什么是导入表: 百度百科:Import Address Table 由于导入函数就是被程序调用但其执行代码又不在程序中的函数,这些函数的代码位于一个或者多个DLL 中. 当P 阅读全文
posted @ 2020-02-18 11:59 zpchcbd 阅读(1093) 评论(0) 推荐(0)
摘要: #知识点: 1、exe程序一般只有导入表,但并不是一定,有可能也有导出表 2、dll程序一般导出表和导入表都有 一个可执行程序是由一堆PE文件构成的! 如下图可解释: 我加载的是一个.exe,但是后面还有需要的.dll文件,大家都知道.dll也有PE文件,这里也就又有一个问题了,为什么要引入这么多的 阅读全文
posted @ 2020-02-17 21:39 zpchcbd 阅读(596) 评论(0) 推荐(1)
摘要: 节表:总大小占IMAGE_SECTION_HEADER结构体(40字节) * 节的数量(大小取决于节的数量) 结构体为如下: typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; //当前节的名称 , 占 阅读全文
posted @ 2020-02-17 15:30 zpchcbd 阅读(841) 评论(0) 推荐(0)
摘要: 新增节后,需要修改以下信息 1、添加一个新节,可以复制一份,最好是拥有可执行属性的节,如.text 2、在节表区,新增节的后面,填充一个节,用零填充 3、修改标准PE头中NumberOfSections中节的数量,我这里原来5个,现在6个了 4、修改SizeOfImage的大小,这里自己新增了0x1 阅读全文
posted @ 2020-02-16 23:21 zpchcbd 阅读(557) 评论(0) 推荐(1)
摘要: 适用条件:有的时候空白区不够需要进行扩大节 以对最后一个节扩大0x1000为例子: 为什么要扩大最后一个节呢?如果扩大最后的一个节之前的话,那么相对于当前扩大的节后面也会相应的变化,节表中每个节数据的信息都要相对应的纠正,相对比较繁琐! 扩大节其实很简单,修改节数据对齐后的大小就可以了,并且在PE文 阅读全文
posted @ 2020-02-16 23:13 zpchcbd 阅读(676) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 38 下一页