自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 snippet利用Hook脚本定位

现在,每当尝试获取或设置document.cookie的值时,都会分别调用定义的getter和setter函数。这段代码演示了如何使用JavaScript的Object.defineProperty方法来拦截和自定义对document.cookie属性的访问和修改行为。这段代码的目的是在发送包含特定字符串(在这个例子中是"key")的HTTP请求的URL时,自动触发一个断点。这段代码的目的是在设置包含特定键的HTTP请求头时,自动触发一个断点。这可以用于调试或监视特定的网络请求头设置。

2024-11-23 16:58:15 285

原创 预备阶段-Mitmproxy的使用

是一个代理工具(类似于Charles),可以实现抓包的功能。除此以外,他还可以集成Python脚本,在请求和响应中用代码进行自定义操作。

2024-10-11 20:34:45 58

原创 预备知识:常见的编码 (ASCII, Unicode, UTF-8, GBK, base64, urlencode)

浏览器原生提供了base64的编码、解码方法:btoa atob。

2024-09-29 08:10:07 1685

原创 预备阶段-Android逆向基础

Android程序一般是使用Java语言开发的,通过打包生成一个APK文件安装到Android手机上来运行。通过一些反汇编工具可以得知APK文件内部的逻辑,甚至得到它最初的Java源代码(不完全等同于开发时的源代码,但是大体上相同)。也可以通过反汇编工具得到类似的Smali代码,Smali代码是一种类似于汇编语言的代码,适合机器执行,但对于程序员来说就很晦涩难懂。随着业务安全性的提高,现在大多数加密都放置在so文件中生成,想要了解so文件就需要掌握Arm汇编语法,了解寄存器和指令集。

2024-09-27 08:25:21 97

原创 阶段二 - 小程序反编译及调试

解包工具:链接: https://pan.baidu.com/s/1KLDbivGPCPhqt1nbLVbhXA?pwd=kckq 提取码: kckq。在这里输入cmd后,输入:node wuWxapkg.js 上述步骤生成的文件路径。得到源码后,再使用微信小程序开发者工具打开,去里面寻找加解密的位置。执行后,会生成一个文件夹,里面就是小程序的源码了。

2024-09-01 14:34:45 417

原创 阶段一 - 小程序抓包

想要抓包小程序,可以使用charles,如果是在电脑上打开了微信小程序,勾选charles的Proxy -> Windows Proxy,然后就可以抓包了;如果遇到有些小程序无法在电脑上打开,只能在手机端打开的情况,可以使用手机/模拟器 + charles 进行抓包。

2024-09-01 11:55:28 231

原创 补浏览器环境

*浏览器环境:**是指JS代码在浏览器中的运行时环境,包括V8自动构建的对象(即ECMAScript的内容,如Date、Array),浏览器内置传递给V8的操作DOM和BOM的对象(如document、navigator)。**Node环境:**是基于V8引擎的Js运行时环境,它包括V8与其自己的内置API,如fs, http, path。因此,补浏览器环境其实是补浏览器有而node没有的环境,即补BOM和DOM对象。

2024-07-02 21:29:28 1503

原创 常见反爬及应对

AAEncode是一种JavaScript代码混淆算法,利用它,可以将代码转换成表示的JavaScript代码。去掉代码最后的 (‘‘),这是函数的自调用,去除后就是函数的声明。也可以在去掉 (’’)后,加上 .toString(),进一步将方法转化成字符串。JJEncode 的还原方法与 AAEncode 一致。

2024-07-02 21:23:59 870

原创 总览:JS逆向技巧总结

总的来说,JavaScript 逆向可以分为三大部分:寻找入口、调试分析和模拟执行。下面分别进行介绍。

2024-07-02 08:07:15 3179

原创 预备知识:压缩和混淆

*代码压缩:**在对用户体验造成影响的因素中,最重要的是“网页打开速度”,即资源加载速度和页面渲染速度。**代码加密:**将JavaScript代码转成人无法阅读或解析的代码,如借用WebAssembly技术,可以直接将JavaScript代码用C/C++实现,JavaScript调用其编译后形成的文件来执行相应的功能。代码编码之AAEncode与JJEncode:AAEncode能将JavaScript代码转换为颜文字,而JJEncode则将代码转换为“$”、“_”、“+”组成的字符。

2024-07-02 08:00:19 537

原创 预备知识:常见的加密 (MD5, SHA1, HMAC, DES, AES, RSA)

浏览器原生提供了base64的编码、解码方法:btoa atob。

2024-07-02 07:59:12 1222

原创 预备知识:JS基础与Chrome介绍

右键检查右上角->更多工具->开发者工具Elements元素,是经过了浏览器和JS渲染后的代码,与页面源代码不一样用于查看或修改HTML元素的属性,CSS属性,监听事件,断点等。CSS可以即时修改,即时显示,大大方便了开发者调试页面,可以右击鼠标,对Elements中的属性进行操作查看元素的CSS属性:在元素的右边栏中的styles页面可以查看该元素的CSS属性,这个页面展示该元素原始定义的CSS属性以及从父级继承的CSS属性。

2024-07-02 07:54:33 888

原创 预备知识:HTTPS数字证书验证论述

数字证书的验证有两个重要的步骤,第一是客户端验证服务器发的数字证书有没有被篡改,以及没有被篡改的证书是否为服务器发的证书,而不是任何第三方假冒服务器发的证书;第二是客户端将对称加密算法的秘钥安全地发送给服务器。这两步都完成以后,整个HTTPS的数字证书的验证就算是成功了。

2024-07-02 07:51:15 955

原创 Pycharm常用快捷键整理

ctrll + Alt +⬅ ,表示查看上一步调用函数位置, ctrl + Alt + ➡,表示查看下一步函数位置。如果想在下面代码a+=1的上方插入空行的话,可以点击到a+=1这行,然后按下【Ctrl + Alt + Enter】,则会在其上方新插入一行。写代码的时候会发现有很多黄色的波浪号,这个时候可以点击任意黄色波浪号的代码,然后按下【Ctrl + Alt + L】进行代码格式化。想折叠下面的代码的话,可以选中代码再按下【Ctrl + -】/ 展开代码【Ctrl + +】

2024-07-01 07:59:07 579

原创 Tips汇总

在采集时遇到一个加密参数 Token,搜索 Token 的值,如果是从前面包中返回的,那相对比较好解决,因此进行搜索,却没有搜索到,那我就认为它是加密的算法。这里其实有一个坑:Token 确实是从前面的请求返回的,但因为浏览器没有加载出来,所以搜索不到,在其中一个 url 中有 getToken 关键字,多么明显的提示。

2024-06-29 09:56:14 535

原创 Android开发环境搭建

安卓开发目标:了解正向开发常见流程(逆向)想要开发安卓程序:接下来要做的是:win系统在安装和操作之前,请提前开启电脑的vt-x,虚拟机开启方法如下:其他win系统请参考:1.安装android studiohttps://developer.android.google.cn/studio/archive.html,版本都可以按下图点击即可,安装路径自己设置:选择不导入电脑中的配置:因为还没有SDK,所以报错,直接取消即可。选择标准模式,对新手来说配置更简单:选择SDK的安装路径:我的SDK位置:SD

2024-06-29 09:49:49 884

原创 Unidbg调用-补环境V3-打包

以识货app的数据解密为例来进行打包。

2024-06-29 09:13:56 115

原创 Unidbg调用-补环境V3-Hook

结合IDA和unidbg,可以在so的执行过程进行Hook,这样可以让我们了解并分析具体的执行步骤。:基于unidbg调试执行步骤 或 还原算法(以Hookzz为例)。

2024-06-29 09:06:17 239

原创 Unidbg调用-补环境V3-主动调用

*注意:**这一部分没有看见有价值的内容,复习时可略过,需要时再看。

2024-06-29 08:54:58 191

原创 Unidbg调用-补环境V2

补环境。

2024-06-29 08:15:34 193

原创 Unidbg调用-补环境V1

遇到 Java 的类库,可以执行返回结果;

2024-06-29 08:06:39 203 1

原创 阶段二 - AOSP刷机及Fart8脱壳机使用

刷机时,如果执行 flash-all.bat 无反应,那执行 fastboot devices 试试,若无设备出现,需要去安装google usb 驱动,具体参考六期-day06-03。我的电脑硬件不支持对AOSP源码进行编译,所以只能用别人编译好的刷机包进行刷机。使用的刷机包是luffy 8期 day37 下的v5目录下的taimen包,这个刷机包里面。刷机过程中,总是提示超过了最大存储空间,需要在flash-all.bat 文件的以下位置添加:-S 256M。

2024-06-18 07:25:06 425

原创 Magisk 安装配置

提示:后续的操作均使用的Magisk面具 24.0 版本。

2024-06-17 09:40:40 132

原创 刷机时,fastboot devices 无设备解决

需要去安装google usb 驱动,具体参考六期-day06-03。

2024-06-16 21:14:21 438

原创 预备阶段 - Airtest 使用指南

AirtestIDE 安装与启动: https://airtest.doc.io.netease.com/IDEdocs/getting_started/AirtestIDE_install/Airtest 可以基于图像识别来自动化控制 APP。这些方法更详细的用法及示例见 崔庆才 book。

2024-06-13 22:07:25 192

原创 unidbg讲解V1

DvmClass,在unidbg执行中用于表示类。DvmObject,在unidbg执行中用于表示对象(基于类创建对象)。DvmObject<?> obj1 = Crypt.newObject("真正的对象");DvmObject<?> obj2 = vm.resolveClass("com/yoloho/libcore/util/Crypt").newObject("真正的对象");方法的签名,用于表示某个方法。emulator,",参见JNI开发时的类型对照表。

2024-06-13 22:00:33 1559

原创 chls.pro/ssl证书安装失败解决

我的手机是一台root,但未获取sustem分区的手机,在安装charles的 ssl证书时,发现在手机浏览器输入chls.pro/ssl,但证书一直无法下载。

2024-06-07 13:03:28 7842

原创 预备阶段 - 解锁 Root 教程

参考链接:

2024-06-03 07:14:35 63

原创 一,抓包技巧 - 抓包总结

可以思考是否是使用其他框架如flutter进行的开发或使用了自定义的协议进行的网络通信,此时需要先借助更加底层的抓包工具如wireshark进行协议分析,明确具体使用了那种协议后,才好确定后续的绕过方案。也许以上方式都尝试了,结果依然无法抓包。抓包前,可能会遇到 app 检测。

2024-06-02 08:26:07 410

原创 Pycharm提示Python解释器无效的处理

在网上找了一圈,还是不能解决我的问题,不得已,新建了带虚拟环境的项目,然后把原来的项目文件都扔了进来,结果就行了。

2024-05-31 17:52:18 1139

原创 常用的 adb 命令

在安卓开发环境搭建时,下载SDK后,在SDK的安装目录,就会有adb.exe。查看连接到adb的设备:手机需要用USB线连接电脑。参看CPU架构(只有一个设备时,可以不写设备名)

2024-05-26 15:49:56 252

原创 Android抓包 - Hook 底层通信

平时开发使用的 http 或 https 均属于应用层的协议,其本质都会调用 TCP 发送请求。例如:你在 Python 中使用 requests 模块发送一个 http 请求,其底层就是使用 socket 模块 + TCP 实现发送的请求。相比 http ,在第二步多了一个请求的收发以同步随机字符串。

2024-05-25 11:36:07 298

原创 阶段一 - 基于Flutter开发与自定义协议

所以就有了降级方案,可以通过屏蔽 IP 实现。找到 IP 后,通过防火墙屏蔽,就可以正常使用 charles 、fiddler 抓包了。比如美团系(美团、点评、滴滴)使用了一种叫做移动长连接的技术,在打开 App 的时候,移动端和服务器建立起 tcp 连接,后续的请求和接收都走该通道,导致抓不到 http/https 的数据包。不过这种技术在 TCP 通道无法建立或者发生故障时,会选择使用 UDP 面向无连接的特性提供另一条请求通道,或者绕过代理长连服务器直接向业务服务器发起 HTTP 公网请求。

2024-05-19 06:40:14 448

原创 阶段一 - 正向实现客户端证书认证

如果第三方模块被混淆,那hook方式均不能生效。这时就需要根据系统包去定位校验的函数,因此需要对安卓开发者是如何实现客户端证书校验的有一定了解,接下来就介绍这部分内容。开发者实现客户端证书校验的本质是:证书/密钥 + 代码。在形式上有:公钥校验、证书校验和Host(主机)校验。

2024-05-18 16:20:03 601

原创 LSPosed 安装配置

正常安装完LSPosed会直接激活,如果LSPosed显示未激活,请点击 图1 中Magisk安装,根据步骤点击安装,之后LSPosed就可以激活了。刷入成功后,就可以看到 LSPosed 的图标,如果没有出现的话,就去手机的。注意:在面具中可以根据是否开启 Zygisk,来切换和生效。提示:后续的操作均使用的Magisk面具 24.0 版本。安装成功后,在LSPosed的模块列表中可以看到。目录下找apk包,然后再点击安装即可。安装到手机(跟安装其他app一样)。Zygisk-LSPosed(推荐)

2024-05-18 15:59:29 3554

原创 Android抓包 - 抓包手段与工具总结

不同的抓包工具有不同的效果,因此,需要根据场景去选择抓包工具,有效的拦截到协议。

2024-05-18 11:49:45 1096

原创 Frida-RPC 调用

解释:在最外层使用rpc.exports导出了encrypt方法的定义,所以在script.exports里就能调用encrypt方法。

2024-05-15 06:35:09 896

原创 APP逆向实现方式总览

梳理出参数的构造逻辑,代码还原算法。

2024-05-15 06:33:24 349

原创 阶段一 - 客户端证书认证进阶(代码混淆)

定位混淆后的代码位置Hook绕过如果定位混淆后的代码呢?hook系统方法,根据调用栈寻找到 doHandshake 被混淆的位置。console.log("参数:", a, b);});对比分析,先找到 connectTls 位置,由此展开后续分析。如果绕过?绕过pinner证书,最简单直接在connectTls中就能找到他的类和方法被混淆后的名称,可以直接Hook。例如:上面的第52行绕过证书校验方式1:关键字搜索定位代码(费劲)方式2:Hook底层校验的方法,直接绕过。

2024-05-13 22:37:08 1215

原创 阶段一 - Frida 检测绕过

进入app安装目录,把 libmsaoaidsec.so 删除即可。app安装目录位置,/data/app/,进入后再进入/lib/arm64/,运行 rm libmsaoaidsec.so 即可。然后在MT管理器中将怀疑的 so 文件移动到别的地方后进行测试,看是否还会出现闪退现象。hook发现,app会出现闪退现象,原因是这个app做了frida反调试。这个就类似frida-server防hook的升级版,启动后即可使用。有些app运行时会监测frida的相关特征,监测到之后就会直接闪退。

2024-05-12 17:10:25 2129

空空如也

空空如也

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

TA关注的人

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