逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值. 在反汇编中,我们常常的会看到各种的函数调用,或者通过逆向的手段,单独的使用这个函数,那么此时,我们就需要认识一下怎么识别函数了. 一丶识别__cdecl 函数(俗称C Call),函数参数,函数返回值 首先写一个C Call的函数 1.返回 ...
分类:
其他好文 时间:
2017-11-28 01:25:14
阅读次数:
184
最近有个需求,要生成一个dll 文件,文件中的函数都是采用 stdcall 函数调用约定,但是不希望函数名被修饰(add 被修饰成 add@8)。这时就要用def 文件了。 比如我有下面两个函数: [cpp] view plain copy extern "C" int _stdcall add(i ...
分类:
其他好文 时间:
2017-11-03 12:57:11
阅读次数:
129
x86平台下调用约定 我们都知道x86平台下常用的有三种调用约定,__cdecl、__stdcall、__fastcall。我们分别对这三种调用约定进行分析。 __cdecl __cdecl是C/C++的默认调用约定,如果不显示声明调用约定的情况下,就是该调用约定。下面我们来从汇编层次来熟悉这种调用 ...
分类:
其他好文 时间:
2017-09-25 11:48:25
阅读次数:
207
1.函数调用约定 函数的调用约定,顾名思义就是对函数调用的一个约束和规定(规范),描述了函数参数是怎么传递和由谁清除堆栈的。它决定以下内容: (1) 函数参数的压栈顺序; (2) 由调用者还是被调用者把参数弹出栈; (3) 产生函数修饰名的方法; 在看C++ primer中就提到函数声明包括:返回值 ...
分类:
其他好文 时间:
2017-09-01 13:40:33
阅读次数:
288
转载:http://www.sohu.com/a/118385096_468740 mips栈帧原理 Call stack 是指存放某个程序的正在运行的函数的信息的栈。Call stack 由 stack frames 组成,每个 stack frame 对应于一个未完成运行的函数。 在当今流行的计 ...
分类:
其他好文 时间:
2017-07-19 11:56:56
阅读次数:
178