android 安全
文章平均质量分 86
双刃剑客
双刃
展开
-
so文件中重要的Section--符号表、字符串表、重定位表
转:https://blog.csdn.net/feglass/article/details/51469511下面我们分析一些so文件中重要的Section,包括符号表、重定位表、GOT表等。-符号表(.dynsym)符号表包含用来定位、重定位程序中符号定义和引用的信息,简单的理解就是符号表记录了该文件中的所有符号,所谓的符号就是经过修饰了的函数名或者变量名,不同的编译器有不同的修饰规则。例如符号_ZL15global_static_a,就是由global_static_a变量名经过修饰而来。转载 2020-12-17 15:07:11 · 7004 阅读 · 1 评论 -
Android 动态库压缩壳的实现
作者介绍:周科,腾讯工程师,QQ动漫Android主力开发,从事过Rom开发,参与过手Q阅读、手Q趣味来电等项目,对Android底层原理有深入理解。前言说起壳可能有的同学并不太了解,简单的说,计算机软件领域所说的壳实际上是一种软件加密技术。与自然界中的壳类似,花生用壳保护种子,乌龟用壳保护自己的身体,而我们写的程序为了在一定程度上防止被逆向分析,也可以给它加壳。壳主要分为两大类:加密壳和压缩壳,加密壳侧重于防止软件被篡改,而压缩壳则侧重于减小软件体积。其实,在Windows上已经有许多壳了,但.转载 2020-12-16 14:55:17 · 675 阅读 · 1 评论 -
Android Linker学习笔记
原文地址:http://drops.wooyun.org/tips/121220x00 知识预备Linker是Android系统动态库so的加载器/链接器,要想轻松地理解Android linker的运行机制,我们需要先熟悉ELF的文件结构,再了解ELF文件的装入/启动,最后学习Linker的加载和启动原理。鉴于ELF文件结构网上有很多资料,这里就不做累述了。0x01 so的加载和启动我们知道如果一个APP需要使用某一共享库so的话,它会在JAVA层声明代码:#!javaS.转载 2020-12-16 14:38:14 · 530 阅读 · 1 评论 -
浅谈业务防刷
背景直播间的观众人数越多,主播房间的热度就越高;越多人关注的主播,就可能被更多的人关注;有账号就能领鱼丸;视频/文章被观看数量越多,就可能被越多的人观看;新用户送优惠等等,这些场景都需要防止(灰产)刷量增加同一IP次数限制,增加图形验证码,增加短信验证码,增加设备指纹判断等,这些是常用且通用的手段然而限制IP的对大区域网络公用IP不太友好,容易误伤,灰产业能轻易绕过;图形验证码不但可以...转载 2020-04-29 14:11:34 · 656 阅读 · 0 评论 -
Android APP几点实用的加固技巧
1、防网络代理抓包网络请求配置Proxy.NO_PROXY,可以保证app的网络数据不经过wifi设置的代理工具(最常见的抓包方式)webview,HttpURLConnection,okhttp等框架均可以配置NO_PROXY2、网络请求数据加上签名原始请求 http://xxx.com/xx.php?p1=v1&p2=v2加签名后 http://xxx.com...转载 2020-04-29 14:06:32 · 541 阅读 · 0 评论 -
理解got和plt
共享库是现代操作系统的一个重要组成部分,但是我们对它背后的实现知之甚少。当然,很多文档从各个角度对动态库进行过介绍。希望我的这边文章能给对动态库的理解带来一种新的理解。让我们以此开始——在elf格式中,重定位记录是一些允许我们稍后填写的二进制信息——链接阶段由编译工具填充或者在运行时刻由动态连接器填写。一个二进制的重定位记录从本质上说就是“确定符号X的值,然后把这个值放入二进制文件中的偏移量为Y...转载 2018-09-10 15:23:42 · 2446 阅读 · 0 评论 -
Android逆向之旅---SO(ELF)文件格式详解
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangwei0910410003/article/details/49336613第一、前言从今天开始我们正式开始Android的逆向之旅,关于逆向的相关知识,想必大家都不陌生了,逆向领域是一个充满挑战和神秘的领域。作为一名Android开发者,每个人都想去探索这个领域,因为一旦你破解了别...转载 2018-09-02 13:21:41 · 3500 阅读 · 0 评论 -
ELF文件格式解析(完)
转:https://www.52pojie.cn/thread-591986-1-1.html数据类型首先在解析之前, 必须对数据类型格式声明一下 名称 大小 说明 Elf32_Addr 4 无符号程序地址 Elf32_Half 2 ...转载 2018-09-01 11:34:25 · 15755 阅读 · 1 评论 -
使用aapt.exe获取到Package与启动Activity
C:\Users\win10>aapt.exe dump badging E:\ReverseProjects\Android\weixin\weixin6313android740.apk | findstr launchablelaunchable-activity: name='com.tencent.mm.ui.LauncherUI' label='WeChat' icon=''原创 2017-09-15 16:00:59 · 881 阅读 · 0 评论 -
浅入浅出 Android 安全(六)Android 安全的其它话题
转:http://www.kanxue.com/?article-read-587.htm在本章中,我们会涉及到与 Android 安全相关的其他主题,这些主题不直接属于已经涉及的任何主题。6.1 Android 签名过程Android 应用程序以 Android 应用包文件(.apk 文件) 的形式分发到设备上。 由于这个平台的程序转载 2017-02-15 20:56:31 · 318 阅读 · 0 评论 -
浅入浅出 Android 安全(五)Android 应用层安全
转:http://www.kanxue.com/?article-read-586.htm虽然在这一节中我们描述了应用层的安全性,但是实际的安全实施通常出现在到目前为止描述的底层。 但是,在介绍应用层之后,我们更容易解释 Android 的一些安全功能。5.1 应用组件Android 应用以 Android 软件包(.apk转载 2017-02-15 13:18:16 · 503 阅读 · 0 评论 -
浅入浅出 Android 安全 (四) Android 框架层安全
转:http://www.kanxue.com/?article-read-575.htm如我们在第1.2节中所描述的那样,应用程序框架级别上的安全性由 IPC 引用监视器实现。 在4.1 节中,我们以 Android 中使用的进程间通信系统的描述开始,讲解这个级别上的安全机 制。 之后,我们在 4.2 节中引入权限,而在 4.3 节中,我们描述了在此级别上实现的权转载 2017-02-15 13:14:24 · 354 阅读 · 0 评论 -
浅入浅出 Android 安全 (三) Android 本地用户空间层安全
转:http://www.kanxue.com/?article-read-557.htm本地用户空间层在 Android 操作系统的安全配置中起到重要作用。 不理解在该层上发生了什么,就不可能理解在系统中如何实施安全架构决策。在本章中,我们的主题是 Android 引导过程和文件系统特性的,并且描述了如何在本地用户空间层上保证安全性。转载 2017-02-15 11:01:19 · 408 阅读 · 0 评论 -
[开源]Android逆向中So模块自动化修复工具+实战一发
转:https://blog.csdn.net/freakishfox/article/details/78198300前言Android加固方案经过这么长时间的发展,从开始的整体dex加密压缩方案逐步开始往native层发展,市面上知名的几款商业级加固方案中很容易发现这种方案的身影。这样看来,在今后相当长的一段时间内,Android逆向中不可避免的会频繁接触到与So加固的对抗了。工具的...转载 2018-09-13 10:58:23 · 1559 阅读 · 0 评论 -
ELF Format 笔记
转:https://www.cnblogs.com/ilocker/p/4541936.htmlELF Format 笔记(一)—— 概述ELF Object files 参与程序的链接和执行,从这两个角度分别有两种视图: ELF header 位于文件的最开始处,描述整个文件的组织结构。Program Header Table 告诉...转载 2018-09-21 11:59:47 · 642 阅读 · 0 评论 -
android自定义linker实现安全加固
转:https://blog.csdn.net/liumengdeqq/article/details/79247091mmap的用户层应用void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);具体参数含义start : 指向欲映射的内存起始地址,通常设为 NULL,代表让系统自动选定...转载 2018-09-28 11:57:49 · 2843 阅读 · 2 评论 -
跨平台模拟执行 - AndroidNativeEmu食用手册
安装AndroidNativeEmu有什么用?AndroidNativeEmu是基于Unicron实现的一个指令解析器, 让您能够跨平台模拟Android Native库函数,例如JNI_OnLoad,Java_XXX_XX等函数特性模拟JNI Invocation APIsoJNI_OnLoadcan be called properly. 模拟 memory、mall...转载 2019-09-29 18:37:01 · 4396 阅读 · 0 评论 -
xposed的总开关
xposed是一个用于全局hook的框架。许多破解工具,都通过xposed去实现它的功能,如果不想自己的app被xposed修改的话,可以在自己应用内偷偷把xposed的开关关掉。开关的位置在这里:https://github.com/rovo89/XposedBridge/blob/art/app/src/main/java/de/robv/android/xposed/Xposed...转载 2019-09-26 14:01:36 · 925 阅读 · 0 评论 -
Android逆向之旅---解析编译之后的Dex文件格式
一、前言新的一年又开始了,大家是否还记得去年年末的时候,我们还有一件事没有做,那就是解析Android中编译之后的classes.dex文件格式,我们在去年的时候已经介绍了:如何解析编译之后的xml文件格式:http://blog.csdn.net/jiangwei0910410003/article/details/50568487如何解析编译之后的resource.arsc文件...转载 2019-09-19 11:23:03 · 355 阅读 · 0 评论 -
模块中绝对地址四种类型引用方式的总结
1.类型一 模块内部调用或跳转--相对地址调用/跳转 偏移量=目标地址 - 下一条指令的地址8048344 <bar>:8048344: 55 push %ebp....8048349 <foo>:8048357: e8 e8 ff ff ff call 8048344<bar>804835...原创 2018-10-17 14:55:47 · 1852 阅读 · 0 评论 -
【ARM】安卓SO文件重定位类型总结
转:https://bbs.pediy.com/thread-222731.htm1 承接上一篇说rel got plt的帖子, 这篇叨叨下重定位类型上一贴《安卓SO中GOT REL PLT 作用与关系》https://bbs.pediy.com/thread-221821.htm 有前辈写过类似的内容《基于Android的ELF PLT/GOT符号重定向过程及ELF H...转载 2019-01-10 15:21:55 · 685 阅读 · 0 评论 -
安卓SO中GOT REL PLT 作用与关系
转自:https://bbs.pediy.com/thread-221821.htm之前写的太混乱,修改了一下~1 got rel plt的由来在代码中像这样调用其他so库中的函数、全局变量,程序编译完成后,程序并不知道这些函数和变量的内存地址的,因为它们都在别的so库,而这些so库可能存在进程中的任何内存地址。所以,程序跑起来时,才能找到它们的地址,然后访问或执行。...转载 2019-01-10 15:18:49 · 493 阅读 · 0 评论 -
AndroidLinker与SO加壳技术之下篇
注:自己理解: 与load_bias 有关的是虚拟地址。与load_base有关的才是偏移,这个只有重定位表类型为R_ARM_RELATIVE才是。转:https://www.jianshu.com/p/5447b21d7f39 2.4 链接链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤:1. 定位 dynamic section,由函数...转载 2018-09-29 15:15:08 · 460 阅读 · 0 评论 -
AndroidLinker与SO加壳技术之上篇
转:https://www.jianshu.com/p/043968392e341. 前言Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环。目前Android 应用加固可以分为dex加固和Native加固,Native 加固的保护对象为 Native 层的 SO 文件,使用加壳、反调试、混淆、VM 等手段增加SO文件的反...转载 2018-09-29 11:49:09 · 281 阅读 · 0 评论 -
浅入浅出 Android 安全 (二) Android Linux 内核层安全
转:http://www.kanxue.com/?article-read-555.htm作为最广为人知的开源项目之一,Linux 已经被证明是一个安全,可信和稳定的软件,全世界数千人对它进行研究,攻击和打补丁。不出所料,Linux 内核是 Android 操作系统的基础。 Android 不仅依赖于 Linux 的进程,内存和文件系统管理,它也是 Android转载 2017-02-14 17:53:47 · 509 阅读 · 0 评论 -
浅入浅出 Android 安全
转:http://www.kanxue.com/?article-read-547.htmAndroid 安全架构的理解不仅帮助我了解 Android 的工作原理,而且为我开启了如何构建移动操作系统和 Linux 的眼界。 本章从安全角度讲解 Android 架构的基础知识。 在第 1.1 节中,我们会描述 Android 的主要层级,而第 1.2 节给出了在此操作系统中实现的转载 2017-02-13 21:14:23 · 401 阅读 · 0 评论 -
如何防止工具(八门神器)进行内存修改
Android内存修改器有很多。拿其中的比较出名的八门神器来说,该应用通过修改正在运行的游戏的内存数据,可以非常方便地修改游戏的HP、MP、生命数等等参数。辛辛苦苦开发的游戏或应用被修改器一修改就悲催了。方法/步骤下面就通过一个demo来讲下,怎么通过多数据关联来保护应用的重要数据不被修改。这个demo很简单,只有一个TextView和一个Button。点击转载 2015-01-05 11:50:00 · 2828 阅读 · 0 评论 -
玩转ptrace(二)
转:http://blog.chinaunix.net/uid-227715-id-2114832.html在第一部分中我们已经看到ptrace怎么获取子进程的系统调用以及改变系统调用的参数。在这篇文章中,我们将要研究如何在子进程中设置断点和往运行中的程序里插入代码。实际上调试器就是用这种方法来设置断点和执行调试句柄。与前面一样,这里的所有代码都是针对i386平台的。转载 2016-05-14 12:41:31 · 1035 阅读 · 0 评论 -
玩转ptrace (一)
http://www.cnblogs.com/catch/p/3476280.html[本文翻译自这里: http://www.linuxjournal.com/article/6100?page=0,0,作者:Pradeep Padaia] 你是否曾经想过怎样才能拦截系统调用?你是否曾经想过通过修改一下系统调用的参数来耍一把内核?你是否想过调试器是怎样把一个进转载 2016-05-14 12:25:58 · 752 阅读 · 0 评论 -
关于ARM的PC指针(什么时候PC+8,PC+4,PC-4,PC-8)
要理解PC指针,首先就要好好了解LR指针连接寄存器LR(r14):用来保存和恢复PC寄存器的内容,它有两个特殊功能。 (1)保存子程序返回地址。使用BL或BLX时,跳转指令自动把返回地址放入r14中;子程序通过把r14复制到PC来实现返回,通常用下列指令之一: MOV PC, LR转载 2016-05-12 09:34:54 · 1982 阅读 · 0 评论 -
linux系统编程之进程(八):守护进程详解及创建,daemon()使用
转:http://www.cnblogs.com/mickole/p/3188321.html一,守护进程概述Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。转载 2015-07-29 21:23:24 · 697 阅读 · 0 评论 -
linux下so动态库一些不为人知的秘密
linux下so动态库一些不为人知的秘密(上)转:http://blog.chinaunix.net/uid-27105712-id-3313293.htmllinux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名。二者都使用广泛。本文主要讲动态库方面知识。 基本上每一个linux 程序都至少会有一个动态库,查看某个程序使用了那些动态库转载 2015-05-12 21:25:51 · 1527 阅读 · 0 评论 -
ELF文件的加载和动态链接过程
转:http://jzhihui.iteye.com/blog/1447570近段时间在研究Erlang核心特性的实现,也许过段时间会有个系列的总结,期待... 今天看到有人写一个深入Hello World的文章,想起来读研的时候做的一个关于程序加载和链接的课程设计,也是以Hello World为例说明的,随发出来共享。文后有下载链接。 ====================转载 2015-05-11 18:15:31 · 2086 阅读 · 0 评论 -
android设备下的几个目录说明
转:http://bbs.pediy.com/showthread.php?p=1363029#post13630291、data/dalvik-cache : 存放已经安装的APK对应的odex文件,这类odex文件仍然以dex作为后缀,保存形式如下:apk路径@apk名@classes.dex。该目录下的odex如果直接替换APK中的classes.dex,重打包后APK是不能正常运行的。转载 2015-04-03 09:26:40 · 786 阅读 · 0 评论 -
Android逆向分析之dex2jar异常处理的几种情况
分析一个APK,发现APK反编译正常,能得到所有smali代码和xml文件,接着使用dex2jar想把dex转抱成jar包,使逆向分析看起来更加方便,但是却出现了如下异常:[java] view plaincopyprint?"color:#ff0000;">com.googlecode.dex2jar.DexException: while accep原创 2014-11-19 10:25:05 · 22698 阅读 · 0 评论 -
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead.报错!
1.项目右键 ->android tools->Fix Project2.如果不可以,检查Project->Properties->Java Compiler确认JDK compliance被设置为1.6,并且enable specific seetings.转载 2014-12-05 15:39:15 · 675 阅读 · 0 评论 -
进击的Android注入术《一》
写在前面这个系列本来是在公司的一个分享,内容比较多,所以就把这个PPT重新组织整理成博客,希望对大家学习有所帮助。我会先以一个”短信拦截“作为例子,抛出问题,并提出了一种基于”注入“的技术方案达到提高拦截优先级,接着再重点讲解注入的技术细节。最后,我会跟大家分享一个我业余时间开发注入框架——AIM(Android IPC Manager)。当然了,这个框架跟目前的XPosed、Cydi转载 2016-05-18 10:07:22 · 484 阅读 · 0 评论 -
进击的Android注入术《二》
转:http://blog.csdn.net/l173864930/article/details/38456313继续在《一》里,我把基本思路描述了一遍,接下为我们先从注入开始入手。注入分类我们平时所说的代码注入,主要静态和动态两种方式静态注入,针对是可执行文件,比如平时我们修改ELF,DEX文件等等,相关的辅助工具也很多,比如IDA、转载 2016-05-18 11:02:40 · 452 阅读 · 0 评论 -
进击的Android注入术《三》
转:http://blog.csdn.net/l173864930/article/details/38459449继续在《二》详细介绍了通过ptrace实现注入的技术方案,在这个章节里,我再介绍一种Android上特有的注入技术,我命其名为——Component Injection。顾名思义,这种方式是跟Android的组件相关的,详细见下面叙述。Componen转载 2016-05-18 11:05:19 · 495 阅读 · 0 评论 -
解包、编辑、打包boot.img文件
首先声明这是转帖,Linux环境大家可以用VMWARE来虚拟,可以下载UBUNTU目录1、背景知识2、boot和recovery映像的文件结构3、对映像文件进行解包、编辑、打包的常规方法3.1、另一种解包、编辑、打包的方法4、将新的映像刷回到手机5、解包、编辑、打包为我们带来了什么6、本文讲的内容与使用update.zip刷机包不是一码事正文1、背景知识转载 2016-12-25 00:13:53 · 8446 阅读 · 0 评论