刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

2017年CNAS网络安全等级保护测评能力验证与攻防大赛 AuditAndAccountability Writeup

apk逆向

1.png

计算逻辑

1.png对56个字符进行异或处理,写个脚本破解就好

import base64
arr = [0x96, 0xa1, 0xb4, 0xa4, 0x96, 0xff, 0xbf, 0xf8, 0x82, 0x98, 0x8e, 0xa1, 0x81, 0x88, 0x89, 0xff, 0x81, 0xa5, 0xfc,
       0xbb, 0x82, 0x98, 0x99, 0xb4, 0x80, 0x98, 0x9d, 0xbb, 0x82, 0xa6, 0x89, 0xb8, 0x95, 0xa1, 0x89, 0xff, 0x96, 0xa5,
       0xfc, 0xfe, 0x82, 0x98, 0x89, 0xb5, 0x95, 0xa6, 0xaf, 0xb4, 0x96, 0x88, 0x9a, 0xa6, 0x82, 0xa6, 0xa8, 0xf5]
r = ''
for i in arr:
    r += chr(int(i ^ 0xCC))
print base64.b64decode(r)
#flag{850f0172-0551-4061-ba7f-6512b71d5c67}

java版,复制反编译出来的MainActivity.class 放到idea中,稍微修改下代码

import com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;
import com.sun.org.apache.xml.internal.security.utils.Base64;

public class test {

    public static void main(String[] args) {
        int[] var2 = new int[]{150, 161, 180, 164, 150, 255, 191, 248, 130, 152, 142, 161, 129, 136, 137, 255, 129, 165, 252, 187, 130, 152, 153, 180, 128, 152, 157, 187, 130, 166, 137, 184, 149, 161, 137, 255, 150, 165, 252, 254, 130, 152, 137, 181, 149, 166, 175, 180, 150, 136, 154, 166, 130, 166, 168, 245};
        StringBuffer sbu = new StringBuffer();
        String s = "";
        for (int var3 = 0; var3 < 56; ++var3) {
            sbu.append((char) (var2[var3] ^ 204));
        }
        System.out.println(sbu.toString());
        try {
            System.out.println(new String(Base64.decode(sbu.toString()), "UTF-8"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}


发表评论:

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.