Flutter是谷歌新的开源移动开发框架,其允许开发人员在此基础上编写代码库并构建Android、iOS、Web和桌面应用。 Flutter应用程序是用Dart编写的,而该语言是一种由Google在7年前创建的。 通常来说,在安全评估与bounty过程中,我们需要拦截移动应用程序和后端之间的流量,这通常通过添加Burp作为拦截代理来完成。其余代理应用很难满足其需求,但是Burp却有着很好的性能。
0x00 前言 跟着[1]调试CVE-2017-13253, [1]使用的调试环境为nexus,HAL的实现没有分开,我的调试环境为pixel,HAL的实现分开了,我在这里整理成一篇文章,记录踩过的坑。 CVE-2017-13253 为Android Drm服务中的堆溢出漏洞。 0x01 理论 1 DRM Android Drm 属于 Android Native 多媒体框架中的一部分。在播放受D
Android应用程序:绕过SSL pinning 原文链接:https://medium.com/@ved_wayal/hail-frida-the-universal-ssl-pinning-bypass-for-android-e9e1d733d29 大家好,在这篇文章中,我将解释如何使用frida框架绕过任何Android应用程序的SSL pinning,我会尝试更详细地解释其中的细节。
本文是翻译文章,原文链接:https://googleprojectzero.blogspot.com/2019/08/the-fully-remote-attack-surface-of.html 原文名:The Fully Remote Attack Surface of the iPhone 虽然过去几年里有一些关于iPhone被攻击者使用的完全远程漏洞(fully remote vuln
0x00:简介 —————————————————————————————————————————————————————————————————— 不得不说,随着时代的发展,游戏产业在近几年的互联网潮流中越来越扮演者重要的地位,与之而来的不仅有网络游戏公司的春天,还有游戏灰色产业的暗流涌动。在游戏产业的发展中,诞生了一大批所谓的“外x挂”开发人员,他们不断的利用游戏的漏洞,在违法牟利的同时,也促
[TOC] 预知识 Apk应用启动过程 1.(Launcher应用程序中执行)点击图标,Launcher应用程序通知ActivityManagerService开启activity 2.(ActivityManagerService组件中执行)ActivityManagerService通过IBinder向Launcher组件发送SCHEDULE_PAUSE_ACTIVITY_TRANSACTI
[TOC] 引言 通常一些应用壳代码、算法协议什么的都会在so层,需要保护起来增加逆向难度。 所以本篇文章通过分析壳程序来熟悉一下Native层分析。 概述 本篇分析内容如下,主要分析libshella_3.0.0.0.so文件: init_array节解密JNI_OnLoad(通常so层保护就是对JNI_OnLoad进行保护,隐藏native方法注册) 遍历/proc/self/maps获取s
[TOC] 概述 本片文章描述一次完整的脱壳历程,从java层到Native层 流程概述 Java层 java层找到库函数的入口位置 过掉java层的反调试(解决方法在Native层:动态在isDebuggerConnected下断点) Native层 绕过Anti IDA 双层解密JNI_OnLoad 动态调试JNI_OnLoad,得到注册的本地方法的具体位置 分析load方法找到Dex动
[TOC] 概述 了解了编译、打包、签名、安装apk文件后,正式开始逆向的基础,静态分析 java层 apk包内的dex文件是dalvik虚拟机可识别的可执行文件,我们主要也是对dex文件进行逆向,分析其代码逻辑、更改其逻辑做一些分析、破解之类的行为 工具 apktool androidkiller jeb jadx GDA smali/baksmali .... 破解流程 反编译apk
[TOC] 概述 本片分析文章通过一道看雪CTF题讲述作者的整个分析流程,学习WebAssemble、Z3库、IDC脚本、多元线性方程等内容 分析流程 安装应用后,出现一个输入框和一个按钮 android jadx反编译apk后先查看manifest清单文件的注册组件,只有一个入口活动类,进入查看 <application android:theme="@style/AppTheme" an
签名算法是指数字签名的算法。数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名是通过一个单向函数,对要传送的信息进行处理得到的用以认证信息来源,并核实信息在传送过程中是否发生变化的一个字母数字串。目前应用最为广泛的三种签名算法是:Rabin签名、DSS签名、RSA签名。 0x1 抓包分析 看样子是个md5加密
[TOC] 引言 本片作为Android逆向入门篇,只有先了解APK包的信息,才可以进一步来逆向它 APK打包 APK打包的内容主要有:应用模块也就是自己开发的用到的源代码、资源文件、aidl接口文件,还有就是依赖模块即源代码用到的第三方依赖库如:aar、jar、so文件。 从图中可以看出主要分为以下几步: 第一步:编译,打包 目录结构类似下面所示: android-project/ ├──
[TOC] 引言 本片文章主要学习Android平台的Inline-Hook来配合ptrace注入实现简单的游戏破解,了解游戏破解相关的安全技术。 概述 下面通过一张经典的inline hook流程图,做个大致介绍。 主要通过修改一条汇编指令,让指令流程跳转到我们设计好的桩函数处,执行完我们的桩函数后紧接着执行我们修改的哪条汇编指令,紧接着经过一个跳转指令返回原来的指令流程里继续程序的正常执行。
[TOC] 引言 本篇文章具体从代码中做到如何进行ptrace注入,为实现将外挂模块注入到游戏进程中破解手游2048做准备 技术概述 主要通过系统调用函数ptrace的功能: 通过shellcode注入模块到远程进程中 利用ptrace远程调用dlopen/dlsym将动态链接库注入到远程进程中并执行相应操作。 下面也是主要实现dlopen/dlsym来进行so库的注入和函数的调用 代码实现