-
-
[原创]看雪CTF2019 Q3参赛题目 第九题:一统天下 -Android-吃鸡辅助
-
发表于:
2019-8-12 17:54
6198
-
[原创]看雪CTF2019 Q3参赛题目 第九题:一统天下 -Android-吃鸡辅助
出题思路:
仿照一个Android勒索软件,屏蔽了加密文件的逻辑,保留了加密算法。一般恶意软件都会做一些反逆向的工作,所以加入了反jadx、jeb等反编译工具(原本是Q2 6月准备的题目,可能工具更新后,现在效果不行了),加入了混淆、简单的花指令、反调试等,更进一步把加密算法抽取出来使用自定义的解释器执行。
解题思路:
虽然有混淆和字符串加密,但是字符串加密很简单。根据界面上的Decrypt按钮定位到Button控件
Button绑定的事件,解密字符串得到"The key is correct and the decryption begins!"和"Key error!",所以第二个if分支成立的话就是输入正确。
继续往下追,根据解密后的字符串知道输入值就是flag,而且如果输入格式是falg{...}格式,只取中间的字符串。
之后调用的函数就是反jeb的函数,可以发现jeb无法解析,但是可以看smali代码,
分析发现把输入的字符串经过一个native函数返回一个字节数组,对字节数组转为hex,和"820e52333de3bcb42467f0a20564c145af5edbf2e923df33be21f0af159710c92cbc43f79f94ec930a7ae86021af5b3ae263369299de5436b85f297be08a032a28dc357391961ecc26931bfc97d67a5e74d8781fb4105b9afbe613a2041dd8c3"比较。所以关键是这个native函数
分析该函数应该在libmydvp.so中,这个so有混淆、花指令、反调试,patch花指令、反调试后或者动态调试,追到这个函数的实现。
追到注册函数的地方,或者hook系统函数得到地址,
分析流程发现:
注册jni函数,解压assets/ssspbahh.so文件解析。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2019-9-25 10:33
被kanxue编辑
,原因: