1、方俊郎手机总共安装了多少款理财应用2、方俊朗使用筛选优质客户的应用包名是什么3、筛选优质客户应用将用户查询记录存储在一个加密的本地数据库中. 请问该加密数据库的文件名是什么chat_history.db火眼无法直接解析说明的确是加密数据库4、该应用使用了哪种密钥派生算法来生成数据库加密密钥? 请写出完整的算法标识名称本题开始就要分析apk源码了先导出apk文件习惯新建一个文件夹专门用作逆向该apk资源文件中存在异常payload.dat以及config.bin查看xml发现有com.shell.loader.ShellApplication,初步判断该apk加壳需要先脱壳查看加壳代码逻辑集中在com.shell.loader.ShellApplication这个类中。加壳代码主要进行了一个源代码的解密同时做了一个反frida监测。加壳 APK 就是把真正的代码锁在保险箱里只有 App 跑起来时箱子才打开。你要拿代码要么从箱子里拿运行时抓内存要么找到钥匙静态解密。两者都是在拿锁在里面的东西。 这个 APK 的结构看一眼就明白 base.apk你手上有这个文件 │ ├── classes.dex ───── 只有壳的启动代码 ├── classes2.dex ──── 部分资源类 ├── classes3.dex ──── 只有 ShellApplication220行壳 │ └── assets/payload.dat ── 加密的文件10.5MB 里面锁着 ├── 真正的 classes.dex(9.8MB包含 MainActivity 等)├── 真正的 classes2.dex(605KB)└── 真正的 classes3.dex(26KB)你直接看 APK壳的代码是明文真正应用的代码是密文。所以你只看到 ShellApplication看不到 MainActivity。 --- App 运行时的过程 App 启动 │ └─ ShellApplication.attachBaseContext()│ ├─ 读取 payload.dat加密的 ├─ 解密 → 得到明文 DEX 数据在内存里10.5MB └─ InMemoryDexClassLoader 加载到系统中 │ ▼ 现在 MainActivity 等类在内存里可用了 ✅ 两种搞定方案 - 静态之前做的分析壳代码 → 找到密钥 → 离线解密 → 拿到明文 DEX - 动态现在做的让 App 跑到解密完成那一刻 → 从内存里把已解密的 DEX 拷贝出来 本质上都在做同一件事把锁在壳里的代码取出来。方法是hook原壳代码中的initDexFromMemory方法其传入参数就是明文的dex文件以下是hook代码// unpack.jsJava.perform(function(){console.log([*] Installing hooks...);// ── ① 反检测过滤 String.contains ──varStringClassJava.use(java.lang.String);StringClass.contains.implementationfunction(sub){if(subfrida-agent||subfrida-gadget||subfrida||subfrida-server||sublinjector||subgum-js-loop||subre.frida.server||subTracerPid:){returnfalse;}returnthis.contains(sub);};// startsWith(String) — 一个参数版本StringClass.startsWith.overload(java.lang.String).implementationfunction(prefix){if(prefixTracerPid:){returnfalse;}returnthis.startsWith(prefix);};// startsWith(String, int) — 两个参数版本StringClass.startsWith.overload(java.lang.String,int).implementationfunction(prefix,offset){if(prefixTracerPid:){returnfalse;}returnthis.startsWith(prefix,offset);};// ── ② 防自杀兜底 ──Java.use(java.lang.System).exit.implementationfunction(code){console.log([block] System.exit(code));};// ── ③ 核心Hook initDexFromMemory ──varShellJava.use(com.shell.loader.ShellApplication);Shell.initDexFromMemory.implementationfunction(dexBytes){console.log([] initDexFromMemory: dexBytes.length bytes);varname/data/data/com.example.predictor/files/dump_dexBytes.length.dex;try{varfosJava.use(java.io.FileOutputStream).$new(name);fos.write(dexBytes);fos.close();console.log([] DUMPED: name);}catch(e){console.log([-] Write: e);}returnthis.initDexFromMemory(dexBytes);};console.log([*] Ready);});重写了String类的contains和startWith函数绕过frida检测重写了exit函数重写后执行system.exit没有任何事情发生执行frida -U -l .\unpack.js -f com.example.predictor得到明文的dex字节码放入jadx即可得到脱壳后的源码密钥派生算法直接可见5、分析方俊朗phone.E01检材该应用的密钥派生过程中使用了多少次迭代运算100006、分析方俊朗phone.E01检材该应用检测动态调试工具时探测了哪个本地端口号270427、分析方俊朗phone.E01检材该应用密钥由多个盐值片段拼接后派生而来。请问第一个盐值片段的具体内容是什么8、分析方俊朗phone.E01检材当密钥派生过程出现异常时应用会使用一个硬编码的备用密钥。请问该备用密钥的完整内容是什么9、分析方俊朗phone.E01检材分析优质客户预测应用该应用的安全检测模块通过检查一个特定的类名来判断设备是否安装了Hook框架。请问被检测的完整类名是什么10、分析方俊朗phone.E01检材该应用在偏好设置文件中存储了一个密钥校验值。请问存储该校验值的键名key是什么11、分析方俊朗phone.E01检材该应用加密数据库中存储对话记录的数据表名是什么[答案格式liaotian_dfelge]需要解密数据库文件首先整体使用sqlcipher4.5.4加密密钥派生使用PBKDF2WithHmacSHA256用python脚本复现12、分析方俊朗phone.E01检材该应用的密钥生成逻辑该应用中的第三个盐值片段是通过逐字符拼接生成的。请问该片段拼接后的完整内容是什么[答案格式K8m!pQ2x]13、分析方俊朗phone.E01检材该应用使用了载荷在内存中直接加载而不在磁盘落地。若选手希望通过Frida动态拦截明文的DEX字节数组应该Hook该应用壳的哪个私有方法[答案格式loadDexFromMemory]考察Frida的hook基础之前已经脱壳完毕了14、分析方俊朗phone.E01检材分析应用的壳代码逻辑其解密密钥由3个字符串片段混淆拼接而成。请通过静态分析还原用于解密的3个片段拼接合并后的完整密钥明文。[答案格式Ab6de_a8bc4d_a5b_345d]15、接上题当选手尝试使用frida-dexdump等通用脱壳工具动态附加时应用会立刻闪退。请分析该逻辑写出该线程触发进程自杀所调用的完整Java系统方法签名。[答案格式abcd.abcd.Abcdabc.abcd]16、分析方俊朗phone.E01检材方俊朗使用其内部通联工具时共加入过几个群[答案格式7]解密数据库过程参考周文杰手机17、分析方俊朗phone.E01检材方俊朗通过物联网设备漏洞共获得多少用户信息[答案格式10]16、17需要先分析周文杰的检材消息经过base64编码和aes加密以下是解密的py脚本importjson,base64fromCrypto.CipherimportAESfromCrypto.Util.Paddingimportunpad KEYbase64.b64decode(bGx3iDfEn4O5kW2hf0E594CjcyE1aujg0RIE5DPMM)IVbase64.b64decode(y1q/i9a/85OsPry0WMffw)withopen(rD:\Programming\Py\message.json,encodingutf-8)asf:msgsjson.load(f)withopen(rD:\Programming\Py\decrypted.txt,w,encodingutf-8)asout:forminmsgs:ctbase64.b64decode(m[content])ptunpad(AES.new(KEY,AES.MODE_CBC,IV).decrypt(ct),16).decode()tsm.get(create_at,0)ifts:fromdatetimeimportdatetime tsdatetime.fromtimestamp(ts/1000).strftime(%Y-%m-%d %H:%M)recalled[RECALLED]ifm[state_bits]1elsedeleted[DELETED]ifm[extra_val]1elseout.write(f[{ts}] [{m[conversation_id]}]{m[sender_id]}{recalled}{deleted}:{pt}\n)18、分析周文杰Image.zip检材周文杰跟其犯罪团伙人员内部通联工具包名是[答案格式com.apt.app]**几部手机都存在相同的app基本确定是内部通讯工具19、分析周文杰Image.zip检材内部通联app聊天数据库名称是[答案格式abc.db]20、分析周文杰Image.zip检材内部通联app聊天数据库密码保存在哪个文件中[答案格式Abc.txt]21、分析周文杰Image.zip检材周文杰内部通联app聊天数据库密码是[答案格式123-abc]用文件里面的密码打开不了需要逆向这个flutter框架的apk。用jadx打开基本确定是flutter框架的apk使用blutter工具进行逆向分析首次运行需要编译git clone https://github.com/worawit/blutter cd scripts python init_env_win.py #下载编译所需程序打开x64 Native Tools Command Prompt for VS运行python blutter.py得到dart汇编码得知数据库密码是Pgs-dbw DateTime::_getCurrentMicros Good 构成, 但实际用的是 substring(2, length-1) 的部分, 因此密码是 s-dbw1776853545473Goo成功加载数据库数据22、分析周文杰Image.zip检材内部通联app聊天数据使用的什么加密算法?[答案格式ABCDEF]分析周文杰Image.zip检材内部通联app用户密码的盐值是[答案格式1234abcd]分析周文杰Image.zip检材记录周文杰内部通联app登录密码提示的应用包名是[答案格式com.temp.app]类似备忘录的app分析周文杰Image.zip检材内部通联app登录密码是[答案格式123abc]根据以上密码的提示爆破sha256哈希分析周文杰Image.zip检材周文杰在内部通联app中删除了几条聊天记录[答案格式123]在模拟器中动态加载将FlutterSharedPreferences.xml、password.json以及数据库文件加载放入模拟器中的数据目录即可分析周文杰Image.zip检材聊天数据库中显示聊天数据删除的是哪个字段?[答案格式ab_cd]分析林小婉手机检材发现有个应用隐藏了很多信息目前已经找到这个应用它的程序名称是[答案格式微信]今日头条分析林小婉手机检材这个应用有一个安全加密的PIN码它是多少[答案格式12345678]PIN码的逻辑是用户输入pin码进行PBKDF2WithHmacSHA256运算得到哈希值与固定值进行对比盐值JinriPIN_Salt_固定哈希7e881d49322271f3dd4fa24846a5cc53d1e0506b46007caa4b27f1416b27b54cimporthashlib expected7e881d49322271f3dd4fa24846a5cc53d1e0506b46007caa4b27f1416b27b54csaltbJinriPIN_Salt_foryearinrange(2000,2026):formonthinrange(1,13):fordayinrange(1,32):date_strf{year:04d}{month:02d}{day:02d}hashhashlib.pbkdf2_hmac(sha256,date_str.encode(),salt,10000,32).hex()print(hash)ifhashexpected:print(fFound matching date:{date_str})break结合女儿生日爆破哈希分析林小婉手机检材这个应用隐藏的数据中每个标签数据里notes字段表示多少[答案格式事项]加载加密文件的代码逻辑问notes代表什么应该是类似备注之类的。分析林小婉手机检材这个应用隐藏的数据中文件备份服务器的IP地址是多少[答案格式192.168.1.1]分析林小婉手机检材发现内部通联中财神撤回了一条消息这个消息的内容是[答案格式盘古石杯。]和之前一致先解密数据库后解密消息即可分析林小婉手机检材发现了账本账本打开密码是什么[答案格式按实际填写]DragonTeng2024#$总结这套盘古石初赛的手机和apk非常繁杂涉及好几个app的解密、脱壳以及数据分析也有flutter框架的逆向这部分我觉得是最难的汇编很难懂。总体来说题目质量一般特别是题目的顺序方面感觉很随意也有可能是因为按照人物顺序来出题了好几次涉及到内部通联app但是题目的原理和底层逻辑都是一致的可以说是重复出题。