摘要:欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/5572640.html 0x00 关于root linux和类Unix系统的最初设计都是针对多用户的操作系统,对于用户权限的管理很非常严格的,而root用户(超级用户)就是整个系统的唯一管理员,拥
        
阅读全文
 
            
         
        
            
            
摘要:[TOC] 0x0前言 之前在分析某个Android平台加固壳子的时候就碰到过inotify,被用来监控/proc 文件系统,防止gdb调试器的附加,以达到反调试的目的。inotify机制是从linux kernel 2.6.13开始引入,Android 1.5对应的linux内核已经是2.6.26
        
阅读全文
 
            
         
        
            
            
摘要:欢迎转载,转载请注明出处: http://www.cnblogs.com/lanrenxinxin/p/5424554.html 之前就有编译android源码的想法,但是由于有GFW的存在,又没有梯子,连开发工具都是经过androiddevtools从百度云弄下来的,前两天发现了清华大学AOSP的
        
阅读全文
 
            
         
        
            
            
摘要:GCC编译器支持直接在C或者C++代码中,嵌入ARM汇编代码。其基本格式非常简单,大致如下: __asm__ [__volatile__] ( assembler template : [output operand list] /* optional */ : [input operand lis
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言 之前一直都是在Dalvik 虚拟机上在折腾,从Android 4.4开始开始引入ART,到5.0已经成为默认选择。而且最近看到阿里开源的 Dexposed 框架,已经提供了对于android art 模式下的 hook 支持,所以对照着android art 部分的源码和之前 lia
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言之前的两篇文章从链接视图和执行视图分析了elf文件的大致结构,这篇文章主要内容是对于so文件进行简单的加密工作,针对Ida等静态分析工具的分析,一旦开始动态调试就应该很容易就可以dump出内存,直接修复了。0x01 思路主要是两种思路,对文件中指定的section加密,然后在运行时由....
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言这篇文章其实是我之前学习elf文件关于符号表的学习笔记,网上也有很多关于符号表的文章,怎么说呢,感觉像是在翻译elf文件格式的文档一样,千篇一律,因此把自己的学习笔记分享出来。dlsym()的源码是分析的android4.4的源码,android自己实现的bonic C库。0x01 基...
        
阅读全文
 
            
         
        
            
            
摘要:Native进程的运行过程一般程序的启动步骤,可以用下图描述。程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行。通常,native进程是由shell或者init启动,启动的过程如下:Shell接收到命令,启动一个程序,此时shell首先会fork一个新的进程新for...
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言 最近一段时间在弄android方面的东西,今天有人发了张截图,问:在要dump多大的内存? 一时之间我竟然想不起来ELF文件的哪个字段表示的是文件大小,虽然最后给出了解决方法,IDA CTRL+S,直接看Segements信息,可以得出整个文件的大小。但说明了自己对于ELF文件格式...
        
阅读全文
 
            
         
        
            
            
摘要:0x00 前言之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。idea是一...
        
阅读全文
 
            
         
        
            
            
摘要:.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileN...
        
阅读全文
 
            
         
        
            
            
摘要:我们可以利用DexClassLoader来实现动态加载dex文件,而很多资料也只是对于DexClassLoader的使用进行了介绍,没有深入讲解dex的动态加载机制,我们就借助于Android4.4的源码来探索。先从一个简单的动态加载dex文件开始 具体实现细节可以参考这篇文章AndroidDex数...
        
阅读全文
 
            
         
        
            
            
摘要:Android下的注入的效果是类似于Windows下的dll注入,关于Windows下面的注入可以参考这篇文章Windows注入术。而Android一般处理器是arm架构,内核是基于linux,因此进程间是弱相互作用,不存在Windows下类似于CreateRemoteThread 作用的函数,可...
        
阅读全文
 
            
         
        
            
            
摘要:欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4696991.html 开始接触Android JNI层面的内容,推荐一本不错的入门级的书《Android的设计与实现:卷一》,这两天看了一下关于Java层和Native层函数映射的章节,加深对J
        
阅读全文
 
            
         
        
            
            
摘要:ARM汇编程序特点:l所有运算处理都是发生通用寄存器(一般是R0~R14)的之中.所有存储器空间(如C语言变量的本质就是一个存储器空间上的几个BYTE).的值的处理,都是要传送到通用寄存器来完成.因此代码中大量看到LDR,STR指令来传送值.lARM汇编语句中.当前语句很多时候要隐含的使用上一句的执...
        
阅读全文
 
            
         
        
            
            
摘要:可以选择保存成pdf格式,查询起来挺方便的if v0==0 go cond_0if-eqz v0, :cond_0if v0!=0 go cond_0if-nez v0, :cond_0v1赋属性值const/4 v1, 0x2iput v1, p0, Lcom/android/shortcuts/...
        
阅读全文