2022.3.26逆向做题

一、BUUCTF 简单注册器

需要用到jeb,一开始还以为是打开
在这里插入图片描述
这个东西,然后发现打开之后出来一个很奇怪的东西,而且还带配乐
在这里插入图片描述
然后就觉得不对劲,然后我也不知道为什么就觉得可能是这个
在这里插入图片描述
然后就用这个打开试试,果然可以打开。
然后用JEB打开之后是这样的
在这里插入图片描述
注意左下角的这个
在这里插入图片描述
有个flag包。
我们也不知道哪个真正的有flag,只能自己一个个看。
然后我们选中第一个在这里插入图片描述
按tab键反编译,或者是直接点右键,然后点第一个解析。
然后发现都是一些奇怪的东西,并没有什么意义。
然后选中第二个,然后按tab,然后就会看到这个页面
在这里插入图片描述
我们发现这个里面的java代码,好像有点可以看懂。
然后继续往下看
在这里插入图片描述
有一个很可疑并且一看就像是flag的地方
在这里插入图片描述
就是这一块
我们分析一下可以看到最后一句输出语句,会输出flag{v5},
所以说只要解出来v5就可以知道flag是什么。
然后直接拿反编译的代码开始写代码
写出来是:

package unit2;

import java.util.*;

public class revapk326 {

    public static void main(String[] args) {
        int v11 = 0x1F;
        int v9 = 2;
        int v2 = 1;
        char[] v5 = "dd2940c04462b4dd7c450528835cca15".toCharArray();
        v5[v9] = ((char)(v5[v9] + v5[3] - 50));
        v5[4] = ((char)(v5[v9] + v5[5] - 0x30));
        v5[30] = ((char)(v5[v11] + v5[9] - 0x30));
        v5[14] = ((char)(v5[27] + v5[28] - 97));
        int v4;
        for(v4 = 0; v4 < 16; ++v4) {
            char v0 = v5[0x1F - v4];
            v5[0x1F - v4] = v5[v4];
            v5[v4] = v0;
        }
        System.out.println(v5);

    }
}

输出的结果是:

59acc538825054c7de4b26440c0999dd

然后提交flag,果然是对的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值