自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大数据安全技术学习

手把手教你学JS+安卓

  • 博客(37)
  • 收藏
  • 关注

原创 Fart12配套批量修复二代函数抽取壳工具发布

但是有些时候,使用滞后点dump下来的整体dex来修复的时候,竟然会出现修复失败的情况,那是因为有些壳在整体加载完成后,对内存中的dex结构,进行了一些破坏,以对抗一些整体dump的工具。理论上来讲,在二代函数体填充壳的脱壳过程中,其实不管哪个时机点dump下来的整体dex,应该内容是一模一样的,或者说在滞后一些的时机dump下来的dex,应该还比稍早时期dump的还要完整一些,因为在App的运行过程中会触发一些函数体的解密和还原。脱抽取壳,采用的是将类加载起来,再dump函数体到bin文件的方式。

2024-02-06 21:49:46 15257

原创 Pixel4刷入KernelSU后Frida和VPN抓包配置

手把手教你在Pixel4上刷入KernelSU,并且配置好frida和VPN抓包环境。

2023-12-02 20:22:24 18681 4

原创 一道花指令标准算法SO还原题

一道只有花指令的标准算法还原题。

2023-11-25 14:51:01 18418

原创 MobileCTF项目简单easyso算法还原

作为一个菜鸡,很久没有搞so分析了,碰巧看到r0ysue大佬发的朋友圈,看到easy这个字样,寻思着可以康康,整体而言,没有加固,so中混淆手段较为温和(基本没有),用frida可以解题很友好(看源码死磕很恼火)。

2023-11-17 18:22:06 18790

原创 2023HW移动端武器库工具技巧分享

HW也开展有些年头了,2023的HW也如火如荼进行当中,今年HW的感受每个人都深有体会,这里不再赘述,笔者只结合自身的特长与实际任务中的经验,分享一下HW中移动端的分析打点与常见工具(AKA武器)及其应用的场景。

2023-08-25 09:18:39 25347

原创 Frida hook/invoke iOS以及内存搜刮和黑盒调用

终于学到了Frida的部分,在本篇中我们将从objection这款自动化hook框架的源码出发,学习使用Frida内置的ApiResolver搜刮器来枚举内存中的所有符号,包括所有类/所有方法/所有重载,再对其进行hook后输出参数调用栈返回值,并且对参数与返回值进行修改,以实现修改函数逻辑的目的。

2023-07-27 15:08:53 27542

原创 Frida前置知识:iOS/ObjC语法进阶及其ARM汇编实现

学习这些语言和汇编的特性,有助于我们后续理解Frida在hook的时候,特定寄存器代表特定的值。比如hook函数的时候,为什么x0代表对象本身,x1代表selector方法名,因为这是由调用约定决定的;再或者我们为什么不用ObjC.implemt去hook,而是Interceptor.attach,因为ObjC其本身就是一个C++的运行时,所以可以采用相同的hook地址的方式。前置的语言学习是学习Frida hook ObjC的理论基础,希望大家可以掌握。

2023-05-25 17:09:41 27596 3

原创 从“flanker”到“逆向不看学历”、再到一无所有

解析获取高薪的关键因素

2023-05-19 17:10:03 28186

原创 《挑战不用macOS逆向iOS APP》之ObjC语法、iOS应用开发、及Objection自动化hook入门

本篇文章是《挑战不用macOS逆向iOS APP》系列的第二课iOS逆向基础知识主要为了了解在iOS APP逆向过程中一些常见知识

2023-05-08 23:01:24 27901 1

原创 安全工程师到底需要什么电脑?(2023年初版)

Windows的缺点都是Linux的优点,优雅与自由的Terminal,万物皆文件的设计理念,极致的稳定/一年不用关机,不会有烦人的系统强制更新,极低的系统占用,真正的多用户系统,特权账户保护系统安全,强大的网络功能,面向科学与学科的系统设计,Linux才是真正的开发者系统。MacOS也是事实上的最多开发者使用的操作系统,可能菜鸟也是从Windows开始学起,从服务器开始接触Linux,最后止步于开发机也换上苹果,一步一步打怪升级的同时,丰富起来的不仅仅有经验,还有日渐鼓起的腰包。最后就是大黑边框NG!

2023-05-01 18:33:14 33589 2

原创 Pixel4平替:一加7刷NetHunter(android10) 指南

本篇基于一加7手机,在性能上相当于Pixel四代手机。运行环境是安卓10。本文中用到的附件等位于百度盘中:链接:https://pan.baidu.com/s/1gtmCfqfQmEX5JvMZtvUH7w 提取码:euuo。输入命令,刷入"kernel-nethunter-2021.3-oneplus7-oos-ten.zip"重启到fastboot模式,然后音量键-进入recovery模式,重新进入twrp。5. 等待系统刷入,进入简单设置下。救砖模式是高通CPU提供的特性。

2023-04-19 11:23:18 28205

原创 Pixel1代平替:一加3手机刷入KaliNethunter解封完整Linux命令环境

工具虽好,但是它们的运行都需要一个完整的Linux环境,比如像jnettop/htop/nethogs等需要root权限,像iwlist/aircrack/HID等需要内核驱动支持、监听模式的打开等,Wireshark/Charles/BP会需要桌面环境的支持,在GUI中进行可视化分析。这些工具为我们进行网络数据封包的分析和处理提供了无与伦比的支持,可以说有这些工具的存在,没有抓不到的包,如果再结合hook技术,可以说没有解不开的协议。6. 重启,安装magisk之后,第一次需要重启,让配置生效。

2023-04-05 16:30:12 29000

原创 《挑战不用macOS逆向iOS APP》之两百元成本的iOS逆向环境搭建

前者需要小几千的iPhone,后者需要至少大几千的Macbook。本系列文章就是为了解决这两个痛点,全部操作在一百多块钱的iPhone6上完成,且电脑端在r0env/Win上进行演示,让我们康康,这几乎无成本的一套环境,究竟可以让我们走多远,走多深!

2023-04-04 18:23:48 28929 1

原创 《常见Java层反调试技术之root检测方式总结》

Android 系统的设计初衷为了保护用户设备的安全和稳定性,并控制对系统的访问权限。因此,Android 系统会对root这种非授权的操作进行限制,在渗透测试 Android 应用程序时候,大多数技术都需要 root 权限才能安装各种工具,从而危及应用程序的安全性,以下是笔者对几种Root检测方式的总结,抛砖引玉

2023-03-21 21:32:06 27580

原创 文章Base64 编码原理 && 实现

算法

2022-11-18 19:41:13 28362

原创 Lsposed 技术原理探讨 && 基本安装使用

lsposed

2022-09-28 19:25:57 36268

原创 Unidbg-Linker部分源码分析(下)

Unidbg-Linker部分源码分析(下)Unidbg-Linker部分源码分析(下)概要alignresolveLibraryVirtualModuleinitFunctions call总结概要上篇我们分析了AndroidElfLoader类中的loadInternal方法,很长,很大,忍一忍才能读完。那么我们下篇就来分析下Unidbg中Linker部分的其他细枝末节align上文中有很多地方调用了ARM.align方法进行页对齐操作,我们看一下这个方法的实现p

2021-10-29 18:44:15 27552

原创 Unidbg-Linker部分源码分析(上)

Unidbg-Linker部分源码分析(上)Unidbg-Linker部分源码分析(上)概要initload总结概要我们有了Android Linker源码部分的解析,还学习了Unicorn的详细使用。如果没有看过之前文章的同学可以看下之前的文章哦。今天我们就来看下Unidbg是如何将一个So加载且跑起来的在Unidbg中,我们想要加载一个So一般都是通过DalvikModule dalvikModule = vm.loadLibrary(new File("so_path

2021-10-29 18:43:41 28531

原创 寻找so符号地址

寻找so中符号的地址总述通过程序头获得符号地址通过节头获得符号地址模仿安卓通过hash寻找符号总结寻找so中符号的地址总述我们在使用so中的函数的时候可以使用dlopen和dlsym配合来寻找该函数的起始地址,但是在安卓高版本中android不允许打开白名单之外的so,这就让我们很头疼,比如我们hook libart.so中的函数都没有办法来找到函数的具体位置,所以有了此文,这里介绍3种方法来获得符号的地址,网上方案挺多的我这里主要介绍原理通过程序头获得符号地址首先是如何...

2021-10-28 12:48:54 29614

原创 Unidbg的底层支持-Unicorn

Unidbg的底层支持-UnicornUnidbg的底层支持-UnicornUnicorn简介Unicorn使用步骤引入Unicorn使用UnicornUnicorn原生HookCodeHookBlockHookReadHookWriteHookMemHookInterruptHookEventMemHookKeystone引入使用Capstone引入使用总结Unicorn简介https://github.com/unic

2021-10-25 17:47:10 28399

原创 Unidbg文档慢更(二)

Unidbg文档慢更(二)Unidbg文档慢更(二)CallMethod执行JNI函数执行任意函数执行返回值由参数指针传递的函数HookHookZzwrapreplaceinstrumentDobbyreplacewrapxHookCallMethod执行JNI函数创建一个VM对象,此对象相当于在Java层去调用native函数的类的实例对象DvmObject<?> obj = ProxyDvmObject.crea

2021-10-25 10:24:38 14007

原创 Android Linker详解(二)

Android Linker详解(二)Android Linker详解(二)本文目的So的链接So重定位总结本文目的接上篇Linker源码详解(一),本文继续来分析Linker的链接过程。为了更好的理解Unidbg的原理,我们需要了解很多细节。虽然一个模拟二进制执行框架的弊端很多,但也是未来二进制分析的一个很好的思路。上篇文章我们讲解了Linker的装载,将So文件按PT_LOAD段的指示来将So加载到内存,那么我们这篇文章就来分析一下加载完之后又干了什么呢?So的链接

2021-10-21 14:17:14 11410 1

原创 简单的frida检测思路

从inlinehook角度检测frida总述frida inline hook写法检测libart是否使用inlinehook检测libnative-lib是否使用inlinehook从java hook 的角度检测frida总结从inlinehook角度检测frida总述在使用frida的过程中,在我的认知里其实frida只做了2件事情,一件是注入,一件是hook,作为注入的特征我们可以通过ptrace(PTRACE_TRACEME,NULL,0,0),或者从文件里面索引...

2021-10-19 15:16:19 10233

原创 简单的frida检测思路

从inlinehook角度检测frida总述frida inline hook写法检测libart是否使用inlinehook检测libnative-lib是否使用inlinehook从java hook 的角度检测frida总结从inlinehook角度检测frida总述在使用frida的过程中,在我的认知里其实frida只做了2件事情,一件是注入,一件是hook,作为注入的特征我们可以通过ptrace(PTRACE_TRACEME,NULL,0,0),或者从文件里面索引...

2021-10-19 15:08:39 13196 2

原创 Android Linker详解

Android Linker详解Android Linker详解本文目的Linker入口So的装载总结本文目的Unidbg在对So进行模拟执行的时候,需要先将So文件加载到内存,配置So的进程映像,然后使用CPU模拟器(Unicorn、Dynamic等)对So进行模拟执行。本文的目的是为了彻底搞懂So文件是如何加载到内存的,以及加载进内存之后做了什么,史无巨细,握住方向盘Linker入口我们在Android程序中,往往会使用到JNI编程来加快某些算法的运行或增加APP的逆向难度。

2021-10-15 14:18:09 5094

原创 一种简单的java函数hook思路

一种简单的java函数hook思路总结本文取自《深入理解android java虚拟机art》第10章,在读书过程中总结的一些能让自己豁然开朗的点,通过这些点我发现了hook java函数的方法,有了此文。LinkCodeLinkCode函数当中有个重要的过程,就是GetEntryPointFromQuickCompiledCode函数,他的返回值也就是quick_code为空的话代表该方法没有进行编译,在oat文件当中没有对应的汇编代码,需要进入解释执行模式而不是jit,这里有一个分支,如果Art

2021-10-14 19:38:58 2090

原创 基于linker实现so加壳补充从dex中加载so

基于linker实现so加壳技术(补充)总述之前的文章给大家展示了一个so文件加壳的整体方法,而且给了一个比较简单的例子,后来我实现了一下将so写在dex中然后通过hook关键函数的方式得到so的地址。但是在实际使用过程中我发现了一个问题,就是有些got表中的变量,通过plt调用使用了页对其指令,这就要求我们的so必须在一块对其的内存上,如下图,并且inline hook也好难实现,而且dex是以只读的方式加载到内存中的,我还需要hook掉关键函数改掉它的属性,基于这三个问题,写了这篇补充1:so地址

2021-10-12 17:53:50 855

原创 js cookie 反爬实战

js cookie 反爬理论基础取自《Python-3反爬虫原理与绕过实战》Cookie不仅可以用于Web服务器的用户身份信息存储或状态保持,还能够用于反爬虫。大部分的爬虫程序在默认情况下只请求HTML文本资源,这意味着它们并不会主动完成浏览器保存Cookie的操作。Cookie反爬虫指的是服务器端通过校验请求头中的Cookie值来区分正常用户和爬虫程序的手段,这种手段被广泛应用在Web应用中,例如浏览器会自动检查响应头中是否存在Set-Cookie头域,如果存在,则将值保存在本地,而且往后的每次请求

2021-09-26 11:24:38 640

原创 js hook 改进

js批量hook参考hook我们可以更改上次的脚本,用来遍历所有的函数来找出其中是否有以加密命名的函数,来尝试找到js中的加密函数,参考自http://bbs.nightteam.cn/thread-210.htm我们用它的代码测试一下,我们自己的网站(function() { 'use strict'; !function () { 'use strict'; var source = ['alert','decodeData','String.fr

2021-09-26 11:23:33 570

原创 0基础入门通杀型 js hook

js hook 入门js hook 基础js hook方法检测与过检测proxy与浏览器js一键快速hook框架js hook 入门js hook 基础js hook非常的简单,具体步骤就是记录之前的函数,然后再重写当前函数即可原理如下图,而因为客户端拥有js的最高解释权所以任何代码都无法阻止hook,只能通过混淆来影响逆向人员分析测试demo如下var _eval=evaleval=function(arg){console.log(arg) return ...

2021-09-26 11:22:10 707

原创 基于linker实现so加壳技术下

《基于linker实现so加壳技术基础》下篇获得linker维护的本so的soinfo但是问题又来了如何获得当前so的soinfo指针的基址呢?翻阅网上的资料说可以dlopen打开self,我看了一下那是安卓7之前的方法安卓8.1不支持了(555这不是坑人嘛咋搞),于是我阅读安卓源码发现了获得soinfo的方法,这是一套组合拳,可以先dlopen自己然后再用soinfo_from_handle函数来把handle转换成soinfo,正当我性高彩烈的打开ida查看它的symble的时候,发现没有这个函数,

2021-09-24 18:31:58 683 1

原创 基于linker实现so加壳技术上

《基于linker实现so加壳技术基础》上篇前言本篇是一个追随技术的人照着网上为数不多的资料,在探索过程中发现了许多意想不到的问题,搜了好多文章发现对于这方面的记载很少,甚至连一个实现的蓝本都没找到,写下这篇文章希望能帮到像我一样对so壳感兴趣的伙伴在做实践的时候能有一个抓手,只有了解了加壳原理才能更好的脱壳,其实so文件在系统当中都对应了一个soinfo指针如果能找到soinfo指针那么脱掉so壳也不是不可能,如果有机会的话后面会出so脱壳相关的知识,其实最难的点在于如何找到当前so的soinfo指针

2021-09-24 18:26:51 763

原创 大数据安全入门试炼2

习题牛刀小试: 找出Flag题目 2021年6月份JS逆向第三题习题牛刀小试: 找出Flag可见提示是 hook eval 那我们就试一下,那我们就用油猴脚本hook一下var _eval=eval;eval=function (){ console.log(arguments) return _eval(arguments) }报了一个错,不能在严格模式下运行这个脚本,那么我们就取消严格模式,并且在一开始就hook他的eval函数出现了一个假答案...

2021-09-07 15:34:45 921

原创 2021-09-07

Unidbg文档更新(一)Unidbg文档更新(一)下载Unidbg源码快速使用步骤创建AndroidEmulator实例使用AndroidEmulatorMemory操作VM操作下载Unidbg源码https://github.com/zhkl0228/unidbg将Unidbg的源码导入Idea中。在unidbg-android模块中的src/test目录下,包含了几个Demo,您可以尝试将Demo运行起来,即可看到Unidbg的效果快速使用步骤//1.创建And

2021-09-07 15:22:23 348 1

原创 2021-09-03

大数据安全入门安卓r0capture的源码关键点跟踪大数据安全入门安卓r0capture的源码关键点跟踪本文重点r0capture简介使用Socket进行Http访问Http请求关键点的跟踪Frida Hook socketWrite0Frida Hook socketRead0使用Socket进行Https访问Https请求关键点的跟踪Frida Hook SSL_write方法Frida Hook SSL_read方法总结手机环境:安卓8.1.0fri

2021-09-03 15:02:51 1007

原创 大数据安全入门js部分习题试炼

学习目标题目 内部靶场第二题1 特征观察2 js分析3 模拟执行进阶习题题目 运行课件中给出的一段js代码,输出正确的结果学习目标今天给大家带来2道我们内部靶场的题目,题目难度适中,主题是js代码在浏览器中能够运行,而到了nodejs中会面临各种各样的环境监测,我们如何能通过补环境的方式来绕过这些检测,让抄来的js代码跑起来,本体通过学员的角度进行讲解,顺便把坑也踩了一遍(蓝师傅yyds)题目 内部靶场第二题1 特征观察先进入题目发现,只有一个按钮和设备指纹...

2021-09-02 14:05:43 710

原创 大数据安全入门安卓Frida习题讲解

文章目录学习目标第一关第二关第三关第四关第五关第六关`JVM`类加载器类加载的时机`Android`系统中的类加载器第七关总结学习目标今天带大家来做一道简单的Frida Hook Java层的题目,总共有七个小关卡,每个关卡都有一个小的考察点,来考察我们Frida的基础知识,如果已经会的同学也可以作为一个资料来翻阅APP:Frida测试题下载地址:看文章结束第一关先把APP安装跑起来,每一关都有一个要求和考察点考察点:方法参数的修改分析:大概的看一下逻辑,也就是点击下一关,会调用on

2021-08-09 14:20:01 1105

空空如也

空空如也

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

TA关注的人

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