随笔分类 - 汇编
Understanding Windows x64 Assembly
摘要:中文版:https://www.cnblogs.com/ioriwellings/p/17265697.html Understanding Windows x64 Assembly Contents (Top)Code RepositoryIntroduction Why should I car
阅读全文
Creating double-precision integer multiplication with a quad-precision result from single-precision multiplication with a double-precision result
摘要:Creating double-precision integer multiplication with a quad-precision result from single-precision multiplication with a double-precision result Raym
阅读全文
Understand C++ vtable from assembly code
摘要:Understand C++ vtable from assembly code (part 1) A glance at vtable implementation For simplicity, part 1 only discusses how vtable works with single
阅读全文
深入理解Windows X64调试
摘要:void func(int Param1, int Param2) { int var1, var2; // stack memory layout at this point // [RSP] = var1 (DWORD) // [RSP+0x4] = var2 (DWORD) // [RSP+0
阅读全文
花指令
摘要:花指令实际上把它按照 “乱指令” 来理解可能更贴切一些。我们知道,汇编语言其实就是机器指令的符号化,从某种程度上看,它只是更容易理解一点的机器指令而已。每一条汇编语句,在汇编时,都会根据 cpu 特定的指令符号表将汇编指令翻译成二进制代码。 而日常应用中,我们通过 VC 的 IDE 或其它如 OD
阅读全文
用x86与x64函数调用理解ESP栈指针
摘要:尽管可以使用相对于栈顶(ESP寄存器)的偏移量来引用局部变量’ 但是因为ESP寄存器经常变化’所以用这种方法引用同—个局部变量的偏移量是不固定的。这种不确定性对于CPU来说不成什么问题但在调试时’如果要跟踪这样的代码’那么很容易就被转得头晕眼花’因为现实的函数大多有多个局部变量’可能还有层层嵌套的循
阅读全文
P/Invoke调用dll函数,将本来void的函数声明为带返回值的,在win7出错,在winxp下正常,理由是?-- 续
摘要:作者:不及格的程序员-八神 在前文中P/Invoke调用dll函数,将本来void的函数声明为带返回值的,在win7出错,在winxp下正常,理由是? 本以为自已可以耍小聪明骗过clr平台调用引擎,将eax寄存器做为返回值.其实这样做一开始就是错误的. CLR内存管理在平台调用中使用COM内存管理模
阅读全文
P/Invoke调用dll函数,将本来void的函数声明为带返回值的,在win7出错,在winxp下正常,理由是? [] 操作符
摘要:作者:不及格的程序员-八神 情况描述: 我在win32 dll 项目中封装了段asm代码调用另一个dll中的函数. 在我的win32 dll项目中公开的函数声明如下: 1 extern "C" _declspec(dllexport) void No(const char* source, char
阅读全文
用ASM直接调用没有参数信息的dll库函数!
摘要:作者:不及格的程序员-八神 1. 背景资料 通常开发者获取到的通用dll函数库都会有说明文件,里面对dll库中公开的函数都会有api接口说明,比如函数的名称,返回值,参数类型以及参数的数量. 但是有时开发者也会找到一些dll库函数,这些库函数只能获取到函数名称,而没有关于函数的参数信息. 这种dll
阅读全文
浙公网安备 33010602011771号