buu reverse 简单注册器

写在前面:本篇wp参考了别人的博客

首先用apkida打开这个文件,然而看不懂,于是我下载了jeb

image

找到flag包下的main函数,然后按红框画出来的解析按钮就可以汇编-源码转换了

image

红框部分明显是关键,把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{}提交就行

posted @ 2022-08-05 14:34  畅容  阅读(129)  评论(0)    收藏  举报