-
-
[原创]逆向了两个函数,主要是一维数组的写法
-
发表于:
2019-10-9 01:20
3260
-
{
}
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语言。
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语言。
局部变量
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语言。
全局变量 无
还原
void f1()
{} int a[10]={1,2,3,4,5,6,7,8,9,10};
i
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课