V2EX hadesy 的所有回复 第 1 页 / 共 3 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    hadesy    全部回复第 1 页 / 共 3 页
回复总数  49
1  2  3  
private static void HookLocation(ClassLoader classLoader) throws ClassNotFoundException {
//坐标拾取系统 https://lbs.qq.com/getPoint/
double latitude = 0.0;
double lOngitude= 0.0;

Class clazz = classLoader.loadClass(
"com.tencent.map.geolocation.sapp.TencentLocationManager");
XposedHelpers.findAndHookMethod(clazz, "requestLocationUpdates",
"com.tencent.map.geolocation.sapp.TencentLocationRequest",
"com.tencent.map.geolocation.sapp.TencentLocationListener", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("requestLocationUpdates");
Class tencentLocatiOnListenerClass= param.args[1].getClass();
XposedHelpers.findAndHookMethod(tencentLocationListenerClass,
"onLocationChanged",
"com.tencent.map.geolocation.sapp.TencentLocation",
int.class, String.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam para) throws Throwable {
Class tencentLocation = param.args[0].getClass();
XposedHelpers.findAndHookMethod(tencentLocation,
"getLatitude",
new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("requestLocationUpdates.getLatitude:"+ param.getResult());
param.setResult(latitude);
}
});
XposedHelpers.findAndHookMethod(tencentLocation,
"getLongitude",
new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("requestLocationUpdates.getLongitude:"+ param.getResult());
param.setResult(longitude);
}
});


}
});
}
}
);
}
(function () {
function createHandler() {
const globalObj = Object.getPrototypeOf(global) || global;
globalObj.chunkFileMap = globalObj.chunkFileMap || {
881: "crypto-js/cipher-core.js",
5624: "crypto-js/core.js",
8160: "crypto-js/md5.js",
5613: "crypto-js/aes.js",
2468: "crypto-js/evpkdf.js",
136: "crypto-js/enc-base64.js",
3139: "crypto-js/hmac.js",
9092: "crypto-js/sha1.js",
2120: "crypto-js/pad-pkcs7.js",
345: "crypto-js/enc-utf8.js",
8183: "dayjs/dayjs.min.js",
5634: "dayjs/plugin/isoWeek.js",
6700: "manifest.js",
5100: "cmps/em-request/index.js",
3375: "cmps/em-request/device.js",
2172: "global.js",
6425: "la.js"
};

const appPackages = [
{ appName: "拼多多", packageName: "com.xunmeng.pinduoduo", dp: "pddopen://" },
{ appName: "今日头条", packageName: "com.ss.android.article.news", dp: "snssdk141://" },
{ appName: "淘宝", packageName: "com.taobao.taobao", dp: "taobao://" },
{ appName: "京东", packageName: "com.jingdong.app.mall", dp: "openjd://" }
];

// 包加载工具函数
function requireModule(module) {
return module && module.__esModule ? module : { default: module };
}

const packageModule = requireModule($app_require$("@app-module/system.package"));
const routerModule = requireModule($app_require$("@app-module/system.router"));
const clipboardModule = requireModule($app_require$("@app-module/system.clipboard"));
const shortcutModule = requireModule($app_require$("@app-module/system.shortcut"));
const cOnfigModule= requireModule($app_require$("@app-module/system.configuration"));
const { getAdConfig } = $app_require$(6661);
const { getSimInfo } = $app_require$(9998);
const extraCOnfig= requireModule($app_require$(7388));

return {
private: {
backConfig: {},
backCount: 0,
hasJump: false,
taskUri: "",
attrUri: "",
hasEnter: false
},

async onInit(config) {
try {
this.$page.setSecure(true);
} catch (e) {}

try {
shortcutModule.default.systemPromptEnabled = false;
} catch (e) {}

setGlobalData("startType", 1);
setGlobalData("realizationType", "newbie");

const { pid, ckCode } = config || {};
track({ pageName: "redbox", eventType: "page_view", pid });
setGlobalData("hasReportStart", 1);

const adCOnfig= await getAdConfig();

if (adConfig.extraConfig?.stackMode) {
setGlobalData("stackMode", adConfig.extraConfig.stackMode);
}

if (adConfig.extraConfig?.clnMode) {
let selectedPackage = false;
if ((adConfig.extraConfig.clnMode === 1 || adConfig.extraConfig.clnMode === 4) && ckCode) {
selectedPackage = this.handleClnMode(ckCode, extraConfig.default);
}

if (!selectedPackage) {
this.handleClnModeRandom(adConfig.extraConfig.clnMode, extraConfig.default);
}
}

if (adConfig.extraConfig?.backConfig) {
try {
this.backCOnfig= JSON.parse(adConfig.extraConfig.backConfig);
} catch (e) {
this.backCOnfig= {};
}
}

const noAttrEntryPage = adConfig.noAttrEntryPage === "index" ? $manifest.router.entry : adConfig.noAttrEntryPage;
const { task = "", attr = "" } = adConfig.extraConfig?.jumpPage || {};

this.taskUri = noAttrEntryPage || task || "/task/base";
this.attrUri = attr || "/redbox/newbie";

if (!adConfig.extraConfig.disableYRouter) {
globalObj.routerPush = this.routerPush.bind(this, routerModule.default);
}

if (!adConfig.extraConfig.disableYInstall) {
globalObj.pkgInstall = this.pkgInstall.bind(this, packageModule.default);
}

const isAttr = getGlobalData("IsAttr");
const { canBack = 0 } = this.backConfig;

if (isAttr && canBack) {
this.hasJump = true;
this.hasEnter = true;
routerModule.default.push({ uri: this.attrUri, params: { pagefrom: "redbox" } });
} else {
this.hasEnter = true;
routerModule.default.replace({ uri: isAttr ? this.attrUri : this.taskUri, params: { pagefrom: "redbox" } });
}
},

onShow() {
if (this.hasJump) {
const { backNum = 0 } = this.backConfig;
if (backNum && this.backCount >= backNum) {
this.$app.exit();
return;
}
this.backCount++;
routerModule.default.push({ uri: this.attrUri, params: { pagefrom: "redbox", repeat: true, backCount: this.ackCount } });
}
},

onReady() {
const stackElement = this.$element("stack");
if (stackElement) {
stackElement.requestFullscreen({ screenOrientation: "portrait" });
}
},

onDestroy() {},

onBackPress: () => true,

pageClick() {
if (!this.hasEnter) return;

track({ eventType: "redbox_action", eventName: "redbox_click" });

const isAttr = getGlobalData("IsAttr");
const { canBack = 0 } = this.backConfig;

if (isAttr && canBack) {
this.hasJump = true;
routerModule.default.push({ uri: this.attrUri, params: { pagefrom: "redbox" } });
} else {
routerModule.default.replace({ uri: isAttr ? this.attrUri : this.taskUri, params: { pagefrom: "redbox" } });
}
},

handleClnMode(ckCode, config) {
for (const key in config) {
if (key === ckCode && config[key].mode === 1) {
setGlobalData("laPackageName", config[key].name);
configModule.default.setLocale({ language: config[key].la, countryOrRegion: "" });
return true;
}
}
return false;
},

handleClnModeRandom(clnMode, config) {
const mode = clnMode === 3 ? 3 : 2;
const candidates = Object.values(config).filter(pkg => pkg.mode === mode);
if (candidates.length) {
const selected = candidates[Math.floor(Math.random() * candidates.length)];
setGlobalData("laPackageName", selected.name);
configModule.default.setLocale({ language: selected.la, countryOrRegion: "" });
}
},

routerPush(router, options) {
try {
router.push(options);
} catch (e) {
packageModule.default.open({ url: options.uri });
}
},

pkgInstall(packageModule, pkg) {
try {
const app = appPackages.find(app => app.packageName === pkg.package);
if (app) {
packageModule.install(pkg);
}
} catch (e) {
packageModule.install(pkg);
}
}
};
}

if (typeof window === "undefined") {
return createHandler();
}
window.createPageHandler = createHandler;
})();
正常启动后,虚拟机 dump 内存,然后在文件中中找 master key
2024-06-07 15:39:03 +08:00
回复了 Aura23022 创建的主题 PHP 这段代码是 PHP 混淆吗?
最好给完整的代码
2024-06-02 15:18:36 +08:00
回复了 W3Cbox 创建的主题 前端开发 前端页面直接使用 JS 打开开发者工具可行吗?
2023-10-09 09:37:31 +08:00
回复了 Braisdom 创建的主题 程序员 Agile Query 网站上线了
文档全是 todo?
2022-06-06 13:49:55 +08:00
回复了 cocowind 创建的主题 程序员 aliyun oss 挂了?
就控制台挂了,服务没挂
2021-09-28 18:27:04 +08:00
回复了 Alucns 创建的主题 问与答 Nginx 能防一般的 DDOS 攻击吗?
DDos 也分 L3 和 L7,L3 还是得靠厂商上层网络流量防护,有时候流量还没到你机器就被黑洞了
2021-07-31 23:18:40 +08:00
回了 Sparkli 创建的主题 程序员 聊聊互联网公司监控技术栈选型
prometheus/thanos + skywalking + elk
2021-02-18 19:13:58 +08:00
回复了 enjoychen0318 创建的主题 程序员 多个版本的开发环境和测试环境问题。
2020-12-10 05:36:15 +08:00
回复了 Mac 创建的主题 全球工单系统 阿里云上海崩了?
崩了,好几个小时了,给你看下之前我们问的答复
尊敬的客户,您好:
北京时间 2020 年 12 月 10 日 02:19 起,阿里云监控发现华东 2 (上海)地域跨机房网络存在抖动,导致多款产品控制台登录报错、API 调用出现异常,目前仍未恢复,阿里云工程师正在紧急处理中,有进展会第一时间与您同步,非常抱歉给您的使用带来不便,若有任何问题,可随时反馈,感谢您的支持和配合!
阿里 SLS 不是最近搞了直播么,https://help.aliyun.com/document_detail/171723.html
2019-11-12 22:54:50 +08:00
回复了 witcat 创建的主题 程序员 手机客户端一般怎么保护 api
各大加固厂商的密钥白盒了解下
2019-09-15 17:48:28 +08:00
回复了 lumang 创建的主题 问与答 小程序新规实行后审核不通过怎么办
把小程序的类型改为企业工具,提交审核的时候提供测试账号,并说明为企业内部使用,需要强制登录即可
2019-08-29 19:36:31 +08:00
回复了 bzw875 创建的主题 问与答 怎么在在大厂内网穿透
v2ray+websocket+tls
1  2  3  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1574 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 32ms UTC 16:38 PVG 00:38 LAX 09:38 JFK 12:38
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86