Android逆向题解攻防世界-easyjava-难度6

纯Java实现,不涉及so, flag加密之后与指定字符串 “wigwrkaugala"比较判断,循环一个个字符加的,那可以一个个字符对应还原。
在这里插入图片描述
加密算法就在a,b类里面,代码直接复制到idea ,枚举暴力破解。
每一位输入范围a-z , 找到对应的加密字符"wigwrkaugala”
a,b 类直接复制就行,没什么需要改的。
一位一位的找,执行12次就可以了。

    public static void main(String[] args) {

        String old = ""; //这里填对应的结果
        char ch = 'a';
        for (int i = 0; i < 26; i++) { //a-z 循环
            String temp = String.valueOf((char)(ch + i));
            String s = old + temp;
            System.out.println("s = " + s);
            b b0 = new b(2);
            a a0 = new a(3);
            StringBuilder stringBuilder0 = new StringBuilder();
            int v1 = 0;
            for(int v = 0; v < s.length(); ++v) {
                stringBuilder0.append(new easyjava().d((s.charAt(v) + ""), b0, a0));
                Integer integer0 = b0.b() / 25;
                if(integer0 > v1 && integer0 >= 1) {
                    ++v1;
                }
            }
            System.out.println("sb= " + stringBuilder0);
            b.reset();  //重置b类的静态变量
            a.reset();  //重置a类的静态变量
        }
    }
    private char d(String s, b b0, a a0) {
        return a0.a(b0.a(s));
    }

大致流程就是每一位都遍历a-z,找到加密结果和wigwrkaugala 对应上。
对应的加密结果:最后算出来是有多个解。
v->w
ve->wi
ven->wig
veni->wigw
veniv->wigwr
venivi->wigwrk
venivia->wigwrka 有2个 venivid->wigwrka 第7位两个解
veniviai->wigwrkau
veniviaiv->wigwrkaug
veniviaivi->wigwrkauga 又有2个 veniviaivk ->wigwrkauga 第10位两个解
veniviaivic->wigwrkaugal
veniviaivici->wigwrkaugala 又有2个 veniviaivicr->wigwrkaugala 第12位两个解

注意点1:
jeb的自动解密导致代码错误。
jeb自动把b.b解密成“abcdefghijklmnopqrstuvwxyz”,而b.b 运行中是会变化的。
在这里插入图片描述
关掉jeb 自动解密:
在这里插入图片描述
注意点2:
类a,b 执行过程中是变化的,执行不同次数结果是不一样的。
另外a,b类里面有静态变量,遍历完一次需要重置恢复到初始值不然加密结果不对。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值