03 2021 档案
摘要:PE基本结构 直接上代码解析pe头 #include <stdio.h>#include <Windows.h>//Dos 头int main(){ FILE *pFile = NULL; char * buffer; int nFileLength = 0; pFile = fopen("E:\\
阅读全文
摘要:offset 伪指令的使用 ;伪指令 类似与高级语言 ; offset 偏移量 距离段启始位置的偏移地址,获取的始一个地址 1.数组的第一种使用 //省略了头 .data arrNum dword 0,1,2,3 .code main proc mov eax,[arrNum+4] call Exi
阅读全文
摘要:;add 加法 ;add 操作数1 操作数2 >结果放在操作数1 ;sub 减法指令 ;sub 操作数1 操作数2 >操作1-操作2 结果放在操作数1里面 ;inc 自增 dec 自减 ;inc 操作数 ;neg 非操作,按位取反 减法运算 .586 .MODEL flat,stdcall opti
阅读全文
摘要:;数据传输指令 ;mov eax,1 mov 有两个操作数 ;mov reg32,imm32 ;操作数的类型 ;1.立即数 imm 包括imm8 imm16 imm32 ;2.寄存器操作数 eax ebx等操作数 ;3.内存操作数,引用内存位置 mem内存 mem8 mem16 mem32 ; re
阅读全文
摘要:.586 .MODEL flat,stdcall option casemap:none ; inc 是一个头文件 include windows.inc include user32.inc include kernel32.inc ;msvcrt.inc 引用c中的输入输出功能 include
阅读全文
摘要:基本知识点: (1)ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。(2)EBP:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部。 汇编实现
阅读全文
摘要:测试1 .586 .MODEL flat,stdcall option casemap:none ; inc 是一个头文件 include windows.inc include user32.inc include kernel32.inc ;msvcrt.inc 引用c中的输入输出功能 incl
阅读全文
摘要:下载一个库,安装进去 (气死我了,刚才写好了,网络掉了没有保存,又写一次,唉,随便写写好了,气死了气死了唉唉唉唉~~~~~~) .586 .MODEL flat,stdcall option casemap:none ; inc 是一个库 include windows.inc include us
阅读全文
摘要:中央处理器: 寄存器时钟 和其他内存等同步功能,脉冲CU 控制单元 机器指令的执行ALU 算数逻辑单元 执行加减法等算数运算逻辑运算 四条总线:数据传输控制总线 地址总线 保存指令和地址IO总线 cpu 和设备数据总线 cpu 和 内存
阅读全文
摘要:代码基本结构: ; .586 指令集 分号是注释 .586 ; MODEL 后面加 内存模式flat 和语言模式stdcall +其他模式(可以没有) ; 调用约定 flat内存使用方式 stdcall:win32 .MODEL flat, stdcall ;includelib +包含的静态库li
阅读全文
摘要:汇编语言用到的地方 1.纯汇编语言开发:追求效率的程序开发,不过目前比较少了 2.高级语言内联汇编:嵌套在高级语言当中,有些高级语言实现不了的或者突然要最求速度的 3.Windows内核编程,调试内核 4.逆向分析 汇编语言与机器语言是一一对应的 call = E9 jmp =E8 nop = 90
阅读全文
摘要:类与面向对象 封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权
阅读全文
摘要:#include <iostream> int main() { int Number1{5};//和 Number1=5; 赋值一样的功能 int Number2{10}; int Number3{ Number1 + Number2 }; std::cout << Number3 << std:
阅读全文
摘要:单向链表实例 链表结构:需要增加数据再增加,不用先定义内存 #include <stdio.h> #include <string.h> #include <stdlib.h> //单向链表,结构体 struct Node //结构体节点 { char Bookname[50]; //书名 int
阅读全文
摘要:结构体 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { struct GamePlayerInfo //声明一个结构体,例如游戏中的一个结构体例子 { char name[50]; //人物名字 int
阅读全文
摘要:文件读取 #include <stdio.h> #include <stdlib.h> int main() { FILE * pFile; //声明文件指针 char * szReadTextBuffer; //存储我们读到的东西 int nReadFileSize; //读取文件的尺寸 int
阅读全文
摘要:存储类 #include <stdio.h> //指针数组的基本实例 int c = 100; //静态存储时期,全局变量 void test() { int b = 100;//动态存储时期,作用域在test函数内,出了外面不起作业,局部变量 } int main() { return 0; }
阅读全文
摘要:简介 在计算机中, 所有的数据都是存放在存储器中的, 不同的数据类型占有的内存空间的大小各不相同。内存是以字节为单位的连续编址空间, 每一个字节单元对应着一个唯一的编号, 这个编号被称为内存单元的地址。比如: int类型占4个字节, char类型占1个字节等。内存为变量分配存储空间的首个字节单元的地
阅读全文

浙公网安备 33010602011771号