
【移动安全】
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
【移动安全基础篇】——21、Android脱壳思路
1. Apk dex 加固目前存在对 apk 中的 class.dex 进行加密的技术,即加壳。通过对 dex 文件的加壳,可以达到减小文件大小,隐藏真实代码的效果。2. 运行时解密与 windows 上的 shell 一样,Android 加壳程序在程序运行时,先到达壳的入口点,运行解壳代码,然后再到达程序入口点,运行代码。而要脱壳则要在程序解码完毕后,到达程序真实入口点中间某个位置,把...转载 2019-01-14 17:04:52 · 2522 阅读 · 0 评论 -
【移动安全基础篇】——31、Android动态代码自修改原理
1. classes.dexDexClassDef -> DexClassData -> DexMethod -> DexCode里面的 u2 insns 的值便是用于存放程序实现代码的地方。程序执行时候会把整个 dex 文件加载到内存中,然后动态地解析执行 insns 中的内容。只要修改了里面的数据,就相当于修改了程序执行流程和方法。2. 内存中修改 insns...转载 2019-01-19 20:27:50 · 360 阅读 · 0 评论 -
【移动安全基础篇】——32、Android动态代码自修改实现
一、 法 方法 11. Jni BridgeJni 提供了让我们在 C++代码层中直接操作 Dalvik(java)数据的接口。我们可以在 jni 中直接操作相关的数据,修改 Android 中的代码。Android 源码中的实现:dalvik/vm/jni.cpp2. Object 结构体Android 源码位置:dalvik/vm/oo/ObjectAndroid 运行时,解析...转载 2019-01-19 20:28:04 · 1010 阅读 · 0 评论 -
【移动安全基础篇】——33、Android加壳原理
1. 加密目标隐藏原始 dex 数据,保护程序。2. 实现步骤1) 反编译原始 apk 文件(不反编译 dex 文件) ShakaApktool d –s xx.apk –o xx2) 加密原始 dex 文件 提取反编译后的原始 dex 文件,进行加密,保存到 assests 目录中。3) 添加 ProxyApplication ...转载 2019-01-19 20:28:11 · 396 阅读 · 0 评论 -
【移动安全高级篇】————1、Android沙盘原理与实现
一、前言 据网秦发布的《2012年上半年全球手机安全报告》,2012年上半年Android病毒感染量增长迅猛,尤以5、6月最为突出,上半年感染手机1283万部,比2011年下半年增长62%。在全球范围内,中国大陆地区被感染率占居首位。面对增长如此迅速的Android软件,安全研究人员常常需要逆向分析样本,分析出其恶意行为,但手工分析较费时间。在DEX文件反混淆技术的不遍推广和普及下,...转载 2019-01-10 10:43:23 · 1120 阅读 · 0 评论 -
【移动安全实战篇】————1、Android手机下xx.apk JAVA破解之旅
前言这几天手机上装了个软件,用了没多久就收费了,颇为不爽,于是便想看看能否破解,便有了下文,请注意该文章只为技术交流,请不要进行非法破解。软件描述这个apk使用一定次数后就会扣掉积分 当积分少于0的时候 便不能使用,每次启动程序的时候便会提示积分为0,需要注册,这说明程序在启动的时候就已经检测了积分,刚好可以利用这点练手软件http://pan.baidu.com/share/...转载 2019-01-10 11:09:35 · 2631 阅读 · 0 评论 -
【移动安全高级篇】————2、浅谈Android软件安全自动化审计
0x00 前言 随着移动互联网的发展,移动终端安全也越来越受到关注。特别是Android系统的崛起,互联网上的各类Andriod软件数量迅速上升。因Android系统是开源的,导致各种android恶意软件迅猛增加,成为手机系统的最大受害者。与此同时,android系统和软件本身的漏洞也进一步危害到用户的隐私安全。本文主要针对Android软件安全进行审计,提供一些常见的安全检测点,并借此实...转载 2019-01-10 11:38:38 · 986 阅读 · 0 评论 -
【移动安全高级篇】————3、Android系统ShellCode编写
随着Android手机的普及,Android系统安全日益受人关注。漏洞攻防是安全的一大课题,其中自然少不了shellcode的编写。本文将以提出问题、解决问题的方式教你如何编写Android系统shellcode。由于篇幅限制,本文将不对ARM指令集进行介绍,建议没有基础的读者先参考相关手册。基础部分使用什么工具?GNU ARM汇编器as和GNU ARM连接器ld是编写Androi...转载 2019-01-10 11:50:20 · 1899 阅读 · 0 评论 -
【移动安全实战篇】————2、破解AD Blocker Trial注册算法
【文章标题】: 【原创】AD Blocker Trial 注册算法【下载地址】: http://as.baidu.com/a/item?docid=150568&pre=web_am_se【操作平台】: Ubuntu11.10【使用工具】: Apktool v1.4.3 , dex2jar-0.0.9.9, jd-gui-0.3.3【作者邮箱】: iltgcl@163.com【作者声明...转载 2019-01-10 12:01:20 · 517 阅读 · 0 评论 -
【移动安全基础篇】——27、常用调试检测方法与过检测方法
1. 调试检测在调试加壳软件的时候,总是会突然出现调试中断,或者是程序的异常退出,但是一旦不处于调试的时候又能够正常启动,这些都是因为调试被 app 检测到的原因。2. 基本的调试监控常用的监控手段:1) 检测用户组 cmdline 中是否存在调试进程(gdb、gdbserver、android_server、xposed 等)修改调试器的名称2) 检测线程状态,查看是否存在被调试...转载 2019-01-19 20:27:09 · 649 阅读 · 0 评论 -
【移动安全基础篇】——26、两个简单app破解
1. 试用版软件破解使用 ApkIde 打开要破解的 app 进行反编译分别显示各个按钮的相关 smali 代码将 v0 置为专业版的密钥保存后重新编译,破解成功2. 网络验证使用 apkIde 对目标 app 进行反编译操作定位到点击函数中,分析其中的操作找到网络连接成功后进行的操作定位到 getData()函数找到...转载 2019-01-19 20:27:02 · 6547 阅读 · 2 评论 -
【移动安全基础篇】——22、Android dvm 脱壳
1. 查壳查入口:AndroidManifest -> application 标签2. Assests 分析Assests 中一般储存着加密过的 dex 以及解密用的 so 等信息,因此先分析 Assests 可以有效获取程序解壳思路3. ProxyApplication 分析1) 查找 so 文件并修复分析2) native 函数记录3) 解码函数定...转载 2019-01-14 17:04:59 · 614 阅读 · 0 评论 -
Drozer使用指南
PDF版下载地址:https://download.youkuaiyun.com/download/fly_hps/10937893原创 2019-01-25 13:43:27 · 412 阅读 · 0 评论 -
【移动安全基础篇】——28、Apk加固
1. java 混淆1) 名称替换proguard: -printmapping map.txt -applymapping map.txtdex2jar: d2j-init-deobf –f –o map.txt x.jar d2j-jar-remap ...转载 2019-01-19 20:27:28 · 790 阅读 · 0 评论 -
【移动安全基础篇】——29、Android源码定制添加反反调试机制
1. Kernel proc内核修改检测都是通过 proc 进行的,因此我们需要从 proc 入手要修改的数据:/fs/proc/base.c、/fs/proc/array.c要修改对以下文件的写入:status, stat修改点:base line:285else{ if(strstr(svmname, “trace”)){ return sprin...转载 2019-01-19 20:27:35 · 872 阅读 · 0 评论 -
【移动安全基础篇】——30、class.dex文件格式讲解
1. classes.dex Android 程序编译以后生成一个 apk 文件,里面的 classes.dex 便存放着程序的运行字节码。2. backsmaliShakaApktool 使用 bs 命令即可对 classes.dex 实现反编译回 smali,而使用 s 命令可以把smali 字节码编译为 classes.dex 文件java –jar ShakaApktool b...转载 2019-01-19 20:27:41 · 4626 阅读 · 0 评论 -
【移动安全基础篇】——23、IDA脱壳脚本编写
1. 强制挂接ps | grep “xxx” 查找进程 id 值kill -19 pid 暂停进程ida 挂接,dump 出需要的数据ida 脱离挂接kill -18 pid 继续进程2. 内存 dex 定位gDvm.userDexFiles 是存放 dex cookie(DexOrJar 结构)的地方,因此可以通过遍历该结构获取每个 dex 文件的起始地址。3. De...转载 2019-01-14 17:05:07 · 1376 阅读 · 2 评论 -
【移动安全基础篇】——24、Odex修复方法
1. Dex 转 转 Odex优化:vm/analysis/Optimize.cpp --> dvmOptimizeClass2. Dex 校验vm/analysis/DexVerify.cpp --> dvmVerifyClass3. 取消非必要优化与校验/system/build.propDalvik.vm.dexopt-flag=v=n, o=n4. ...转载 2019-01-14 17:05:13 · 998 阅读 · 0 评论 -
【移动安全基础篇】——25、IDAOdex修复脚本编写
1. Odex 转 转 dex参考 Android 源代码,完成逆转换2. Demo 演示(阿里壳)安装、开启调试端口、端口转发、反编译、挂接运行脚本,识别出了 4 个 dex 数据,前两个为自行输入的,第三个是壳的入口点,最后一个是内存中解码获取的数据将最后的一组数据 dump 出来,然后将 dump 出来的数据进行反编译反编译因为阿里壳生成的一个类而出现异...转载 2019-01-19 20:26:55 · 558 阅读 · 0 评论 -
IOS越狱设备关机重启之后发现SSH连接不上解决方法
情形如下IOS越狱设备关机重启之后发现SSH连接不上IOS所处的网络SSH链接失败:原因:现在发布的doubleH3lix,支持运行iOS10.0-10.3.3的64位设备,此工具对比G0blin越狱更加稳定,并且修复了指纹和定位的问题,是目前最稳定的64位iOS 10.X越狱工具。越狱后自带Cydia,支持越狱插件和主题安装。,但是因为IOS越狱不完美,设备重启后越狱...原创 2019-02-15 09:25:58 · 2494 阅读 · 0 评论 -
IOS中使用SSH链接终端来检查IOS的应用完整性
前言有时候我们在检测IOS的应用完整性的时候会发现PP助手当中无法精确查找到应用的安装包以及将应用进行导出等操作(这也许是IOS未完全越狱导致的),在这种环境下,我们依旧可以对IOS中的应用的完整性进行检查,下面给大家简单的介绍一种通过SSH远程连接IOS来检查IOS中某应用的应用完整性的具体方法与流程。完整性检查在开始测试之前,请确保你的IOS与你的电脑处于一个网段,之后你的电脑需要...原创 2019-02-15 11:35:59 · 1268 阅读 · 0 评论 -
IOS中端口开放检查
IOS中的端口开放检测简介当我们安装一个IOS应用,如果该应用在安装过后会出现监听本地端口,那么这样的应用对于我们的IOS中该端口对应的应用来说是非常不安全的,我们在做IOS测试时,非常有必要去进行测试该模块。检查方法首先SSH远程连接该IOS,之后使用命令进行测试:1、lsof -i|grep -Ei 'LIST|ESTABLISHED' 对相关进程进行测试,查看是否有监听本地的...原创 2019-02-15 12:34:11 · 5241 阅读 · 1 评论 -
“adb不是内部或外部命令,也不是可运行的程序或批处理文件”——解决方法
类似情形出现上面的情形的原因是你本地没有adb或者adb没有添加到PATH环境变量当中!解决方法1、下载adb下载地址:https://www.androiddevtools.cn/2、解压缩到指定的文件夹目录下3、配置环境变量添加路径到PATH目录下之后保存,在新打开的cmd中进行测试: ...原创 2019-02-25 15:07:02 · 3920 阅读 · 0 评论 -
IOS 10.2打开doubleh3lix闪退的解决方法
情形在很多时候,你会发现你原来已经越狱的IOS设备在重启之后会出现doubleH3lix进入不了,而且之前的越狱已经失效了:那么在这种情况下,你如何解决呢?解决方法使用数据线连接IOS与PC,之后再PC端重新越狱IOS机,IOS自动重新卸载doubleH3lix,之后重新安装之后按照上面“橙色”字体的描述去操作,完成后续越狱过程,之后你可以看到越狱成功!...原创 2019-03-06 15:44:31 · 10748 阅读 · 0 评论 -
ios未受信任的企业级开发者
情形当你在安装完某一个IOS 的APP应用你去打开的时候,有时候会碰到如下情况:对于这种问题,如何解决呢?解决方法首先记住上面的报错提示,之后进入设置——》通用之后查看“描述文件”选项,之后找到之前报错的那一项之后点击进入该选项,并且信任该应用回到桌面即可成功打开应用了!...原创 2019-03-06 15:54:03 · 2941 阅读 · 0 评论 -
IOS中如何快速查找安装的应用的位置
前言在IOS测试中,我们有时候可能需要修改安装应用的文件,这时候我们如何快速查找应用的安装位置呢?快速解决方法在IOS中,应用的一般安装位置位于:/private/var/containers/Bundle/Application/private/var/mobile/Containers/Bundle/Application/你可以使用MobaXterm通过SSH链接,之后...原创 2019-03-06 16:11:54 · 32261 阅读 · 0 评论 -
IOS安装burpsuite证书之后依旧抓不到数据包解决方法
情形有时候当你安装的burpsuite证书在的IOS或者Android的测试机上,之后使用burpsuite抓包时总是显示“网络异常,稍后重试”这种字样,那么针对这种情形如何解决呢?解决方法设置证书完全信任:设置——》通用——》关于本机——》证书信任设置——》启用信任:之后使用burpsuite可以完美抓取到应用的数据包:...原创 2019-03-07 10:57:11 · 4768 阅读 · 5 评论 -
Jadx 0.9.0来袭功能大幅度提升
Jadx简介jadx是一款用于逆向APK文件的工具,对于做移动端渗透测试的人员来说有时候我们需要去分析APK文件的源代码来查看APK文件的逻辑以及查找相关的敏感信息,这时候我们就需要使用jadx进行反编译,而我们之前用的jadx不是反编译耗费巨大的时间就是中途奔溃,而新的jadx 0.9.0却可以高效率、快速的完成反编译,省时又好用!Jadx下载地址下载地址:https://downl...原创 2019-03-14 16:40:27 · 1390 阅读 · 0 评论 -
逍遥模拟器配置burpsuite抓包环境
电脑与逍遥模拟器处于同一网段,在burpsuite中设置代理:之后在逍遥模拟器中设置网络代理之后直接下载下面的证书并且将其拖放到逍遥模拟器中:证书下载地址:链接:https://pan.baidu.com/s/1qJmcKcVj3NqmrWKf6zb83g提取码:9ivm之后你就会看到如下页面被打开之后直接双击证书安装即可:之后b...原创 2019-03-29 01:37:44 · 7487 阅读 · 3 评论 -
【移动安全高级篇】————12、静态分析
Android逆向就是反编译的过程,因为看不懂Android正向编译后的结果所以CTF中静态分析的前提是将出现文件反编译到我们看得懂一层源码,进行静态分析。0X01 基础说明Android应用的逻辑代码是由Java进行开发,所以是第一层就是java代码Java虚拟机JVM运行的是java文件编译过后的class文件Android虚拟机Dalvik并不是执行Java虚拟机JVM编译后生...转载 2019-02-14 09:46:44 · 571 阅读 · 0 评论 -
【移动安全高级篇】————11、Frida篇
0X01 Frida框架安装详解1.简述:Frida是以Python为载体,注入Javascript作为Android中执行代码的一款Hook框架,可用Android、ios、linux、win等平台。2.安装客户端:在已有python和pip环境的系统下安装frida,如windows则使用pip install frida-tools命令安装frida包。使用frida命令...转载 2019-02-14 09:35:34 · 1438 阅读 · 0 评论 -
IOS 10.3.3 越狱
前言越狱大神Siguza和Tihmstar发布了最新的iOS10- 10.3.3越狱工具doubleH3lix,此前Tihmstar也发布了10.3.x越狱工具H3lix,不过该工具只支持32位设备,现在发布的doubleH3lix,支持运行iOS10.0-10.3.3的64位设备,不过该工具无法支持iPhone7及以上设备。此工具对比G0blin越狱更加稳定,并且修复了指纹和定位的问题,...原创 2019-02-15 15:32:17 · 8826 阅读 · 0 评论 -
IOS中impactor报182错误解决方法
问题情形解决方法点选Cydia Impactor 选单「Impactor」,将「Insecure SSL」打勾。搞定!原创 2019-02-15 16:15:40 · 13913 阅读 · 0 评论 -
IOS中impactor报81错误解决方法
问题情形解决方法 打开 Cydia Impactor点击「Xcode」>「Revoke Certificates」输入要重签名的 AppleID,点击「OK」继续。原创 2019-02-15 16:23:05 · 13626 阅读 · 1 评论 -
IOS 10.3.3 Meridian越狱
越狱过程1、下载Cydia Impactor后,右键解压缩,并选择【Impactor.exe】执行。把之前下载好的Meridian.ipa拖进cydia Impactor里面;2、然后根据提示输入自己的ID账号与密码(需要关闭双重验证),然后等待完成安装;3、安装到手机后桌面会出现一个名为 Meridian 的APP,手机打开“设置 -> 通用 -> 描述文件”...原创 2019-02-15 16:30:03 · 8236 阅读 · 0 评论 -
浅谈移动端的安全性问题(个人使用\买卖角度)
因为本人在做IOS的测试的时候发现我的IOS测试机(是从二手市场上购买的,之后刷机、越狱的)的图片文件夹当中惊奇的出现了不少前一个用户使用的文件信息,所以有感而发,建议所有的用户在将自己的手机在“二手市场”上交易之前,先将自己手机上的各种应用的数据、日志、照片、文档等等包含大量信息的文件都进行删除,实在不行可以格式化、恢复出厂设置等,下面给大家看几个在该IOS上的前一个用户的各种数据QQ中...原创 2019-02-15 17:55:42 · 671 阅读 · 0 评论 -
【移动安全高级篇】————9、动态分析smali
0X01 smali语言简述smali语言是Dalvik的反汇编语言因Android虚拟机Dalvik不是执行java虚拟机JVM编译后生成的class文件,而是执行再重新整合打包后生成的dex文件,dex文件反编译之后就是smali代码。接触过Android逆向的小伙伴都会遇到smali语言,简单的逆向过程 [apk -> smali -> java]。有的逆向工具无法将sm...转载 2019-02-14 09:03:26 · 641 阅读 · 0 评论 -
【移动安全高级篇】————10、动态分析so
学习Android逆向动态分析前,一定要有基础环境支持,比如sdk、jdk等,所以在动态分析前先要进行一波基础配置。0X01 基础环境配置1、配置adb命令:adb是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备。主要功能有:1.运行设备的shell2.管理模拟器或设备的端口映射3.主机和设备之间上传/下载文件...转载 2019-02-14 09:23:43 · 671 阅读 · 0 评论 -
Drozer+天天模拟器环境搭建
环境前提Windows 10 + JDKDrozer安装Drozer下载地址:链接:https://pan.baidu.com/s/1sSothVm19Ry0k0Y3ES0WPg 密码:0fey下载解压缩之后文件夹中的内容为:之后直接双击“setup.exe”在本地采用“傻瓜式”安装即可!模拟器配置将下载的agent.apk复制到夜神模拟器当中,并运行连...原创 2019-08-27 08:52:23 · 418 阅读 · 0 评论 -
【移动安全实战篇】————5、Android屏幕解锁图案破解
Android手机上有一个屏幕解锁的应用相信大家都不陌生,在 Android 设备上,用户可以通过设置锁定图案作为密码对设备用户界面进行锁定,锁定界面如下图所示。一般的Android手机的锁定界面由九个点构成,设定图案需满足三个要求:至少四个点; 最多九个点; 无重复点。这种看似复杂的解锁方式在 Android 存储时使用的是明文转换后采用散列方式存储。Android 设备图...转载 2019-01-10 14:12:46 · 6110 阅读 · 0 评论