源代码
#include <iostream>
using namespace std;
int sumRecursion(int arr[], int n){
if (n > 0) {
return sumRecursion(arr, n - 1) + arr[n - 1];
}
return 0;
}
int main() {
int arr[5] = { 1,2,3,4,5 };
int sum=sumRecursion(arr, 5);
cout << "sum= " << sum << endl;
}
反汇编代码
重要部分已经注释,可以看到.text:00412668处调用了sumRecursion函数
sumRecursion函数反汇编
可以看到,逆向的时候递归函数可以很轻松判断,因为递归函数在反汇编代码里又call了自身(.text004125B9)。