凉游浅笔深画眉 发表于 2017-1-15 17:37

KeyGenMe,要求:逆算法或者还原代码,不知道能不能撑到明天

本帖最后由 凉游浅笔深画眉 于 2017-1-15 21:15 编辑



朋友写的,C语言Debug版 Hello World级别的程序。

爆破毫无难度。

KeyGenMe.搞定的话希望写个简单的分析过程。

如果能完全还原成C语言,算你流弊。。。。。。。。

Good luck........



晓晓晓 发表于 2017-1-16 17:13

本帖最后由 晓晓晓 于 2017-1-16 17:15 编辑

额, 程序启动参数和输入一样 且不为0 则登陆成功。

void fun(int a1){
int* a;
int b;

//ebp+c 这个C语言不知道怎么写会编译成这样 这应该是第一个启动参数
a = &argv;
//没有启动参数提示不正确
if(a==null){
printf("密码不正确");
return;
}

b = argv;
//输入为0提示不正确
if(a1==0){
printf("密码不正确");
return;
}
//启动参数为0也提示不正确
if(a== 0){
printf("密码不正确");
return;
}

//如果启动参数等于输入的,就登陆成功
if(a1 == b){
printf("登陆成功!");
}

}

void main(int argc,char * argv[]){
int a;
printf("请输入密码:");
scanf("%d",&a);
fun(a);

}

zbnysjwsnd8 发表于 2017-1-15 20:30

哇 好厉害哦

snail_ 发表于 2017-1-15 21:06

晓晓晓 发表于 2017-1-16 17:17

试验结果

姚小宝 发表于 2017-2-11 13:29

我不行啊。。由楼上所说。。感觉我的启动参数一直为0..怎么样才能让他不为0呢?,,,

黑狼战神 发表于 2017-3-8 19:17

程序启动参数和输入一样 且不为0 则登陆成功。
页: [1]
查看完整版本: KeyGenMe,要求:逆算法或者还原代码,不知道能不能撑到明天