首页
社区
课程
招聘
[原创]看雪CTF2019 Q3参赛题目 第九题:一统天下 -Android-吃鸡辅助
发表于: 2019-8-12 17:54 6199

[原创]看雪CTF2019 Q3参赛题目 第九题:一统天下 -Android-吃鸡辅助

2019-8-12 17:54
6199

出题思路:

仿照一个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文件解析。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-9-25 10:33 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 2
支持
分享
打赏 + 20.00雪花
打赏次数 1 雪花 + 20.00
 
赞赏  Imyang   +20.00 2019/09/25 精品文章~
最新回复 (1)
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
此题多解

m}y8hm8yecc002,dyyfadclfcdg88228,dgyyfadclfcdg8822g,ddgyyfadclfcdg8822g。。。



2019-9-25 10:34
0
游客
登录 | 注册 方可回帖
返回
//