任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

Android Rootkit开发技术要点 (一) Android开发技术

  对于Android平台的安全问题凸显,Android123经过长期的分析研究就目前Android平台上Rootkit开发实现底层防火墙相关基础做简单的总结,Android的Rootkit和PC上的Linux Rootkit没有太大的区别,如果你有Linux内核相关知识或Win32下内核驱动开发知识阅读本文会轻松很多。   和Windows一样Android的Rootkit离不开底层的调用,在Win32上我们使用较低层的API有Native API,一般以Ring0中以Zw开头的函数居多,在Ring3中则为Nt开头的函数,比如任务管理器常用的NtQuerySystemInformation函数,它们的特点就是调用系统底层服务,我们叫做系统服务描述表SSDT,当然类似的还有系统服务中断向量表IDT。在Linux中我们获取本机API需要使用LKM加载内核模块,通过Hook技术可以轻松的替换原有API的入口点实现隐藏进程、端口,对于底层的系统服务来说,在Linux中使用系统服务调用表(Sys Call Table)中的函数来执行相关操作。Android从早期版本就是用了Linux 2.6以上的内核版本,获取sys call table偏移地址和我们早期在PC Redhat获取技术上有很大不同,挂上gdb慢慢分析吧,目前业界公认的方法就是通过swi中断来动态搜索系统调用表,这里我们直接给出代码 include <linux/kernel.h>#include <linux/module.h>#include <linux/mm.h>#include <linux/init_task.h>#include <linux/syscalls.h> unsigned long* find_sys_call_table(); int init_module() {   printk("<1> Hello, kernel!\n");   unsigned long *sys_call_table = find_sys_call_table(); return 0;}void cleanup_module() {   printk("<1>I’m not offended that you"          "unloaded me.  Have a pleasant day!\n");} unsigned long* find_sys_call_table(){  //Address of the sofware interrupt (swi) handler in high […]

100% Secure Checkout

PayPal / MasterCard / Visa