CTF-Bugku-安卓篇1signin Writeup(分别用静态分析和动态调试)

 注:作者是CTF初学者,边学习边记录,如有错误或疏漏请批评指正,也请各位大佬多多包涵。

CTF-Bugku-安卓篇1signin Writeup

Bugku安卓部分第一题,第七届山东省大学生网络安全技能大赛的题目,属于Android逆向分析。(常用工具:安卓模拟器、JEB、Cyberchef、Androidkiller)

题目文件:https://ctf.bugku.com/files/109fa055c682e810684427c123a0833b/sign_in.zip

 

静态分析方法:

1.下载附件解压缩,用模拟器安装打开apk,随便输入测试,提示try again

 

  2.jeb打开,找到MainActivity,右键解析成java分析

 

3.根据提示try again,分析checkpassword部分,往下看,getflaggetString值来自0x7F0B0020。即资源id0x7f0b0020

4.res/values文件夹中找到public.xmlstrings.xml,搜索id对应的string,找到991YiZWOz81ZhFjZfJXdwk3X1k2XzIXZIt3ZhxmZ

 

 

 5.根据之前分析,将值reverse(字符首尾逆向),再进行base64解密,得到flag

 

 

 

flag{Her3_i5_y0ur_f1ag_39fbc_}

 

 

动态调试方法:

1.AndroidKiller打开,在AndroidManifest.xml中加入android:debuggable=”true”,保存并编译,做好调试准备

 

 2.在模拟器中安装打开编译过的apk,进行测试,可以正常运行。

 

  3.JEB进行动态调试,附在模拟器进程上。

 

 4.MainActivity中,Congratulation前下断点,运行后,将寄存器v1type改成string,显示出flag

 

  5.在模拟器运行的apk中输入测试,验证通过。

 

 

动态调试与静态分析得到的flag一致

flag{Her3_i5_y0ur_f1ag_39fbc_}

 

------------------------------------------------------------
感谢阅览,希望本文对您的学习有所帮助。欢迎关注、点赞、评论、收藏、转发、引用,分享请注明原作者和来源,谢谢!
作者:zs[CTF初学者]
来源:博客园[ https://www.cnblogs.com/myqzs/]
posted @ 2020-09-24 15:56  Zs丶  阅读(2021)  评论(0)    收藏  举报