niucaidi 发表于 2021-7-10 16:01

C语言基础第三课:逆向一个简单C语言函数

本帖最后由 niucaidi 于 2021-7-10 16:17 编辑

### 逆向一个简单C语言程序中的函数嵌套调用并观察其调用约定的区别
- 拖入OD中观察指定函数的汇编代码并逆向出其C语言源码
- 程序打包在附件中
- Call的地址:0x00401138
- 以下是范例:
#include <stdio.h>
int plus3(int l, int i)
{
      return l + i;
}

int __stdcall plus2(int q, int w, int e)
{
      return q + w + e;
}

int __fastcall plus(int a,int b,int c,int d,int e)
{
      int x = a;          //ebp-0x4
      int y = b;    //ebp-0x8
         int z = plus2(x,y,c);   //ebp-0xc
      int t = plus3(x, y);    //ebp-0x10
      returnplus3(z, t);


}

int main()
{
      int a[] = { 1,3,4,6,7 };
      int b = plus(a, a, a, a, a);

      略......
      return 0;
}



求评分求热心!

gxhc168 发表于 2021-7-11 13:30

点赞顶贴支持

c00144 发表于 2021-7-11 16:39

学习学习,,,,

不明所以 发表于 2021-7-11 22:05

学习学习,,,,

WangLT 发表于 2021-7-12 08:49


学习学习,,,,

daniel7785 发表于 2021-7-12 09:08

学习学习,,,,

Bruce_HD 发表于 2021-7-12 09:39

加油学习。支持支持。

lwq1213 发表于 2021-7-12 09:50

真是非常感谢老师给个重新学习C的机会!

lanshushu 发表于 2021-7-12 13:22

这是C进阶教程吧

zh190725 发表于 2021-7-12 16:46

学习一下,谢谢分享
页: [1] 2
查看完整版本: C语言基础第三课:逆向一个简单C语言函数