首页
论坛
专栏
课程

[原创]逆向了两个函数,主要是一维数组的写法

2019-10-9 01:20 1123

[原创]逆向了两个函数,主要是一维数组的写法

2019-10-9 01:20
1123
 int f2(int sa,int sb) 
return sa+sb; 
}




f1
参数 无 
 局部变量 a[10]={1,2,3,4,5,6,7,8,9,10}              [ebp-2c]:la=1       [ebp-30]=:lb=2       [ebp-34]:lc
 全局变量 无 
 还原 
void f1() 
{} int a[10]={1,2,3,4,5,6,7,8,9,10}; i
nt la=1,lb=2; int lc=a[2]; 
 lc=a[la];
 lc=a[la+lb];
 lc=a[la*2+lb] ;
lc=a[a[1]+a[2]]; 
 lc=a[f2(1,2)]; 
 int ld=a[100];


主要思路就是:先掐头去尾,然后找参数、局部变量、全局变量、返回值。然后把汇编代码分金定穴(分块)。然后还原C语言。
 



2020安全开发者峰会(2020 SDC)议题征集 中国.北京 7月!

上传的附件:
最新回复 (4)
Sampgirl 2019-10-10 10:01
2
0
逆向思路若能更详细就好了
killpy 2 2019-10-10 18:26
3
0
没看明白 希望下次 具体一下 最好做个视频  你是一步步 如何确定 汇编 哪一块是局部变量 那一块是全局变量等等 另外你说的分金定穴到底是啥意思啊  能否详细讲解一下啊 同学
AMask 2019-10-11 01:14
4
0
Sampgirl 逆向思路若能更详细就好了
好的  主要放不进去插图。。
AMask 2019-10-11 01:14
5
0
好的
游客
登录 | 注册 方可回帖
返回