二进制安全
学习的知识分享
tangliu333
努力奋斗的大学生一枚
展开
-
PE文件相关内容
1.PE header:如何加载到内存、从何处开始运行、运行中需要的DLL文件有哪些、需要多大的栈/堆内存等,大量信息以结构体形式存储在PE头中。PE文件格式如下:DOS头+DOS存根+节区头=PE头1.DOS头在PE头最前面的是IMAGE_DOS_HEADER结构体,用来扩展已知的的DOS EXE头,该结构体共40个字节,我们必须要知道其中两个重要成员,分别是:e_magic代表DOS签名,其16进制值为4D5A(ASCII值为“MZ”)e_flanew指示NT头的偏移(根据不同的文原创 2020-08-26 16:37:17 · 385 阅读 · 0 评论 -
函数调用约定
函数调用时如何传递参数的约定有三种方式:cdeclstdcallfastcall1.cdecl(C中使用)在这种方式中,调用者直接清理其压入栈的函数参数。在汇编中直接表现出来的就是在调用者函数代码段中ADD esp,8,将参数清除。2.stdcall(常用于Win32 API,为了更好的兼容性)由被调用者清理栈,若调用者给被调用者传入了两个4字节的参数(共8字节),则在被调用者函数结尾RETN 8来清理栈,RETN 8等同于(RETN + POP 8)除了恢复调用该函数之前的现场(即改变原创 2020-08-26 11:04:51 · 106 阅读 · 0 评论