原文链接:https://api-caller.com/2019/11/05/capture-note/
抓包应该是被问到最多的事情了, 记录一些片段.
珍惜Any
之前提过 一种思路
是遍历所有类, 按照特征去判断校验类和方法.
此处的思路则是, 先跑一遍并让它失败, 找到特征打印堆栈, 即可锁定位置, 再行 hook 即可.
function showStacks() { | |
Java.perform(function() { | |
console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new())); | |
}); | |
} | |
function hook() { | |
Java.perform(function () { | |
const commonPaths = [ | |
"/data/local/bin/su", |
原文链接:https://api-caller.com/2019/11/05/capture-note/
抓包应该是被问到最多的事情了, 记录一些片段.
珍惜Any
之前提过 一种思路
是遍历所有类, 按照特征去判断校验类和方法.
此处的思路则是, 先跑一遍并让它失败, 找到特征打印堆栈, 即可锁定位置, 再行 hook 即可.
import aioredis | |
from fastapi import FastAPI | |
from api.views import router as api_router | |
from ws.views import router as wss_router | |
from config import redis_config | |
async def redis_pool(db: int = 0): | |
""" |
var listJava = Java.use("java.util.List"); | |
var CookieManager = Java.use("java.net.CookieManager"); | |
CookieManager.getCookieStore.implementation = function () { | |
try{ | |
ue_tool.showUETMenu(); | |
}catch(e){ | |
console.log(e) | |
} | |
console.log("getCookieStore ============= start"); | |
var ret = this.getCookieStore(); |
squid 配置文件 / squid.conf
# Recommended minimum configuration:
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network