Android的存档

[转载]Verified Boot

在Android6.0 (Android M)userdebug版本上(eng版本不存在该问题),发现使用adb remount 系统之后,还是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system

阅读全文… 

Linux有趣命令

以下工具都需要安装
sudo apt-get install xxx
rev 将输入的字符串反转
sl 一辆火车从屏幕右边开往左边
oneko 桌面出现喵星人,跟随鼠标跑动。
boxes 在输入的文本或者代码周围围上ASCII艺术画 echo “hello world” | boxes -d dog
pv 在屏幕上匀速显示文本 echo “hello world” | pv -qL 10

ida Pro ARM指令集和Thumb指令集的切换

在动态调试android的ndk程序的时候,发现很多程序都会反汇编错误,原来是ARM反汇编的模式没搞对。因为在动态调试的时候,ida Pro并没有去解析elf模块中的一些信息,造成了模块信息丢失,有时候反汇编就会错误。

阅读全文… 

Linux留后门程序

今天在freeBuf上看到一个给Linux留后门的办法, 挺不错的, 看完之后身体力行的在ubuntu下面试了下效果还不错!

阅读全文… 

android 6.0三星5.1.1Root

现在google是越来越不给我们留活路了… 从android 6.0开始, 三星的5.1.1开始. 默认都开启了data分区的forceencryption, 也就是强制加密. 也开启了/system分区验证. 所以目前市面上都没有针对android 6.0和三星5.1.1以上的root方案..

国外的supersu的作者chainfire, 搞cf-auto-root那哥们, 也没有针对三星5.1.1和android 6.0的方案. 不过他私下搞了个修改android内核的root方案.. 这个可能是目前唯一可以root 6.0的办法.

阅读全文… 

getprop与dumpsys命令

拿到Android手机以后, 想查看一些手机信息. 其实Android获取手机信息就是两个命令, 一个是getprop 一个是dumpsys.

阅读全文… 

ida调试Dalvik显示局部变量

用ida进行Dalvik调试还是有很大的优势, 最关键的是可以不用打包. 现在有很多app都开始检查是否重新打包的. 虽然也可以去pass调这些地方. 但是显然很麻烦.. 另外一些app还加壳了. 搞起来更加麻烦… 所以可以用ida进行调试还是一种选择. 不过原来用ida调试Dalvik的时候有一个致命问题. locals窗口变量都没法显示.. 最近纠结了几次. 算是找到了一个解决办法.

阅读全文… 

[转]android手机内核提取及逆向分析

Android手机获得Root权限,可以让/system和/data分区获得读写的权限.这两个分区的权限配置,一般在根分区的init.rc文件中,修改这个文件可永久获得root权限.

众所周知,市面上绝大部分的Android手机文件系统有三个分区,分别是/,/system,/data.根分区(/)是打包为ramdisk.img后,再与kernel的zImage打包为boot.img. boot.img在EMMC/NAND中以RAW DATA的形式存在,且除使用烧写工具外,无法读写.正因如此,根分区(/)在每次开机时都会从存储器中加载到RAM, 所以根分区(/)是难以不被刷机破解的.

阅读全文… 

[转]android一批漏洞

arm exploits 技术教程:

Learning Pentesting for Android Devices

CVE-2015-1530 ,CVE-2015-1474 两个android整数溢出漏洞 分析

An integer overflow in Android media could be exploited to get media_server permission(CVE-2015-1530)

Integer overflow leading to heap corruption while unflattening GraphicBuffer In Android(CVE-2015-1474)

 CVE-2014-0196-inux pty race condition slab overflow-漏洞分析

Exploiting CVE-2014-0196 a walk-through of the Linux pty race condition PoC

SLAB 溢出攻击 & CVE-2014-0196 exploit for Android 

http://www.phrack.org/issues/64/6.html

pty/tty设备竞争条件漏洞 (CVE-2014-0196)

 

CVE-2013-2597 adcb 驱动栈溢出漏洞分析

Stack-based buffer overflow in acdb audio driver (CVE-2013-2597)

Stack-based buffer overflow in acdb audio driver (CVE-2013-2597) 

这份利用代码关键是要理解struct nl_portid_hash 结构的成员unsigned longrehash_time;利用的时候将这个unsigned long变量当作void* 函数指针来用,这样call到nl_portid_hash ->rehash_time时pc寄存器装入rehash_time 的值,而在linux系统上,这个rehash_time变量的值是有范围的,其范围0x10000-0x130000,如果当作地址,刚好是用户空间的地址,可以由mmap申请.这样,可以将提取代码写入申请的0x10000-0x130000 范围地址内,内核溢出后调用rehash_time地址,实际上就是调用到用户空间填充的代码了.

linux kernel 本地提权漏洞CVE-2013-1763 exploit 代码分析

Android分区查看

android 下面没有像以前windows 那样那么方便的查看分区情况. 前两天提到说查看android 下面的分区情况. 今天好好的看了下. 发现android下面查看分区也挺简单的..

阅读全文… 

Android Linux内核编译调试

对于在Windows上写代码写习惯的人,调试是必不可少的手段,但是转到Android以后,发现调试手段异常简陋,Windows简直不是一个级别,特别是Android的内核调试,网上资料也相对较少,不过通过一段时间的倒腾,我终于找到了还算靠谱的调试方法.就是利用Emulator + Eclipse进行Android Linux内核调试.

  阅读全文… 

android 刷机

1. 刷一个合适的Recovery
Clockwork Recovery
http://www.clockworkmod.com/rommanager/

adb reboot bootloader // 启动进入bootloader模式
fastboot flash recovery recovery_package // 刷入recovery

阅读全文… 

Ida 调试so文件

Eclipse配合NDK写so文件不错, 但是调试是个麻烦事, 老是报错. 一会这样一会那样. 目前可能用NDK写so并且调试的毕竟还是太少啊. 调试体验非常差, 所以如果在有源码的情况下, 我一般还是用VisualGDB这个软件来写so文件, 这个软件的调试体验比Eclipse好多了. 而且是用Visual Studio来写, 更习惯些.

在没有源码的情况下, 一般就是使用ida 来进行调试, ida的6.6已经可以支持调试apk了, 不过现在我手上还没有拿到. 目前只能用网上泄露的6.5, ida 6.5调试android 的so文件已经是非常好的体验了. 使用6.1的时候老是有莫名其妙的错误. 其实调试so文件也分成两种情况, 一种是apk运行起来以后慢慢才会调用so文件中的函数, 比如按钮单击什么的. 一种是在程序初始化的时候就调用so文件. 这种麻烦一些.

阅读全文… 

ARM汇编联合C语言

GUN arm汇编不能像MASM那样支持类C那样的函数写法. 也不支持结构体, 所以注定了GUN汇编不能像MASM那样写大型的程序, 不能像Windows下面那样, 用MASM来写较大型的程序, 所以用C和汇编联合成了一个妥协的办法. 所以这篇写一点GCC和和GUN汇编联合的问题.

联合的话,我们直接可以使用ndk-build进行编译了, 不用再输入arm-linux-androideabi-as.exe这么长的命令. 另外一个调试也可以使用ida来调试了. 最近ida 6.5 泄露出来了, 可以很方便的调试android的arm汇编代码, 不用再用gdb进行调试了. gdb调试真恶心.

阅读全文… 

ARM汇编HelloWorld

在Windows上习惯了, 感觉一切都是那么自然, 一切都应该就是这样, 会不会在Linux下习惯了, 也会觉得Windows上的一切都不习惯? 我记得我刚开始Windows编程的时候, 是从汇编开始学的, 从汇编开始学, 虽然慢, 但是每一行代码做什么的都比较清楚. 这样慢慢的深入学习感觉一切都那么自然, 现在搞Android就不是这样了, 上来就有很多东西学, 但是总是感觉吃不透.有细节没理清楚. 我觉得Android学习也应该从汇编开始.

阅读全文…