
逆向工程 Reverse Engineering
Omni-Space
专注Android, Mobile Security and AI
展开
-
Reverse Engineering Pokémon GO Plus
TL;DR; You can clone a Pokemon GO Plus device that you own. I have managed to get the certification algorithm. However, there is a per device blob used (specific to a Bluetooth Mac Address) for key g...转载 2020-03-18 17:07:58 · 1610 阅读 · 0 评论 -
Reverse-engineering Samsung S10 TEEGRIS TrustZone OS
Even though I have quite a lot of stuff I'm planning to write about, time is very limited.Lately I've been working on reverse engineering and documentingthe S-Boot bootloader and TrustZone OS from ...转载 2020-01-18 01:01:55 · 1424 阅读 · 0 评论 -
QSEE privilege escalation vulnerability and exploit (CVE-2015-6639)
In this blog post we'll discover and exploit a vulnerability which will allow us to gain code execution within Qualcomm's Secure Execution Environment (QSEE). I've responsibly disclosed this vulnera转载 2017-09-28 04:59:14 · 1097 阅读 · 0 评论 -
Extracting Qualcomm's KeyMaster Keys - Breaking Android Full Disk Encryption
After covering a TrustZone kernel vulnerability and exploit in the previous blog post, I thought this time it might be interesting to explore some of the implications of code-execution within the Tr转载 2017-09-28 04:52:54 · 2148 阅读 · 0 评论 -
Full TrustZone exploit for MSM8974
In this blog post, we'll cover the complete process of exploiting the TrustZone vulnerability described in the previous post. If you haven't read it already, please do! Responsible Disclosure转载 2017-09-28 04:47:54 · 1035 阅读 · 0 评论 -
利用机器学习进行恶意代码分类
0x00 前言注:本文已在乌云知识库发表,地址:http://drops.wooyun.org/tips/8151最近在Kaggle上微软发起了一个恶意代码分类的比赛,并提供了超过500G的数据(解压后)。有意思的是,取得第一名的队伍三个人都不是搞安全出身的,所采用的方法与我们常见的方法存在很大不同,展现了机器学习在安全领域的巨大潜力。在仔细读完他们的代码和相关的论文后,我简单的进行了一些转载 2017-09-28 04:40:04 · 6095 阅读 · 0 评论 -
移动端https抓包那些事--进阶篇
上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢?主要原因还是客户端在实现https请求时对于证书的校验上,如果仅仅校验是否有证书但是未严格校验证书的有效性时,就可以通过手机客户端安装抓包工具的证书来绕过签名校验,但是如果客户端做了严格的证书校验,如果不是转载 2017-09-25 08:57:36 · 1094 阅读 · 0 评论 -
移动端https抓包那些事--初级篇
对于刚刚进入移动安全领域的安全研究人员或者安全爱好者,在对手机APP进行渗透测试的时候会发现一个很大的问题,就是无法抓取https的流量数据包,导致渗透测试无法继续进行下去。这次给大家介绍一些手机端如何抓取https流量的技巧。下面将主要通过两个层次篇章来逐步向大家进行介绍: 第一篇章-初级篇:浅层次抓包。对于非root设备(Android)或非越狱设备(iOS)如何抓取https转载 2017-09-25 08:55:47 · 1892 阅读 · 0 评论 -
安卓改机技术揭秘(一) 工具篇
目前 市面上你能买到的一些安卓刷量变机工具例如 008K、变机宝等等 使用的都是XPOSED框架来修改手机的机型。这种修改方式目前是一种主流技术,主流技术的优点就是兼容性好、开发(包括文档支持、社区支持、第三方模块)成本低、稳定性高等特点。但对于当前项目来说,主流技术并不是一个好的解决办法,因为主流技术不光你了解,APP的厂商的技术人员也很了解,而且一般规律来看,厂商的技术实力、人力、财力以及这三转载 2017-09-25 08:50:36 · 26248 阅读 · 8 评论 -
反调试检测之一TracerPid
当我们使用Ptrace方式跟踪一个进程时,目标进程会记录自己被谁跟踪,可以查看/proc/pid/status看到这个信息,下图展示的是使用ida进行调试的情况。Paste_Image.pngPaste_Image.png而没有被调试的时候TracerPid为0:Paste_Image.png因此一种常见的检测调试的办法就是去读取这个值,发现不是0则判定转载 2017-08-24 14:35:04 · 1727 阅读 · 0 评论 -
Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一、前言今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了:Android中使用静态方式破解Apk主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和转载 2017-08-24 14:19:58 · 780 阅读 · 0 评论 -
TrustZone Kernel Privilege Escalation (CVE-2016-2431)
In this blog post we'll continue our journey from zero permissions to code execution in the TrustZone kernel. Having previously elevated our privileges to QSEE, we are left with the task of exploiti转载 2017-09-28 04:55:33 · 880 阅读 · 0 评论 -
War of the Worlds - Hijacking the Linux Kernel from QSEE
After seeing a full QSEE vulnerability and exploit in the previous blog post, I thought it might be nice to see some QSEE shellcode in action.As we've previously discussed, QSEE is extremely pri转载 2017-09-28 04:57:13 · 611 阅读 · 0 评论 -
c/c++反混淆方法
deobfuscation记需要反混淆的函数为output=obf-function(input)。反混淆的思路,首先标记输入的变量记为input-symbol,通过Taint跟踪改变量的流向,并提取与该输入变量input-symbol和输出变量output-symbol有关的所有表达式exprs。再将exprs转化为Arybo表达式,然后再将其转化为LLVM-IR指令的形式。最后使...转载 2019-04-08 15:24:42 · 2394 阅读 · 0 评论 -
进阶Frida--Android逆向之动态加载dex Hook(三)
前段时间看到有朋友在问在怎么使用frida去hook动态加载的dex之类的问题,确实关于如何hook动态加载的dex,网上的资料很少,更不用说怎么使用frida去hook动态加载的dex了。(frida的官方文档已经无力吐槽...)后来偶然的情况下发现了一道CTF题目可以作为很好的案例,所以花了很多心思将文章写下来分享给大家,涉及的内容比较多,我打算用上下篇将frida hook动态加载的dex的...转载 2018-08-09 07:09:39 · 2772 阅读 · 0 评论 -
初识Frida--Android逆向之Java层hook (二)
目录初识Frida--Android逆向之Java层hook (二) apk的安装与分析 流程分析 hook点分析 JavaScript代码构造与执行 0x00 hook getMac() 0x01 计算秘钥Ke...转载 2018-08-09 07:07:56 · 1201 阅读 · 0 评论 -
初识Frida--Android逆向之Java层hook (一)
目录 0x00 文中用到的工具 0x01 hook示例的安装与分析 安装 源代码分析 0x02 frida自带的Messages机制与进程交互 0x03 Javascript代码构造与执行 方法一:获...转载 2018-08-09 07:06:47 · 1612 阅读 · 0 评论 -
绕过安卓SSL验证证书的四种方式
在此之前,移动端应用程序会直接忽略掉所有的SSL错误,并允许攻击者拦截和修改自己的通信流量。但是现在,很多热门应用程序至少会检查证书链是否是一个有效可信任的证书机构(CA)颁发的。作为一名渗透测试人员来说,我们常常需要让目标应用程序信任我们的证书是有效的,这样我们就可以进行中间人攻击(MITM)并修改其流量了。在这篇文章中,我们将给大家介绍四种绕过Android SSL验证的方式。转载 2018-02-04 01:11:20 · 20497 阅读 · 0 评论 -
挖洞经验 | 看我如何发现“小火车托马斯”智能玩具APP聊天应用漏洞
最近,我向智能玩具厂商ToyTalk提交了两个APP相关的漏洞并获得了$1750美金奖励,目前,漏洞已被成功修复,在此我打算公开详细的漏洞发现过程,以便其他APP开发人员将这种脆弱性威胁纳入开发过程的安全性考虑范围。漏洞发现背景ToyTalk是一家由皮克斯前高管创建的人工智能玩具初创公司,它们设计的智能玩具具备视觉跟踪、语音识别和网络扩展功能,能让儿童通过APP与玩具之间进行语音交转载 2018-02-04 01:08:34 · 1559 阅读 · 0 评论 -
企业壳的反调试及Hook检测分析
1.写在开始最近在学习梆梆壳,在调试的过程中遇到了反调试,很是苦恼,而且每次调试都会被中断,朋友发了篇帖子【1】介绍了其中的一个反调,学习后收获颇多,给我指明了方向,接下来再对其他反调试进行补充,若有疏漏之处请各位大佬批评指正。2.反调试之时间线程检测启动调试后是对帖子【1】的验证,过程大致如下:运行brpt.py后一路F9,...#下断点# 内存中获取转载 2018-02-03 16:09:22 · 1988 阅读 · 0 评论 -
根据”so劫持”过360加固详细分析
参考:https://bbs.pediy.com/thread-223699.htmhttp://blog.csdn.net/luoshengyang/article/details/8923483 前几日看到大神写的 https://bbs.pediy.com/thread-223699.htm这篇博客感觉受益匪浅,但是其中有一些自己的理解想跟大家一起分享,算不上原创,希望各位大侠不...转载 2018-01-17 07:17:11 · 2344 阅读 · 1 评论 -
分析Android银行木马GM Bot的变异过程
导语:2016年2月19日,IBM XForce的研究员发布了一个情报报告,这份报告声称GM BOT的源代码在2015年12月被泄漏到了一个恶意软件论坛上。GM BOT是一个复杂的安卓恶意软件家族,它出现在2014年末俄语地区的网络犯罪地下组织。2016年2月19日,IBM XForce的研究员发布了一个情报报告,这份报告声称GM BOT的源代码在2015年12月被泄漏到了一个恶意软件论坛转载 2017-09-13 13:36:16 · 1073 阅读 · 0 评论 -
360脱壳-native函数还原笔记-2017-06-25
本帖最后由 欧阳锋锋 于 2017-6-25 12:37 编辑 接触andorid逆向脱壳一段时间了,刚刚感觉开始入门,最开始时的过反调试,花费了大量的时间,但时间长了,汇编指令慢慢熟悉,学会了一些调试技巧,反调试方法知道了,就那么些反调试的方法,过反调就比较顺利了,所以刚开始学逆向的同学,应该也会比较头疼的,记录下我的逆向学习之旅,增强下记忆,记录分享也是自我提升的过程转载 2017-06-28 14:40:56 · 2723 阅读 · 0 评论 -
Android框架攻击之Fragment注入
为了适应越来越大的设备屏幕,Android在3.X后引入了Fragment概念,作用是可以在一个屏幕上同时显示多个Activity,以达到充分利用屏幕的目的。关于Fragment的使用说明,可以阅读《Android Fragment完全解析,关于碎片你所需知道的一切》。其中,Fragment有一个很强大的功能,就是可以动态加载。这样可以让整个界面的开发更加灵活,可以根据不同的场景动态加加载不同转载 2016-03-07 18:25:58 · 975 阅读 · 0 评论 -
进击的Android Hook 注入术《五》
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]继续BinderProxy原理获取AMS引用获取JavaBBinder替换mObject对象示例四最后继续在Android,几乎所有的IPC通讯都是通过Binder,可以说Binder在Android中占据着非常重要的地位。IPC通讯一般涉及client和server两部分,转载 2016-03-07 18:23:15 · 801 阅读 · 0 评论 -
进击的Android Hook 注入术《四》
目录(?)[-]继续注入之后示例三输出最后继续在前《一》、《二》、《三》里已经把注入的技术介绍完了,这章开始说注入之后需要做的事情。如果对注入技术已经比较熟悉了,那么可以直接看本章,否则建议先把前三章阅读一遍会比较好。注入之后完成了注入,那只是万里长征的第一步。众所周知,Android的应用进程,都是由Zygote孵化的子进程,每个进程都转载 2016-03-07 18:22:01 · 677 阅读 · 0 评论 -
进击的Android Hook 注入术《三》
目录(?)[-]继续Component Injection原理示例二comdemohostcomdemoinject绕过ClassLoader双亲委托输出最后继续在《二》详细介绍了通过ptrace实现注入的技术方案,在这个章节里,我再介绍一种Android上特有的注入技术,我命其名为——Component Injection。顾名思义,这种方式是转载 2016-03-07 18:20:26 · 1714 阅读 · 0 评论 -
进击的Android Hook 注入术《二》
目录(?)[-]继续注入分类本质目的过程示例一Host代码libmysoso代码调用示例代码继续在《一》里,我把基本思路描述了一遍,接下为我们先从注入开始入手。注入分类我们平时所说的代码注入,主要静态和动态两种方式静态注入,针对是可执行文件,比如平时我们修改ELF,DEX文件等等,相关的辅助工具也很多,比如转载 2016-03-07 18:19:08 · 748 阅读 · 0 评论 -
进击的Android Hook 注入术《一》
目录(?)[-]写在前面短信拦截场景问题解决方案问题来了基本思路写在前面这个系列本来是在公司的一个分享,内容比较多,所以就把这个PPT重新组织整理成博客,希望对大家学习有所帮助。我会先以一个”短信拦截“作为例子,抛出问题,并提出了一种基于”注入“的技术方案达到提高拦截优先级,接着再重点讲解注入的技术细节。最后,我会跟大家分享一个我业余时间开发注入框架转载 2016-03-07 18:16:58 · 769 阅读 · 0 评论 -
Android Hook Java的的一个改进版本
目录(?)[-]Hook Java的的一个改进版本改进点一更简单地修改java方法为本地方法改进点二方法回调避免线程安全问题最后Hook Java的的一个改进版本《注入安卓进程,并Hook java世界的方法》这篇好文相信大家都看这,里面所提到的方法估计大家也都试过。不过里面的所用的方法,我发现有两个可以改进的地方。改进点一:更简单地修改java方法为本地方转载 2016-03-07 18:15:42 · 1023 阅读 · 0 评论 -
注入安卓进程,并hook java世界的方法
说明:安卓系统的可执行对象有两个世界,一个是Linux Native世界,一个是Java世界.两个世界能够通过jvm产生交互,具体来说就是通过jni技术进行互相干涉.但是在正常情况下,只能在Java世界通过jni调用native方法,二native不能在没有任何java上的支持下干涉java世界.在一些应用中,我们需要对一个app的java世界进行干涉.再说到linux上的进程注入技术,已转载 2016-03-07 18:11:57 · 1575 阅读 · 0 评论 -
基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现(by 低端码农 2014.10.27)
目录(?)[-]引言准备符号重定向例子全局函数指针调用外部函数局部函数指针调用外部函数直接调用外部函数总结基于执行视图解析ELFELF HookGitHup地址引言写这篇技术文的原因,主要有两个:其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如《Redirecting functions in shar转载 2016-03-07 18:09:34 · 939 阅读 · 0 评论 -
Android 插件框架实现思路及原理
插件框架实现思路及原理一、技术可行性a) apk的安装处理流程i. apk会copy到/data/app;ii. 解压apk中的class.dex,并对其进行优化,获得odex(即JIT)。最后保存到/data/dalvik_cache;iii. 还有一些权限和包信息,会缓存到/data/system中的packages.list和packages.xml中。b)转载 2016-03-07 18:28:36 · 437 阅读 · 0 评论 -
Android APK反编译就这么简单 详解(附图)
在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。)转载 2016-03-14 07:12:21 · 577 阅读 · 0 评论 -
360加固逆向脱壳之过反调试
写在最前,本来是想把360加固全部脱壳后,写一篇教程。不过在我过了360加固调试后,最后卡在了native void onCreate函数的提取。最后就无结果了。但又发现许多人卡在了360加固的反调试,为了帮助其他人能成功(其实我没有这么伟大,只是发现写这篇文章对我没有害处,就决定放出来),而且希望,如果有人把native void onCreate函数dump下来的话,请觅我,我真的很想知道36转载 2017-06-28 14:38:16 · 5207 阅读 · 0 评论 -
Android安全系列工具
取证工具bandicoot - 一个Python工具箱,用于分析手机元数据。它提供了一个完整,易于使用的环境,数据科学家分析手机元数据。只需几行代码,加载数据集,可视化数据,执行分析和导出结果。Android Connections Forensics - 使法庭调查员能够连接到其原始进程Android Forensics - 开源Android Forensics应用转载 2017-07-15 15:24:13 · 1612 阅读 · 0 评论 -
Amandroid - Argus static analysis framework
Argus is a static analysis framework designed to help through a security vetting for Android applications. Previously also known as Amandroid, its core functionality is to catch data flow of inter转载 2017-07-15 09:44:40 · 784 阅读 · 0 评论 -
开发者福利:史上最全Android 开发和安全系列工具
取证工具bandicoot - 一个Python工具箱,用于分析手机元数据。它提供了一个完整,易于使用的环境,数据科学家分析手机元数据。只需几行代码,加载数据集,可视化数据,执行分析和导出结果。Android Connections Forensics- 使法庭调查员能够连接到其原始进程Android Forensics- 开源Android Forensics应用转载 2017-07-13 17:54:37 · 3226 阅读 · 0 评论 -
Part 2 – Deep analysis using Androguard tools
Welcome to the second part of this series on “Reverse Engineering android applications”. To read an overview of the series, refer to the serious announcement blog post.In first part, we learnt转载 2017-06-30 08:33:19 · 711 阅读 · 0 评论 -
Part 1 – Reverse engineering using Androguard
Androguard is a python based tool, which can run on Linux/Windows/OSX, provided python is installed in the system. Check: http://code.google.com/p/androguard/It is powerful tool to disassemble and to decompile android apps. It can be used for the Static转载 2017-06-30 08:09:21 · 831 阅读 · 0 评论