↧
VC中函数返回值的存放与传递
教科书中一般说,在C/C++中,函数通过eax寄存器返回结果。如果结果不大于4字节,则eax就是它的值;如果大于4字节,则返回存放它的内存地址。 请思考如下的问题: 如果函数返回的结果大于4字节,那么它被存放到哪里了? 一般情况下,局部变量通过add esp -4*n或者push...
View ArticleElementary ARM for Reversing
最近几天简单地学了一点ARM,将学习笔记整理了一下,做成了一张PPT。 下载地址:Elementary ARM for Reversing 在线浏览如下:
View ArticleAAPCS笔记
AAPCS全称Procedure Call Standard for the ARM Architecture,是ARM架构下应用程序例程调用的二进制接口规范。它的前身是著名的ATPCS。...
View Article关于armhf (hard-float ABI for ARM)
armhf是什么 在Ubuntu 12.04和Debian里,除了arm, armel,还出现了一个名为armhf的版本。这个东西是什么? 众所周知,armel是目前主要的ARM ABI。armhf则是armel的一个变种,主要区别在浮点计算上。...
View Articlex32 ABI
kernel 3.4发布了,其中一个更新是加入对x32 ABI的支持。 与此前曾介绍的armel与armhf关系一样,x32并不是intel处理器的一种新架构,而是在intel 64位处理器上(也许将来也会用到ARM上?)的一种二进制程序调用规范。它的主要想法是:...
View Article