RE练习sdnisc2019_Simple_mobile

将程序加载JEB,发现MainActivity啥也没有
在这里插入图片描述
但是在data段发现信息
在这里插入图片描述
data里面才是主函数,找到

String v4_1 = "";
        while(v3 < arg9.length()) {
            v4_1 = v4_1 + v1[arg9.charAt(v3) - v6];
            ++v3;
        }

        if(v4_1.equals(v2)) {
            return "flag{" + Data.md5(arg9) + "}";
        }

发现就是一个核对的函数,对了在经过MD5这个函数再次加密。
通过自己核对后得到
arg9=435890157614875
然后就上脚本

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class ctf1 {
    public static String md5(String arg5) {
        byte[] v2;
        try {
            MessageDigest v1_1 = MessageDigest.getInstance("MD5");
            v1_1.update(arg5.getBytes());
            v2 = v1_1.digest();
        }
        catch(NoSuchAlgorithmException v1) {
            throw new RuntimeException("没有这个算法!");
        }

        String v1_2 = new BigInteger(1, v2).toString(16);
        int v2_1;
        for(v2_1 = 0; v2_1 < 0x20 - v1_2.length(); ++v2_1) {
            v1_2 = "0" + v1_2;
        }

        return v1_2;
    }
    public static void main(String[] args) {
    	String arg9="435890157614875";
    	System.out.print("flag{" + ctf1.md5(arg9) + "}");
    }
    
}

得到flag

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值