# 待破解MD5值 target_md5s =[] flag=""str='8393931a16db5a00f464a24abe24b17a9040b57d9cb2cbfa6bdc61d12e9b51f2789e8a8ae9406c969118e75e9bc65c4327fbc7c3accdf2c54675b0ddf3e0a6099b1b81046d525495e3a14ff6eae76eddfa1740cd6bd483da0f7684b2e4ec84b371f07bf95f0113eefab12552181dd832af8d1eb220186400c494db7091e402b0'for i inrange(8): target_md5s.append(str[32*i:32*(i+1)])
# 生成所有可能的4位信息的列表 passwords = [] for a in'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_': for b in'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_': for c in'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_': for d in'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_': passwords.append(a+b+c+d)
# 逐个比较MD5值for md5 in target_md5s: for password in passwords: if hashlib.md5(password.encode('utf-8')).hexdigest() == md5: flag+=password print("Password found: " + password) breakprint("flag{"+flag+"}")
function set_return() { let MainActivity = Java.use("com.example.crackme1.MainActivity"); MainActivity["check"].implementation = function (flag) { console.log(`MainActivity.check is called: flag=${flag}`); let result = this["check"](flag); console.log(`MainActivity.check result=${result}`); return true; }; }
function main() { Java.perform(function() { set_return(); }); }