逆向
文章平均质量分 83
逆向
okay哥
关注应用安全,包含Android,IOS,IoT和Windos应用。
展开
-
逆向基础(三)--- IDA中的虚函数
这片文章(C++中的多态及实现原理(虚函数))阐述了多态的使用以及利用虚函数实现多态的原理,主要是从正向侧说明。我们在逆向过程中也会经常遇到虚函数的使用,在逆向中,在IDA中,虚函数又是什么样子的呢?本文实例代码:/*C++多态测试实例*/#include <string>#include <iostream>using namespace std;//基类class Base {public: virtual void vfunc1() {原创 2020-07-20 16:15:08 · 2679 阅读 · 1 评论 -
逆向基础(二)--- 函数调用过程完整分析
在逆向工程汇编分析过程中,总会遇到很多的函数调用。我们一般关心:参数的传递,函数返回,函数调用,参数引用,返回值,函数返回,堆栈平衡这些问题。下面我们用实例来分析一下函数整个调用过程。首先给一张函数调用全景图为了方便说明,写一个简单测试用例。C代码实例如下:int funWith4args(int A, int B, int C,int D){ int sum = A + B + C + D; return sum;}int __stdcall fun_stdcall_5args(int原创 2020-07-16 17:19:26 · 1410 阅读 · 0 评论 -
逆向基础(一)--- 函数调用协议汇总X86/X64/ARM/ARM64
X86 函数调用约定函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则。如下图所示,可以在IDE环境中设定所有函数默认的调用协议,还可以在函数定义时单独设定本函数的调用协议。调用协议常用场合__stdcall:Windows API默认的函数调用协议。__cdecl:C/C++默认的函数调用协议。__fastcall:适用于对性能要求较高的场合。函数参数入栈方式__stdcall:函数参数由右向左入栈。__cdecl:函数参数由右向左入栈。原创 2020-07-16 10:53:44 · 1125 阅读 · 0 评论