Android逆向
文章平均质量分 80
YJJYXM
这个作者很懒,什么都没留下…
展开
-
Android 应用防止被二次打包指南
“Android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。二次打包问题只是Android应用安全风险中的一部分, 一般是通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场、论坛发布。转载 2021-01-08 17:50:04 · 1393 阅读 · 0 评论 -
JEB工具介绍及使用
往期推荐jadx工具介绍及使用签名校验之“xx银行”Jeb调试ctf(破解密码 Crack the key)”川报观察“协议分析(抓不到包)需要相关资料的朋友,可以【加入此处即可打包获取】JEB是一款为安全专业人士设计的功能强大的Android应用程序反编译工具。用于逆向工程或审计APK文件,可以提高效率,减少工程师的分析时间。一: JEB工具包下载推荐同学们使用教程中提供的JEB工具包。二: 了解JEB工具常用功能1.下载完成后进行解压,解压完成后打开文件夹,会看到很多文件夹,这里选择原创 2021-01-07 18:19:10 · 8031 阅读 · 1 评论 -
jadx工具介绍及使用
jadx工具是一款反编译利器,同时支持命令行和图形界面,能以最简便的方式完成apk的反编译操作。原创 2021-01-06 17:30:49 · 4917 阅读 · 2 评论 -
安卓移动应用代码安全加固系统设计及实现
安卓平台已经逐渐成为最受欢迎的移动终端操作系统,基于安卓系统的软件应用数量众多,同时安全威胁也在不断增加。介绍了Android系统的安全风险及加固的核心技术,据此提出了一种安卓应用程序的安全加固系统,设计和实现了基于代码混淆的加固技术,从而达到了移动应用安全加固的目的。转载 2021-01-05 17:48:19 · 573 阅读 · 0 评论 -
签名校验之“xx银行”
签名验证xx银行,详细步骤来看呀原创 2020-12-31 15:15:19 · 352 阅读 · 0 评论 -
Jeb调试ctf(破解密码 Crack the key)
往期推荐”川报观察“协议分析(抓不到包)实战分析43XX的HTTPS协议普通协议(HTTP)与安全协议(HTTPS)客户端与服务器端需要相关资料的朋友,可以【加入此处即可打包获取】链接:https://pan.baidu.com/s/1CIz_vIPEKEbKfgohLvn1xA提取码:whp6复制这段内容后打开百度网盘手机App,操作更方便哦如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程安卓逆向交流学习原创 2020-12-30 14:59:21 · 984 阅读 · 0 评论 -
”川报观察“协议分析(抓不到包)
抓不到包怎吗办,来我手把手教你啊原创 2020-12-29 17:06:40 · 335 阅读 · 1 评论 -
实战分析43XX的HTTPS协议
抓包分析43XX的登录协议,两次抓包,对比哪些字段发生了变化,重点分析变化字段。原创 2020-12-28 17:42:12 · 1321 阅读 · 0 评论 -
实战分析人X的HTTP协议
使用抓包工具抓取人X的数据,通过对比工具分析哪些数据发生了改变,着重分析改变的字段及加密算法。原创 2020-12-25 15:42:56 · 1406 阅读 · 0 评论 -
普通协议(HTTP)与安全协议(HTTPS)
HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。HTTP协议属于应用层,建立在传输层协议TCP之上。客户端通过与服务器建立TCP连接,之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。原创 2020-12-24 17:12:06 · 974 阅读 · 1 评论 -
pc端和移动端抓包工具
Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的DL服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。显然它是可以支持对手机应用进行http抓包的。本文就来介绍下如何用fiddler对手机应用来抓包。原创 2020-12-23 16:15:48 · 4743 阅读 · 0 评论 -
客户端与服务器端
概念:协议就是服务器与客户端交互信息的一种规则。客户端和服务器连接:实质都是连接服务器的IP地址和开放端口。原创 2020-12-22 16:55:01 · 839 阅读 · 0 评论 -
CydiaSubstrate框架
Cydia Substrate是一个基于Hook的代码修改框架,可以在Android、iOS平台使用,并实现修改系统默认代码。原创 2020-12-21 16:42:44 · 2431 阅读 · 0 评论 -
Frida Native层HOOK
实例hook案例app成功打印返回值、参数。原创 2020-12-18 14:32:18 · 1003 阅读 · 0 评论 -
Frida hook Java层
Frida hook Java层包括Hook普通方法(包含静态方法)、构造方法、重载方法、以及构造对象参数和修改对象属性象参数。原创 2020-12-17 15:46:40 · 1228 阅读 · 0 评论 -
frida环境安装
frida是一款基于python + java 的hook框架,可运行在android、ios、linux、winosx等各平台上,主要使用动态二进制插桩技术。原创 2020-12-16 14:41:26 · 1075 阅读 · 2 评论 -
Xposed框架安装、使用及插件开发
Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。对原生Launcher替换图标等应用或功能均基于此框架。原创 2020-12-15 15:00:57 · 6727 阅读 · 0 评论 -
HOOK startActivity
Hook的英文含义是钩子,你可以理解为用钩子把要Hook的对象勾过来,然后再把替换的对象送回去。Hook其实就是把原来的对象替换成仿造的对象,还有就是必须拿到当前对象里的某个属性进行Hook,否则你的hook是失败的,没有意义的。原创 2020-12-14 16:34:44 · 568 阅读 · 1 评论 -
HOOK框架——动态代理
动态代理的目的就是为了解决静态代理的缺点,通过使用动态代理,在运行时动态生成一个持有RealObject,并实现代理接口的Proxy,同时注入相同的扩展逻辑。即使你要代理的RealObject是不同的对象,代理不同的方法,都可以通过动态代理来扩展功能。原创 2020-12-11 11:08:57 · 799 阅读 · 0 评论 -
HOOK框架——静态代理
代理模式分为静态代理和动态代理 ,静态代理是编译阶段就生成代理类来完成对代理对象的一系列操作。动态代理是指在运行时动态生成代理类。即代理类的字节码将在运行时生成并载入当前代理的 ClassLoader。原创 2020-12-10 17:11:59 · 342 阅读 · 0 评论 -
实战案列分析:Crakeme01
往期推荐实战:AliCrackme实战案列:AntiDebugself-debugging反调试轮循检测技术需要样本的朋友,可以【加入此处即可打包获取】先运行软件,观察程序特点,步骤与第八节实战相似,都是运用IDA静态调试与动态调试相结合获取密码,从而进入功能页面,具体操作流程如下。一: jdax-gui中分析java代码在xml文件里,找到程序入口点,如下图所示。直接查看click,如下图所示。此处if的判断与之前分析的AliCreackme不同。先判断它是否为空,如果为空,先弹出原创 2020-12-09 11:27:16 · 382 阅读 · 0 评论 -
实战:AliCrackme
往期推荐self-debugging反调试轮循检测技术进程名称检测实战案列:AntiDebug一:分析AliCrackme将AliCrackme程序拖入jdax-gui进行分析。1.从xml中找到程序入口点,如下图所示。2.分析Oncreate,前面是布局初始化和设置监听的操作,如下图所示。3.点击onclick里的内容,如果这个函数返回值为真,就进行页面跳转,否则显示弹窗失败,如下图所示。4.点击函数,发现被native修饰,说明是使用NDK开发,直接分析so库,如下图所示。原创 2020-12-08 11:08:13 · 325 阅读 · 0 评论 -
实战案列:AntiDebug
Anti Debug主要是通过各种函数去确定当前进程是否处于被调试的状态。原创 2020-12-07 16:50:53 · 526 阅读 · 0 评论 -
Java层反调试
往期推荐self-debugging反调试轮循检测技术进程名称检测调试端口检测安卓程序动态调试需要满足两个条件。1.在AndroidMainfest.xml文件中,在application标签下,Android:debuggable=true。2.系统默认调式,在build.prop(boot.img),ro.debugable=1。一:实例演示java层反调试以“百度加固”为例。1.将样本拖入jdax-gui中,进行反编译,来到加固程序的onCreate里,如下图所示。2.找到at原创 2020-12-04 17:13:01 · 468 阅读 · 0 评论 -
self-debugging反调试
往期推荐轮循检测技术进程名称检测调试端口检测调试与反调试–关键文件检测Self的英文意思是自己,顾名思义,self-debugging就是通过调试自身检测出是否被调试。一 : self-debugging反调试原理1.通过观察下图所知。,当前的进程就是父进程,也就是即将被调试的进程。2.然后通过父进程来fork一个子进程,如下图所示。3.子进程实现了调试器的功能,如下图所示。4.作为调试器的子进程附加父进程,如下图所示。5.通过子进程调试父进程,进而阻止其他调试器来调试父进程,原创 2020-12-03 16:07:39 · 530 阅读 · 0 评论 -
轮循检测技术
往期推荐调试端口检测调试与反调试–关键文件检测模拟器检测文件检测如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程安卓逆向交流学习 Q群:876526335vx:yijin_LX...原创 2020-12-02 16:38:50 · 457 阅读 · 0 评论 -
进程名称检测
往期推荐调试与反调试–关键文件检测模拟器检测文件检测签名验证一:分析进程名称检测的C代码1.来到main函数,从main函数的coursecheck()开始分析,如下图所示。2.直接查看调用的函数coursecheck(),如下图所示。3.分析该函数,首先它定义几个char型的数组,如下图所示。4.获取当前的pid,然后使用sprintf函数把pid写入/proc/%d/status字符串中,再放入filename所指地址的数组中,使用fopen函数打开filename表示的文件名,原创 2020-12-01 15:17:36 · 412 阅读 · 0 评论 -
调试端口检测
往期推荐调试与反调试–关键文件检测模拟器检测文件检测签名验证一:运行文件检测程序1.将checkTCP课件Push到目录/data/local/tmp位置,如下图所示。2.给这个可执行程序一个权限,运行程序,发现被killed,显示5D8A,如下图所示。3.执行指令cat /proc/net/tcp,查看当前端口,发现当前有两个端口,如果当前程序存在5D8A这个端口,说明IDA程序android_server正在运行,这个就是端口检测的原理,如下图所示。4.如果将android se原创 2020-11-30 16:15:12 · 918 阅读 · 0 评论 -
调试与反调试--关键文件检测
往期推荐模拟器检测文件检测签名验证资源文件混淆、一:运行文件检测程序1.使用adb命令,将filecheck课件push到手机目录下的data/local位置,如下图所示。2.运行filecheck后,提示killed,如下图所示。3.删除android server,再运行程序,程序可正常运行,如下图所示。结论:如果有android server存在,程序就无法运行,如果删除android server,程序就可以正常运行,这就是关键文件的检测。二: 进行IDA分析1.将fil原创 2020-11-27 16:28:50 · 358 阅读 · 0 评论 -
模拟器检测
往期推荐文件检测签名验证资源文件混淆apk保护策略——Java代码混淆模拟器检测的就是指通过检测确认软件、手游等不能运行在模拟器上面。比如一个游戏,它能够在模拟器上实现批量刷金币或者是其他功能,但模拟器又无法启动起来,在这种情况下,就需要使用真机,相应地成本也就增加了。检测模拟器包含的配置信息是非常多的,包括wifi、蓝牙、电量、cpu等等。接下来进行实际操作,演示如何检测模拟器。在模拟器中打开“设置”选项,来到最后一项“关于平板电脑”,如下图所示。一:析代码在获取基本信息之后,分析其原创 2020-11-26 15:56:50 · 5786 阅读 · 4 评论 -
文件检测
往期推荐签名验证资源文件混淆apk保护策略——Java代码混淆IDA调试修改内存数据CRC即循环冗余校验码(Cyclic Redundancy Check)是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。一:CRC循环冗余校验的原理在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校 验码,而G(x)叫做这个C原创 2020-11-25 15:50:04 · 571 阅读 · 0 评论 -
签名验证
往期推荐资源文件混淆apk保护策略——Java代码混淆IDA调试修改内存数据IDA调试界面介绍及快捷键当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,本今天给大家讲讲如何解决因签名验证而出现的闪退现象。一:阅读签名验证源码1.打开文件,如下图所示。2.分析Java层,在调用init这个方法里面,是进行按钮以及其他控件的初始化,如下图所示。3.接下来是一个注册函数,判断用户名和密码是否相等,从而弹出不同的提示,如下图所示。4原创 2020-11-24 15:18:58 · 2098 阅读 · 0 评论 -
资源文件混淆
往期推荐apk保护策略——Java代码混淆IDA调试修改内存数据IDA调试界面介绍及快捷键IDA调试环境搭建在使用AndroidKiller修改smali代码,进行回编译时,有时会出现报错的情况,报错的其中一种可能是由于资源文件的混淆,可以通过绕过资源对抗的方法解决。一:资源混淆的例子分别打开AndroidKiller和模拟器,以捕鱼达人软件为例进行演示,如下图所示。反编译这款游戏时,如下图所示。重新打包,点击“编译”按钮进行回编译,此时会出现错误信息,如下图所示。若想解决,就要使用M原创 2020-11-23 17:37:05 · 1023 阅读 · 0 评论 -
apk保护策略——Java代码混淆
往期推荐IDA调试修改内存数据IDA调试界面介绍及快捷键IDA调试环境搭建IDA静态分析前一段时间分享了IDA工具的使用以及各方面知识,有需要的小伙伴们自取,如果在学习安卓逆向技术的小伙伴们对你们的帮助还是很大的。今天给大家分享apk保护策略的知识,需要的小伙伴们可以持续关注哦。在分析一个程序的Java层逻辑,进行反编译时,偶尔会发现代码中所有的函数名、变量名、类名等都变成了一些杂乱无章的名字,它们没有任何规律可言,这就是程序的混淆。Java代码混淆就是为了保护Java源代码,对编译好的cl原创 2020-11-20 14:38:25 · 519 阅读 · 0 评论 -
改变程序执行流程
往期推荐IDA调试修改内存数据IDA调试界面介绍及快捷键IDA调试环境搭建IDA静态分析一:分析程序执行流程1.将IDA切换为视图模式,如下图所示。2.在视图模式下,看到这里存在BLX 和CMP两个函数,如下图所示。3.当BLX函数执行完毕后,会把返回值放到R0寄存器,然后执行cmp指令,就会将R0的值和0进行比较,不同的结果执行不同的分支,如下图所示。4.此处如何跳转,完全取决于跳转指令BNE(不等于则跳转),如下图所示。5.按空格切换回来,如下图所示。如果R0和0不相等,原创 2020-11-19 17:23:25 · 631 阅读 · 0 评论 -
IDA调试修改内存数据
往期推荐IDA调试界面介绍及快捷键IDA调试环境搭建IDA静态分析IDA工具介绍一:修改寄存器的值以下图所示的BLX R3这个函数为例,执行完毕后,他的返回值在右面的R0寄存器,对它进行修改。1.将鼠标移到R0寄存器,右键,选择“Modify value”选项,可以修改为任意值,如下图所示。2.除了选择“Modify value”选项外,还可以选择“Zero value”选项,直接置零,如下图所示。二:篡改内存数据在函数头打断点,点击F9,程序成功在函数头断下,紧接着F8往下走,当原创 2020-11-18 15:55:32 · 3783 阅读 · 0 评论 -
IDA调试界面介绍及快捷键
往期推荐IDA调试环境搭建IDA静态分析IDA工具介绍IDA工具安装、分享首先,打开IDA工具,进入IDA的调试界面。一: IAD调式界面介绍1.IDA-view-PC:反汇编窗口,如下图所示。2.Hex-View:十六进制编辑窗口,如下图所示。3.Output windows(下方) :输出窗口;General register(右侧):寄存器窗口,如下图所示。4.Stack view(右下角):栈视图,如下图所示。5.常量字符串窗口:View=>Open subvi原创 2020-11-16 16:06:46 · 4104 阅读 · 0 评论 -
IDA调试环境搭建
往期推荐IDA静态分析IDA工具介绍IDA工具安装、分享ARM处理器寻址方式通过上一章节的学习,我们掌握了IDA静态分析so文件的操作方法,但想要更加具体地对程序进行分析,动态调试是必不可少的,而在动态调式之前,则需要搭建IDA动态调试的环境。一:创建安卓自带模拟器1.在SDK中找到AVD Manager.exe程序,如下图所示。2.双击打开程序,如下图所示。3.点击页面右侧的“Create”按钮,创建相应的模拟器,如下图所示。4.在模拟器中设置一系列的参数值,点击OK,如下图所示原创 2020-11-13 17:39:20 · 1156 阅读 · 0 评论 -
IDA静态分析
往期推荐IDA工具介绍IDA工具安装、分享ARM处理器寻址方式ARM指令集一:分析“getText”函数1.首先任意打开一个函数,以getText函数为例,如下图所示。2.双击打开该函数,开始分析汇编指令,箭头所指位置是指令的开始处,如下图所示。.text:00001148 STMFD SP!,{R3-R5,LR}压栈操作,把R3-R5,LR分别压到栈顶。.text:0000114C MOV R5, R1把R1赋值给R5。.text:00001150 LDR R3原创 2020-11-12 11:12:54 · 2069 阅读 · 0 评论 -
IDA工具介绍
往期推荐IDA工具安装、分享ARM处理器寻址方式ARM指令集ARM汇编语言程序结构昨天给大家概括性的了解了IDA工具,今天分享IDA工具的实际应用。一:IDA打开so文件1.首先打开IDA工具,进入选项界面,直接选中Go选项,如下图所示。2.点击GO进入IDA工具的主界面,如下图所示。3.将准备好的so文件案例拖至IDA工具中,此界面的选项选择默认即可,点击OK,如下图所示。4.进入So文件反编译完成的提示界面,继续点击OK进入主界面,如下图所示。5.进入IDA反编译so完成后原创 2020-11-11 14:41:29 · 13887 阅读 · 5 评论