随笔分类 - Win32 汇编
摘要:一个进程中可以有多个线程,进程Id可作为线程表的外键。为了快速查询一个进程中的线程信息,可以在进程信息中加入线程表的地址。 线程环境块TEB:Thread Environment Block 线程信息块TIB:Thread Information Block TEB结构起始处保存了TIB,TIB的第
阅读全文
摘要:GetThreadContext和SetThreadContext可获取和设置线程上下文,调用前先SuspendThread,完毕后再ResumeThread。 CPU抛出的都是硬件异常,操作系统和软件抛出的异常称为软件异常。 异常过滤程序(exception filter)和异常处理程序(exce
阅读全文
摘要:在API实现处设置hook,只要流程运行到此处,就能进行劫持,并且通过寄存器或内存间接调用时也能劫持到。在足够底层的API处设置hook,可以劫持到大部分调用行为。 更改API实现处第一句代码为jmp XXXXXXXX,使其跳转到我们的流程中,之后再运行被替换掉的指令,完成后跳回原流程继续执行。 对
阅读全文
摘要:Call @F ;本条指令后一个@@标号 @@: Pop ebx Sub ebx, offset @B ;本条指令前一个@@标号 Call @F 把Pop ebx一句的地址压栈,然后jmp到Pop ebx一句的地址执行,执行完毕后ebx等于Pop ebx一句所在地址,即运行时的地址。 Sub ebx
阅读全文
摘要:D:\masm32\include\windows.inc文件中有大部分类型的定义 User32.inc文件中没有CreateWindow,但是有CreateWindowEx 汇编指令Enter相当于push ebp, mov ebp, esp 汇编指令Leave相当于mov esp, ebp, p
阅读全文
摘要:32位处理器环境的段寄存器:内存描述符表的段选择子 简单的代码: .386 ;使用的指令集 .model flat, stdcall ;内存模型和默认的函数调用约定,后续proc和proto如果没写约定,就用此处默认的 option casemap:none ;大小写敏感 MessageBox eq
阅读全文

浙公网安备 33010602011771号