buu reverse 简单注册器
写在前面:本篇wp参考了别人的博客
首先用apkida打开这个文件,然而看不懂,于是我下载了jeb
找到flag包下的main函数,然后按红框画出来的解析按钮就可以汇编-源码转换了
红框部分明显是关键,把v5解出来就行,上面的不用管
把红框部分复制到visual C++里面,然后把代码稍微改一下,补充v11和v9的值,运行
点击查看代码
#include <stdio.h>
#include <string.h>
int main() {
int v11 = 31;
int v9 = 2;
char v5[] = "dd2940c04462b4dd7c450528835cca15";
v5[v9] = ((char)(v5[v9] + v5[3] - 50));
v5[4] = ((char)(v5[v9] + v5[5] - 48));
v5[30] = ((char)(v5[v11] + v5[9] - 48));
v5[14] = ((char)(v5[27] + v5[28] - 97));
int v4;
for (v4 = 0; v4 < 16; ++v4) {
char v0 = v5[31 - v4];
v5[31 - v4] = v5[v4];
v5[v4] = v0;
}
printf("%s", v5);
return 0;
}
结果是 59acc538825054c7de4b26440c0999dd,包上flag{}提交就行