1.关于寄存器Windows 在内部频繁使用 ESI,EDI,EBP,EBX 寄存器,而且并不去检测这些寄存器的值是否被更改,所以如果要使用这些寄存器时必须先保存它们的值,待用完后再恢复它们eax 是WIN32 API 默认的返回值存放处。ecx 是LOOP指令自动减一的寄存器,也就是一半用来计数,...
1.下载并安装MASM,下载nmake.exe工具,把namake.exe放到MASM安装目录的bin下。2.编写一个用于设置环境变量的批处理文件var.bat(放到masm根目录即可)文件的内容如下:@echooffrem请根据Masm32软件包的安装目录修改下面的Masm32Dir环境变量!se...
win32汇编里面,我们既可以用invoke也可以用call调用子程序/函数,不过invoke使用简单方便,所以绝大多数情况我们都用invoke。但是很多人只是知道使用它,对它却不是很了解。我以前对这个问题也是一直没搞透彻,说实话,之前借的汇编书讲解的实在有些烂,NND连个上机调试的方法都没有。学东...
分类:
其他好文 时间:
2014-07-23 20:51:05
阅读次数:
386
窗口创建过程
GetModuleHandle->RtlZeroMemory->LoadCursor->RegisterClassEx->CreateWindowsEx->ShowWindow->UpdateWindow
获得模块句柄->结构体初始化(填0)->加载光标->注册窗体类->创建窗体->显示窗体->更新客户区
win32API函数定义
GetModuleH...
;代码段 .code;---------------------; 将内存偏移量RVA转换为文件偏移;
lp_FileHead为文件头的起始地址; _dwRVA为给定的RVA地址;---------------------_RVAToOffset proc
_lpFileHead, _dwRVA ....
优先级划分、指令的权限检查和超出权限访问的异常处理等是构成特权保护的基础。本文将试图讲解为大家解决两大问题:
--win32汇编中为什么找不到中断指令的应用?比如int 7ch
--windows错误的‘蓝屏’是从哪里来的?
保护模式下,中断或异常往往从用户代码切换到操作系统代码中执行。由于保护模式下的代码有优先级之分,因此出现从优先级低的应用程序转移到优先级高的系统代码的问题,如果优先级低...
分类:
其他好文 时间:
2014-05-04 09:24:27
阅读次数:
341