随笔分类 - 逆向分析笔记
摘要:位运算位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。其中,按位取反运算符是单目运算符,其余均为双目运算符。位运算符的优先级从高到低,依次为~、&、...
阅读全文
摘要:#include #include #include #include #define STREAMBUFFER 1024#define FILEPATHSIZE 256/** 将一个文件读到内存return 成功 首地址 失败 0*/void* get...
阅读全文
摘要:DIV (unsigned divide) 无符号数除法格式:DIV SRC执行的操作: 字节操作:16位被除数在AX,8位除数为源操作数,结果的8位商在AL中,8位余数在AH中。表示为 (AL)<-(AX)/(SRC) 的商 (AH) <-(AX)/(SRC) 的余数 字操作:32位被除...
阅读全文
摘要:老式编译器硬盘对齐:200h内存对齐:1000h新式的编译器硬盘内存与内存都是1000h
阅读全文
摘要:00401010 push ebp00401011 mov ebp,esp00401013 sub esp,50h00401016 push ebx00401017 push esi00401018 p...
阅读全文
摘要:int strlen(char* s){ int ret = 0; while(*s != 0) { ret++; *s++; } return ret;}char* strcpy(char* dest, char* src){ cha...
阅读全文
摘要:#include char code[] = { 0x64,0x10,0x00,0x00,0x20,0x64,0x00,0x01,0x00,0x80, 0x01,0x90,0x08,0x07,0x20,0x64,0xa0,0x00,...
阅读全文
摘要:28: fun1(a,b,aa);0040D49C 83 EC 10 sub esp,10h ;结构体是通过一个基址操作的,而普通参数是直接通过栈操作的0040D49F 8B C4 mov eax,esp0040D4A1 8B 4D C4 mov ecx,dword ptr [...
阅读全文
摘要:提示:前面加*为必须背下来的DOS头:typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; //* Magic number WORD e_cblp...
阅读全文
摘要:DOS头结构typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header +0h WORD e_magic; // *****DOS可执行文件标记***** +2h WORD e_cblp; // Bytes on last page of...
阅读全文
摘要:IMAGE_OPTIONAL_HEADER32 结构作用接 着我们来谈谈 IMAGE_OPTIONAL_HEADER 结构,正如名字的意思,这是一个可选映像头,是一个可选的结构,但是呢,实际上上节课我们讲解的 IMAGE_FILE_HEADER 结构远远不足以来定义 PE 文件的属性。因此,这些属性...
阅读全文