您的位置:首页 > 其它

各类移动安全竞赛题/部分writeup收集与整理

2015-06-03 20:44 633 查看

各类移动安全竞赛题/部分writeup收集与整理

小编偶然发现在google云端网盘上Mobile Challenges有各个网友上传的关于移动安全的题目https://drive.google.com/folderview?id=0B7rtSe_PH_fTWDQ0RC1DeWVoVUE&usp=sharing,有需要的可下载。



还收集了部分竞赛中一些牛人写的解题思路,下载网址如下:http://pan.baidu.com/s/1ntrDgc5 密码:byis



以下是小编参加2015阿里组织的移动安全挑战赛时写的第二题解题思路,那时刚学android逆向,比较菜,各位大神请绕过~

方法一:

运行程序后没有log信息,又看了下源码,它加载了crackme.so动态链接库,调用了其中的函数securityCheck(str),根据该函数的返回值(0或1)来判断是否输入正确。

首先进行静态分析crackme.so,载入IDA,查看securityCheck函数的源码:



得知字符串v6所存的就是密码。查看偏移628c处所存的字符串,是“wojiushidaan”。输入看看,错误。好吧,我也觉得没有那么简单。估计是程序运行后把字符串改了。



刚学了android动态调试(http://www.52pojie.cn/thread-293648-1-1.html),就试试看,在JNI_OnLoad函数上下断点。

(1) 执行android_server:adb shell /data/local/tmp/android_server

(2) 端口转发adb forward tcp:23946 tcp:23946

(3) 调试模式启动程序adb shell am start -D -n com.yaotong.crackme/.MainActivity

(4) IDA附加

(5) 设置调试选项

(6) F9运行

(7) 执行jdb -connectcom.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

(8) 静态找到目标函数对应所在模块的偏移地址

JNI_OnLoad函数:0x00001B9C

Java_com_yaotong_crackme_MainActivity_securityCheck:0x000011A8

aWojiushidaan:0x00004450

(9) Ctrl+S找到libcrackme.so基地址0x4924C000,分别与上述三个地址相加得到最终地址。
(10) G跳转至两个函数地址,然后下断点
(11) F9运行
(12) 断下,进行单步调试F8,同时查看0x49250450处的字符串。



当单步调试JNI_OnLoad函数到某一步时,发现字符串变为“aiyou,bucuoo”。





结果:aiyou,bucuoo

方法二:

dump内存。

程序运行在手机上(经测试,模拟器上貌似不行)。

通过dd命令,将内存里的数据拷贝出来。

dd if=/proc/6821/mem of=/sdcard/mem bs=1skip= 1074085888 count=20480

dd if=/proc/6821/mem of=/sdcard/mem bs=1skip=1336799232 count=28672



mem文件用IDA打开,查看0x00004450处的值。



方法三:

执行android_server:adb shell /data/local/tmp/android_server

端口转发adb forward tcp:23946 tcp:23946

在模拟器上运行程序

ps找到程序pid

命令:kill -19 <pid> 可以让进程暂停

IDA附加

libcrackme.so基址为0x4914C000

aWojiushidaan:0x00004450

查看0x49150450处的内存



第三题的解决方案:

(1) Indroid(LoCCS实验室开发的工具)貌似要在google手机编译后才能运行成功;

(2) Zjdroid修复一下再内存dump

(3) 过反调试 j_j_ptrace、dump内存、修复dex、修复bakesmali、修复dextojar 或 JEB查看,最后应用源代码分析

最后给大家推荐一些优秀站点:

[1] http://bbs.pediy.com/

[2] http://www.52pojie.cn/

[3] http://blog.dutsec.cn/

[4] http://l-team.org/

[5] http://le4f.net/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: