727 1 分钟

git 仓库:https://github.com/hluwa/FRIDA-DEXDump # 葫芦娃大佬的脱壳工具 firda-dexdump ,一键式脱壳,方便快捷,号称三秒脱一壳!!!文档介绍了三种使用方式 # 命令行直接脱壳 前提:需要安装 python 和 frida 环境,并启动 frida-server , 参考 frida 教程 pip3 install frida-dexdump安装成功之后,在手机端打开需要脱壳的 app , 然后直接命令行执行 frida-dexdump , 脱出来的 dex 文件会保存在当前目录 frida-dexdump # 使用...
2.1k 2 分钟

官方文档: https://github.com/sensepost/objection # Objection 太强了,告别敲代码的方式,快速动态 trace ,时间就是生命,用上就会戒不掉,且支持 ios 和 android 。 # 安装 ps : python >= 3.4 且安装了 frida , 参考 pip3 install Objection 直接终端输入 objection ,输出如下内容就成功了 # 食用方法 进入交互式界面 objection -g apkname explore 不知道指令直接按空格键, objection...
446 1 分钟

# Python 有一个和其他语言完全不一样的地方,就是对负数的二进制表示。Python 里的数是无所谓 Overflow 的,即没有位数限制,因此也就无所谓补码,因为补码都是相对于位数来说的,32 位补码和 16 位补码,肯定是不一样的。但是这样就导致了一个问题,就是无法直接得到 32 位二进制补码。 原数值获取补码 def intToBin32(i): return (bin(((1 << 32) - 1) & i)[2:]).zfill(32) 补码转成原数值 def bin32ToInt(s): return int(s[1:], 2)...
4.7k 4 分钟

# 包含 int 、 double 、 float 、 string 和 hex 的相互转换 int 也可以直接 toString i = 1369558044;i.toString(16) // 转为 16 进制var HEX = {};/** * @param {Object} buffer * ArrayBuffer 转 16 进制字符串 */HEX.ab2hex = function(buffer) { const hexArr = Array.prototype.map.call( new...
1.6k 1 分钟

# python 实现 java 无符号右移, python 中只有右移 >> 和左移 << , 为了实现 java 的 >>> !!!如非必要,不要使用 python 复现 java ,好多坑... 使用 js 复现 java 代码更方便些,当然直接调 jar 包更完美😁 另外 python 的左移存在一定的问题,当数据过大时,python 左移的结果和其他语言不一致,可以使用下面的代码解决 #无符号右移import ctypes# 使用此函数处理左移问题def...
1.6k 1 分钟

# Android 7.0 后更新安全策略,软件可以自身选择是否相信用户导入的证书。所以当我们在手机导入 charles 的证书后,有些软件依旧抓不到 Https 的包。我们需要把证书导入到手机系统里面而非用户里面。 上图是我的 pixel 3xl (安卓 9.0) 导入成功之后的截图。亲测可以抓到 https 的包。 这里提供四种方案处理证书: # 正常安装证书,然后把证书移到根目录 adb 命令移动 $ adb shell #连接手机进入 shell 模式su # 进入 rootcd /data/misc/user/0/cacerts-added # 切换到用户证书目录mount...
2.6k 2 分钟

# 入手了一部 pixel 3xl ,下班之后急忙取回上手折腾,不得不说 android 12 的原生系统真的如丝般顺滑。好了体验完开始进入正题,折腾手机。。。 这部手机主要买来做安卓逆向,所以版本不易过高,但是官方最低也是个 android 9, 先解 bl, root 再说吧,开干 >> # 刷机有风险,注意备份数据,数据无价。。。 # 首先准备数据线、windows 电脑、 adb 、 fastboot 、 手机系统镜像 、 TWRP镜像 、 usb驱动包 , magisk , 搞机助手 adb 及 fastboot...
1.1k 1 分钟

# 有些网站请求出现 403 等,强制使用 tls1.2 发包的场景 # urllib 版本 import urllibimport sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)response = urllib.request.urlopen(url=urllib.request.Request(url=url, headers=headers), data=data, context=context)response = response.read().decode()print(response) # requests...
828 1 分钟

# 在使用 selenium 进行页面抓取的时候,有时候会遇到一些对 selenium 的反爬措施 一般常见的反爬手段是通过检测 window.navigator 的 webdriver 属性,正常浏览器没有这个属性,直接访问正常是 undefined 或者 false , 浏览器版本不同不太一样,我用的新版 chrome 浏览器. 如果用 selenium 启动浏览器返回的结果是 true . 用 execute_script 直接置空是不可以的,因为 execute_script 方法是在页面渲染完之后才执行的,已经被检测过了;我们可以用 CDP(Chrome...
667 1 分钟

# 逆向开发时,本地运行 js 代码,需要用到 node 环境,有的代码需要用到 windows.atob 或者 windows.btoa , 但是低版本的 node 没有这两个函数,可以用以下两种方法实现。 # 使用 buffer 封装, 网上搜到的基本上都没指定 toString("binary") ,不加 binary ,编码普通的字母数字没问题,但是一些特殊字符和浏览器结果不同。 window.btoa = function (str) { return...