随笔分类 - Assembly x86 x64
Assembly x86 x64
摘要:汇编set语句: 实现无分支比较, 不断流水线 39383E46 |. 83F9 09 cmp ecx,0x9 39383E49 |. 0F97C0 seta al cmp 比较两个操作数,结果保存在FLAG寄存器中(同sub运算,不同在于不影响操作数, 只影响flag寄存器) seta 的 a 表
阅读全文
摘要:k = <rsp> <rip> <frame_count>x64下manual stack walking与x86不同,x86一般情况下有ebp chain,x64没有ebp chain,类似x86的FPOx64下,rsp在函数执行完prologue之后就不会变化(调用约定);所以0.如果函数内执行
阅读全文
摘要:#include #define PULONG_PTR ULONG** #define PULONG ULONG* #define ULONG_PTR ULONG* #include #include #include #include // 添加对dbghelp.lib的编译依赖 // #pragma comment(lib, "dbghelp.lib"...
阅读全文
摘要:几个月前我小小的研究了在WOW64下的32位进程中运行native x64代码。 第二个设想是在64位进程下运行x86代码。它们都是可以的,如我google的一样, 已经有人在使用这两种方法了: http://vx.netlux.org/lib/vrg02.html http://www.corsi
阅读全文
摘要:非易失性寄存器(Non-volatile register)是它的内容必须通过子程序调用被保存的一个寄存器。如果一个程序改变了一个非易失性寄存器的值,它必须保存在改变这个寄存器之前堆栈中保存旧的值和在返回之前恢复那个值。 Nonvolatile Register Nonvolatile regist
阅读全文