各类移动安全竞赛题/部分writeup收集与整理
来源:互联网 发布:淘宝店铺更改所在地 编辑:程序博客网 时间:2024/05/17 00:06
各类移动安全竞赛题/部分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/
- 各类移动安全竞赛题/部分writeup收集与整理
- 阿里移动安全 Writeup
- 收集与整理部分信息:::
- 安全评估问题收集与整理
- MIAC移动安全赛web writeup【不全】
- 各类验证码收集 整理笔记
- 2015移动安全挑战赛前2题writeup
- 移动端head部分整理
- 西普 部分WEB Writeup
- ISCC 2017 writeup(部分)
- JarvisOJ basic部分WriteUp
- XDCTF 部分Writeup
- 国外优秀移动安全Blog地址收集
- 移动端安全学习资源收集
- Github 安全类Repo收集整理
- Github 安全类Repo收集整理
- asis-ctf的writeup收集
- [整理]Android移动开发之数据传输安全
- poj 3083
- mysql 时间日期查询
- ceph pg(placement group)状态总结
- 黑马程序员-java之网络编程
- OC视频笔记5.4(协议的定义与使用)(代理设计模式)(代理设计模式思想)
- 各类移动安全竞赛题/部分writeup收集与整理
- 黑马程序员_Java_IO流(一)
- 166. Fraction to Recurring Decimal
- HDU tarjan算法模版 强连通分量+最小路径覆盖
- 调用系统相机以及 打开相册的代码
- 凯云水利水电工程造价管理系统 技术解析(九)机械单价(四)
- MyBatis学习总结(五)——实现关联表查询
- Ant自动编译打包android项目
- 代码规范