自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jadx 使用指南

Jadx本身是一个命令行工具,它也有配套的图形界面工具–jadx-gui,jadx-gui还具有快速定位、引用搜索、全文搜索等功能。所以,往往直接使用jadx-gui完成一些反编译操作。apk 全称 Android Package,它相当于一个压缩文件,只要在电脑上将 apk 后缀改为 zip 即可解压。参数就是输入文件的路径,-d 指定反编译后输出文件的路径,-r指定不解析资源文件(能够提升整体反编译的速度)。Jadx 是一款使用广泛的反编译工具,可以一键把 apk 文件还原成 Java 代码。

2025-02-07 17:38:53 188

原创 Frida使用指南(四)- Frida-Native-Hook

Module 对象代表一个加载到进程的模块(例如,在 Windows 上的 DLL,或在 Linux/Android 上的 .so 文件), 能查询模块的信息,如模块的基址、名称、导入/导出的函数等。Memory是一个工具对象,提供直接读取和修改进程内存的功能,能够读取特定地址的值、写入数据、分配内存等。1.导出表(Export Table):列出了库中可以被其他程序或库访问的所有公开函数和符号的名称。2.导入表(Import Table):列出了库需要从其他库中调用的函数和符号的名称。

2025-01-24 16:58:28 245

原创 Frida使用指南(三)- Objection

objection是基于frida的命令行hook集合工具, 可以让你不写代码, 敲几句命令就可以对java函数的高颗粒度hook, 还支持RPC调用。可以实现诸如内存搜索、类和模块搜索、方法hook打印参数返回值调用栈等常用功能,是一个非常方便的,逆向必备、内存漫游神器。项目地址。

2025-01-24 10:45:51 798

原创 Frida使用指南(五)- Hook 定位加密位置

*运行以下 hook 脚本可以得到 Java 的 taget_class 类中的所有方法在 c 中对应的位置。**这个脚本大概知道逻辑就可以,想要具体了解,参考:https://www.apecome.com/video/XLSP16761x0x16761xXL100249xxx?如果字符串是在so中生成,可以去Hook内部:NewStringUTF 方法,该方法用于将C中的字符串转换为jstring,再返回给Java。**注意:**若加密算法定义在拦截器中,才采用这种方法寻找位置。

2025-01-23 17:45:14 515

原创 Frida使用指南(二)- Frida常用Hook脚本

注意:在java中定义,在c中实现的方法,也可以进行hook。

2025-01-23 10:44:32 136

原创 Android开发与网络请求

目标:快速开发一个安卓页面(用户登录&跳转)抓包就是在后端逻辑与API之间截取信息。

2025-01-20 15:57:39 130

原创 Java常用算法

注意:java与python的实现结果有时会有不同,比如java可能会把换行符==等符号给剔除掉,此时在用python实现时也要进行剔除。提醒:java、Python存在语言区别,有时个别字节会出现不同,但不影响整个结果。提醒:MD5加密盐salt、AES加密key、iv等关键字均可能被隐藏。如果在Hook时用到,再根据需要查看。注意:requests.post中的data也支持发送字节。java实现:算法+字节转换成十六进制字符串。注意:headers中的键与值都是字符串。

2025-01-20 15:54:14 70

原创 Java基础(二)

List是一个接口,接口下面有两个常见的类型(目的是可以存放动态的多个数据)目的:通过关键字让调用关系更加清晰(不过,很多项目不会用的那么专业)。,常见实现这个接口的有两个类,用于存储键值对,类似python中的。,常见实现这个接口的有两个类,用于实现不重复的多元素集合。在Java中:不支持同时继承多个类;Java中接口,约束实现它的成员必须实现接口中的方法。与在python中的用法相同。约束实现他的类必须包含的成员。Java中的继承,只支持单。,不支持多继承,但支持。可以泛指实现他的类。

2025-01-17 17:14:12 341

原创 Java基础(一)

Python,解释型编程语言Java,编译型&解释型语言在执行代码时,需要对代码先进行编译。利用java的安装bin目录下的javac,在终端执行>>>javacHello.java,编译完成后,会得到一个文件,然后运行代码>>>javaHello,打印字符串“你好”。编写Java代码时建议大家使用IDE(集成开发环境)来提高开发效率。推荐IDE:Intellij。

2025-01-17 17:07:21 52

原创 瑞数笔记 - From何Sir

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。

2025-01-16 21:32:08 937

原创 Linux⽂件目录管理命令

所有的 Unix Like 系统都会内建 vi ⽂书编辑器,其他的⽂书编辑器则不⼀。但是⽬前我们使⽤⽐较多的是 vim 编辑器。

2024-12-24 22:54:17 115

原创 Linux系统文件

etc/sysconfig/network-scripts/ifcfg-eth0:⽹卡配置⽂件/etc/resolv.conf:Linux系统DNS客户端配置⽂件/etc/hostname (CentOS7) /etc/sysconfig/network:(CentOS 6)主机名配置⽂件/etc/hosts:系统本地的DNS解析⽂件/etc/fstab:配置开机设备⾃动挂载的⽂件/etc/rc.local:存放开机⾃启动程序命令的⽂件。

2024-12-24 22:51:38 335

原创 Linux系统命令基础

CentOS 7 yum命令无法使用解决方案:https://blog.youkuaiyun.com/qq_22964783/article/details/144229080。需要注意的是,在所有⽬录底下都存在两个⽬录,分别是【.】和【…分别代表当前⽬录,上层⽬录。那么如何证明它的存在呢?以树形结构显示⽬录下内容。

2024-12-21 20:43:45 261

原创 Celery介绍及使用

【代码】Celery介绍及使用。

2024-12-20 08:39:48 359 1

原创 Linux介绍与安装CentOS 7操作系统

Linux类似Windows,也就是款操作系统软件。Linux是⼀套开放源代码程序的、可以⾃由传播的类Unix操作系统软件,且⽀持多⽤户、多任务且⽀持多线程、多CPU的操作系统。Linux主要⽤在服务器端、嵌⼊式开发和个⼈PC桌⾯中,服务器端是重中之重。Linux 内核(kernel)版本主要有 4 个系列,分别为 Linux kernel 2.2 、 Linux kernel 2.4 、 Linux kernel 2.6 , Linux kernel 3.x。

2024-12-18 22:24:50 1020

原创 snippet利用Hook脚本定位

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

2024-11-23 16:58:15 318

原创 预备阶段-Mitmproxy的使用

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

2024-10-11 20:34:45 99

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

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

2024-09-29 08:10:07 3109

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

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

2024-09-27 08:25:21 125

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

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

2024-09-01 14:34:45 452

原创 阶段一 - 小程序抓包

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

2024-09-01 11:55:28 280

原创 Js模拟执行 - 补浏览器环境

*浏览器环境:**是指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 2126

原创 常见反爬及应对

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

2024-07-02 21:23:59 910

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

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

2024-07-02 08:07:15 4488 1

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

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

2024-07-02 08:00:19 570

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

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

2024-07-02 07:59:12 1615

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

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

2024-07-02 07:54:33 932

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

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

2024-07-02 07:51:15 1205

原创 Pycharm常用快捷键整理

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

2024-07-01 07:59:07 873

原创 Tips汇总

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

2024-06-29 09:56:14 554

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

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

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

2024-06-29 09:13:56 143

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

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

2024-06-29 09:06:17 323

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

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

2024-06-29 08:54:58 276

原创 Unidbg调用-补环境V2

补环境。

2024-06-29 08:15:34 267

原创 Unidbg调用-补环境V1

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

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

原创 阶段二 - 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 597

原创 Magisk 安装配置

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

2024-06-17 09:40:40 185

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

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

2024-06-16 21:14:21 541

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

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

2024-06-13 22:07:25 205

空空如也

空空如也

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

TA关注的人

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