自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (1)
  • 收藏
  • 关注

原创 360壳分析,手把手教你操作

安卓逆向交流学习群:692903341先直接看这个so库:拖入IDA静态看一下:发现看不到什么信息,原因很简单,因为被处理了;怎么办呢?通过010进行对so简单修改:拖入IDA,使用ELF.b进行识别:识别效果:头里面描述了有关节的信息:先修改节的偏移:这个三个:保存之后,然后继续拖入IDA:发现没报异常,可以识别一些东西:为什么这样就能成功呢?因为我们把节有关的...

2020-01-16 11:25:31 3615 1

原创 【安卓逆向】360加固-脱壳修复

最近花了一些时间学习逆向脱壳,这方面一直投入的时间比较少。样本经过某加固宝进行加固,这里简单记录一下脱壳过程和思路,感谢某数字公司对安全加固的无私贡献,让我有机会小小的提高一下这方面的技能。DUMP classes.dex打开APK包中的classes.dex看一下:已经变成了壳代{过}{滤}理,没有一点原APK的代码。在assets中,有两个壳相关的SO:尝试从内存中DUMP原cla...

2019-10-08 09:58:04 21434 3

原创 unidbg工具使用

一、下载IntelliJ IDEA在此处不过多赘述了,去官方网站下载IDEA就可以了。当然此处有社区版和专业版,那么这里就看个人需求了。安装教程网上还是很多的,在此处也不多说了。二、IDEA相关配置在使用之前需要配置好Maven以及修改默认Repository,接下来就说一下此方面。1.配置Maven环境(1) .下载apache-maven文件,选择自己需要的版本,这里下载3.6的就可以,地址:http://maven.apache.org/(2) 解压1所下载文件,本人解压到:D:\apac

2021-04-28 11:06:55 2473 1

转载 无需脱壳抓取软件加密包方法(逆向破解)

往期推荐jadx工具介绍及使用签名校验之“xx银行”Jeb调试ctf(破解密码 Crack the key)”川报观察“协议分析(抓不到包)需要相关资料的朋友,可以【加入此处即可打包获取】简单讲一下不脱壳抓取数据包方法,不懂的再问。夜神模拟器 6.6.0.5Android version 5.1.1Xposed.installer(5.11安卓系统)Xserver (0.6.2)4.42安卓模拟器Xposed框架链接:https://pan.baidu.com/s/1depSSHCy

2021-01-12 18:07:04 1985

转载 Android 应用防止被二次打包指南

“Android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。二次打包问题只是Android应用安全风险中的一部分, 一般是通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场、论坛发布。

2021-01-08 17:50:04 1277

原创 JEB工具介绍及使用

往期推荐jadx工具介绍及使用签名校验之“xx银行”Jeb调试ctf(破解密码 Crack the key)”川报观察“协议分析(抓不到包)需要相关资料的朋友,可以【加入此处即可打包获取】JEB是一款为安全专业人士设计的功能强大的Android应用程序反编译工具。用于逆向工程或审计APK文件,可以提高效率,减少工程师的分析时间。一: JEB工具包下载推荐同学们使用教程中提供的JEB工具包。二: 了解JEB工具常用功能1.下载完成后进行解压,解压完成后打开文件夹,会看到很多文件夹,这里选择

2021-01-07 18:19:10 7731 1

原创 jadx工具介绍及使用

jadx工具是一款反编译利器,同时支持命令行和图形界面,能以最简便的方式完成apk的反编译操作。

2021-01-06 17:30:49 4692 2

转载 安卓移动应用代码安全加固系统设计及实现

安卓平台已经逐渐成为最受欢迎的移动终端操作系统,基于安卓系统的软件应用数量众多,同时安全威胁也在不断增加。介绍了Android系统的安全风险及加固的核心技术,据此提出了一种安卓应用程序的安全加固系统,设计和实现了基于代码混淆的加固技术,从而达到了移动应用安全加固的目的。

2021-01-05 17:48:19 515

原创 签名校验之“xx银行”

签名验证xx银行,详细步骤来看呀

2020-12-31 15:15:19 331

原创 Jeb调试ctf(破解密码 Crack the key)

往期推荐”川报观察“协议分析(抓不到包)实战分析43XX的HTTPS协议普通协议(HTTP)与安全协议(HTTPS)客户端与服务器端需要相关资料的朋友,可以【加入此处即可打包获取】链接:https://pan.baidu.com/s/1CIz_vIPEKEbKfgohLvn1xA提取码:whp6复制这段内容后打开百度网盘手机App,操作更方便哦如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程安卓逆向交流学习

2020-12-30 14:59:21 943

原创 ”川报观察“协议分析(抓不到包)

抓不到包怎吗办,来我手把手教你啊

2020-12-29 17:06:40 315 1

原创 实战分析43XX的HTTPS协议

抓包分析43XX的登录协议,两次抓包,对比哪些字段发生了变化,重点分析变化字段。

2020-12-28 17:42:12 1099

原创 实战分析人X的HTTP协议

使用抓包工具抓取人X的数据,通过对比工具分析哪些数据发生了改变,着重分析改变的字段及加密算法。

2020-12-25 15:42:56 1375

原创 普通协议(HTTP)与安全协议(HTTPS)

HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。HTTP协议属于应用层,建立在传输层协议TCP之上。客户端通过与服务器建立TCP连接,之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。

2020-12-24 17:12:06 926 1

原创 pc端和移动端抓包工具

Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的DL服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。显然它是可以支持对手机应用进行http抓包的。本文就来介绍下如何用fiddler对手机应用来抓包。

2020-12-23 16:15:48 4479

原创 客户端与服务器端

概念:协议就是服务器与客户端交互信息的一种规则。客户端和服务器连接:实质都是连接服务器的IP地址和开放端口。

2020-12-22 16:55:01 801

原创 CydiaSubstrate框架

Cydia Substrate是一个基于Hook的代码修改框架,可以在Android、iOS平台使用,并实现修改系统默认代码。

2020-12-21 16:42:44 2376

原创 Frida Native层HOOK

实例hook案例app成功打印返回值、参数。

2020-12-18 14:32:18 939

原创 Frida hook Java层

Frida hook Java层包括Hook普通方法(包含静态方法)、构造方法、重载方法、以及构造对象参数和修改对象属性象参数。

2020-12-17 15:46:40 1176

原创 frida环境安装

frida是一款基于python + java 的hook框架,可运行在android、ios、linux、winosx等各平台上,主要使用动态二进制插桩技术。

2020-12-16 14:41:26 1006 2

原创 Xposed框架安装、使用及插件开发

Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。对原生Launcher替换图标等应用或功能均基于此框架。

2020-12-15 15:00:57 6643

原创 HOOK startActivity

Hook的英文含义是钩子,你可以理解为用钩子把要Hook的对象勾过来,然后再把替换的对象送回去。Hook其实就是把原来的对象替换成仿造的对象,还有就是必须拿到当前对象里的某个属性进行Hook,否则你的hook是失败的,没有意义的。

2020-12-14 16:34:44 536 1

原创 HOOK框架——动态代理

动态代理的目的就是为了解决静态代理的缺点,通过使用动态代理,在运行时动态生成一个持有RealObject,并实现代理接口的Proxy,同时注入相同的扩展逻辑。即使你要代理的RealObject是不同的对象,代理不同的方法,都可以通过动态代理来扩展功能。

2020-12-11 11:08:57 688

原创 HOOK框架——静态代理

代理模式分为静态代理和动态代理 ,静态代理是编译阶段就生成代理类来完成对代理对象的一系列操作。动态代理是指在运行时动态生成代理类。即代理类的字节码将在运行时生成并载入当前代理的 ClassLoader。

2020-12-10 17:11:59 309

原创 实战案列分析:Crakeme01

往期推荐实战:AliCrackme实战案列:AntiDebugself-debugging反调试轮循检测技术需要样本的朋友,可以【加入此处即可打包获取】先运行软件,观察程序特点,步骤与第八节实战相似,都是运用IDA静态调试与动态调试相结合获取密码,从而进入功能页面,具体操作流程如下。一: jdax-gui中分析java代码在xml文件里,找到程序入口点,如下图所示。直接查看click,如下图所示。此处if的判断与之前分析的AliCreackme不同。先判断它是否为空,如果为空,先弹出

2020-12-09 11:27:16 346

原创 实战:AliCrackme

往期推荐self-debugging反调试轮循检测技术进程名称检测实战案列:AntiDebug一:分析AliCrackme将AliCrackme程序拖入jdax-gui进行分析。1.从xml中找到程序入口点,如下图所示。2.分析Oncreate,前面是布局初始化和设置监听的操作,如下图所示。3.点击onclick里的内容,如果这个函数返回值为真,就进行页面跳转,否则显示弹窗失败,如下图所示。4.点击函数,发现被native修饰,说明是使用NDK开发,直接分析so库,如下图所示。

2020-12-08 11:08:13 302

原创 实战案列:AntiDebug

Anti Debug主要是通过各种函数去确定当前进程是否处于被调试的状态。

2020-12-07 16:50:53 502

原创 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 431

原创 self-debugging反调试

往期推荐轮循检测技术进程名称检测调试端口检测调试与反调试–关键文件检测Self的英文意思是自己,顾名思义,self-debugging就是通过调试自身检测出是否被调试。一 : self-debugging反调试原理1.通过观察下图所知。,当前的进程就是父进程,也就是即将被调试的进程。2.然后通过父进程来fork一个子进程,如下图所示。3.子进程实现了调试器的功能,如下图所示。4.作为调试器的子进程附加父进程,如下图所示。5.通过子进程调试父进程,进而阻止其他调试器来调试父进程,

2020-12-03 16:07:39 494

原创 轮循检测技术

往期推荐调试端口检测调试与反调试–关键文件检测模拟器检测文件检测如果你也对安卓逆向感兴趣。可以加入下方的群,大家一起讨论问题,或者扫描下方二维码关注公众号,关注回复 “安卓逆向” 获取免费教程安卓逆向交流学习 Q群:876526335vx:yijin_LX...

2020-12-02 16:38:50 418

原创 进程名称检测

往期推荐调试与反调试–关键文件检测模拟器检测文件检测签名验证一:分析进程名称检测的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 385

原创 调试端口检测

往期推荐调试与反调试–关键文件检测模拟器检测文件检测签名验证一:运行文件检测程序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 883

原创 调试与反调试--关键文件检测

往期推荐模拟器检测文件检测签名验证资源文件混淆、一:运行文件检测程序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 323

原创 模拟器检测

往期推荐文件检测签名验证资源文件混淆apk保护策略——Java代码混淆模拟器检测的就是指通过检测确认软件、手游等不能运行在模拟器上面。比如一个游戏,它能够在模拟器上实现批量刷金币或者是其他功能,但模拟器又无法启动起来,在这种情况下,就需要使用真机,相应地成本也就增加了。检测模拟器包含的配置信息是非常多的,包括wifi、蓝牙、电量、cpu等等。接下来进行实际操作,演示如何检测模拟器。在模拟器中打开“设置”选项,来到最后一项“关于平板电脑”,如下图所示。一:析代码在获取基本信息之后,分析其

2020-11-26 15:56:50 5567 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 537

原创 签名验证

往期推荐资源文件混淆apk保护策略——Java代码混淆IDA调试修改内存数据IDA调试界面介绍及快捷键当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,本今天给大家讲讲如何解决因签名验证而出现的闪退现象。一:阅读签名验证源码1.打开文件,如下图所示。2.分析Java层,在调用init这个方法里面,是进行按钮以及其他控件的初始化,如下图所示。3.接下来是一个注册函数,判断用户名和密码是否相等,从而弹出不同的提示,如下图所示。4

2020-11-24 15:18:58 2039

原创 资源文件混淆

往期推荐apk保护策略——Java代码混淆IDA调试修改内存数据IDA调试界面介绍及快捷键IDA调试环境搭建在使用AndroidKiller修改smali代码,进行回编译时,有时会出现报错的情况,报错的其中一种可能是由于资源文件的混淆,可以通过绕过资源对抗的方法解决。一:资源混淆的例子分别打开AndroidKiller和模拟器,以捕鱼达人软件为例进行演示,如下图所示。反编译这款游戏时,如下图所示。重新打包,点击“编译”按钮进行回编译,此时会出现错误信息,如下图所示。若想解决,就要使用M

2020-11-23 17:37:05 956

原创 apk保护策略——Java代码混淆

往期推荐IDA调试修改内存数据IDA调试界面介绍及快捷键IDA调试环境搭建IDA静态分析前一段时间分享了IDA工具的使用以及各方面知识,有需要的小伙伴们自取,如果在学习安卓逆向技术的小伙伴们对你们的帮助还是很大的。今天给大家分享apk保护策略的知识,需要的小伙伴们可以持续关注哦。在分析一个程序的Java层逻辑,进行反编译时,偶尔会发现代码中所有的函数名、变量名、类名等都变成了一些杂乱无章的名字,它们没有任何规律可言,这就是程序的混淆。Java代码混淆就是为了保护Java源代码,对编译好的cl

2020-11-20 14:38:25 476

原创 改变程序执行流程

往期推荐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 588

原创 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 3682

1-APK文件结构.mp4

学习安卓逆向第一步必须先把环境搭建好,这是你学习安卓逆向的开始,环境搭建好后表示正式迈入安卓逆向。在环境安装的工程中会遇到很多细节上的问题,针对这些坑可以去看看使用教程,或者看看网课老师的教程操作都可以。

2020-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除