逆向破解学习-登山赛车

试玩

在这里插入图片描述

课程中的内容

在这里插入图片描述
在这里插入图片描述

Hook代码


import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;public class HookComYoDo1SkiSafari2TXYYB_01 extends HookImpl{@Overridepublic String packageName() {return "com.yodo1.skisafari2.TXYYB_01";}@Overridepublic String appName() {return "滑雪大冒险";}@Overridepublic void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {hookPaymentHelper(lpparam);hookPayAdapterYYB(lpparam);}private void hookPayAdapterYYB(XC_LoadPackage.LoadPackageParam lpparam) {//com.yodo1.sdk.pay.PayAdapterYYB.1final String className = "com.yodo1.sdk.pay.PayAdapterYYB$1";final ClassLoader classLoader = lpparam.classLoader;final String methodName = "OnPayNotify";final Class<?> param = XposedHelpers.findClass("com.tencent.ysdk.module.pay.PayRet", classLoader);XposedHelpers.findAndHookMethod(className, classLoader, methodName,param,new XC_MethodHook() {@Overrideprotected void beforeHookedMethod(MethodHookParam param) throws Throwable {super.beforeHookedMethod(param);Object obj = param.args[0];log("HookComYoDo1SkiSafari2TXYYB_01 "+ obj.getClass().getCanonicalName() + "\n" + obj);XposedHelpers.setObjectField(obj, "ret", 0);XposedHelpers.setObjectField(obj, "payState", 0);log("HookComYoDo1SkiSafari2TXYYB_01 "+ obj.getClass().getCanonicalName() + "\n" + obj);log("HookComYoDo1SkiSafari2TXYYB_01, " + className + ", " + methodName + ", ");}});}private void hookPaymentHelper(XC_LoadPackage.LoadPackageParam lpparam) {final String className = "com.yodo1.android.ops.payment.PaymentHelper";final ClassLoader classLoader = lpparam.classLoader;final String methodName = "netCreateOrder";final Class<?> param1 = XposedHelpers.findClass("com.yodo1.android.ops.payment.RequestCreateOrder", classLoader);final Class<?> param2 = XposedHelpers.findClass("com.yodo1.android.ops.utils.Yodo1OpsCallback", classLoader);XposedHelpers.findAndHookMethod(className, classLoader, methodName,param1, param2,new XC_MethodHook() {@Overrideprotected void beforeHookedMethod(MethodHookParam param) throws Throwable {super.beforeHookedMethod(param);log("HookComYoDo1SkiSafari2TXYYB_01 netCreateOrder beforeHookedMethod");}@Overrideprotected void afterHookedMethod(MethodHookParam param) throws Throwable {super.afterHookedMethod(param);log("HookComYoDo1SkiSafari2TXYYB_01 netCreateOrder afterHookedMethod");}});}
}

结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技云报道:一波未平一波又起?AI大模型再出邪恶攻击工具

AI大模型的快速向前奔跑&#xff0c;让我们见识到了AI的无限可能&#xff0c;但也展示了AI在虚假信息、深度伪造和网络攻击方面的潜在威胁。 据安全分析平台Netenrich报道&#xff0c;近日&#xff0c;一款名为FraudGPT的AI工具近期在暗网上流通&#xff0c;并被犯罪分子用于编…

tensotflow中tf.title()和tf.broadcast()

tf.tile() 和 tf.broadcast_to() 都是 TensorFlow 中用于张量复制的函数&#xff0c;但它们的实现方式和使用场景略有不同。 tf.tile() 函数的定义如下&#xff1a; tf.tile(input, multiples, nameNone) 其中&#xff0c;input 表示要复制的张量&#xff0c;multiples 表示…

Vue输入框或者选择框无效,或者有延迟

问题剖析 使用Vue这种成熟好用的框架&#xff0c;一般出现奇奇怪怪的问题都是因为操作不当导致的&#xff0c;例如没有合理调用组件、组件位置不正确、没有合理定义组件或者变量、样式使用不当等等... 解决方案 如果你也出现了输入框输入东西&#xff0c;但是没有效果…

java8 求和

1.BigDecimal求和 对象字段求和 List<Car> listnew ArrayList<>(); BigDecimal sumOfBigDecimals list.stream().filter(Objects::nonNull).filter(c -> c.getMiles() ! null).map(Car::getMiles).reduce(BigDecimal.ZERO, BigDecimal::add);BigDecimal集合求…

(一)ES6 介绍

为什么学习ES6 ES6的版本变动内容最多&#xff0c;具有里程碑意义ES加入许多新的语法特性&#xff0c;编程实现更简单、搞笑ES6是前端发展趋势&#xff0c;就业必备技能 什么是ECMA ECMA&#xff08;European Computer Manufacturers Association&#xff09;&#xff0c;中…

如何使用异步IO编写高效的网络应用

如何使用异步IO编写高效的网络应用 在现代的网络应用中&#xff0c;处理大量的并发请求是必不可少的。传统的同步IO模式往往在面对高并发时效率低下。而异步IO则可以有效地提高网络应用的处理能力和性能。 异步IO是一种非阻塞的IO模型&#xff0c;它允许应用程序同时处理多个…

实时通信应用的开发:Vue.js、Spring Boot 和 WebSocket 整合实践

目录 1. 什么是webSocket 2. webSocket可以用来做什么? 3. webSocket协议 4. 服务器端 5. 客户端 6. 测试通讯 1. 什么是webSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务…

百度网盘非会员倍速播放(电脑端)

百度网盘非会员倍速播放&#xff08;电脑端&#xff09; 1. 打开edge浏览器&#xff0c;点击右上角的三个点后&#xff0c;选择“扩展” 2. 选择“管理扩展” 3. 选择“获取MicrosoftEdge扩展” 4. 搜索“Global Speed” 5. 选择Global Speed:视频速度控制&#xff0c;然…

PHP 求解两字符串所有公共子序列及最长公共子序列 支持多字节字符串

/*** 获取两字符串所有公共子序列【不连续的】 例&#xff1a;abc ac > ac** param string $str1 字符串1* param string $str2 字符串2** return array*/ function public_sequence(string $str1, string $str2): array {$data [[-1, -1, , 0, ]]; // 子序列容器【横坐标 …

配置Arduino+ESP32走过的巨坑

项目场景&#xff1a; 前几天去淘宝买了块ESP32拿来用&#xff0c;配置Arduino最新版ESP32 2.0.11走过的巨坑。 问题描述 先安装好了ArduinoIDE最新版&#xff08;教程里介绍去官网下&#xff09;&#xff0c;然后配置ESP32开发板&#xff0c;后面发现安装速度惊人。 去找加速…

Pytorch深度学习-----完整神经网络模型训练套路

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…

git 使用步骤

1、创建分支 git checkout -b cate 2、本地提交 将 cate 分支进行本地提交 git add . git commit -m "完成cate页面的开发" 3、远程推送 将本地的 cate 分支推送到码云 git push -u origin cate 4、合并本地分支 将本地 cate 分支中的代码合并到 master 主分支&am…

websocket知识点

http协议 http协议特点&#xff1a; 无状态协议每个请求是独立的单双工通信&#xff0c;且服务器无法主动给客户端发信息http协议受浏览器同源策略影响 http实现双向通信方法: 轮询长轮询iframe流sse EventSource websocket协议 websocket协议: 全双工协议支持跨域支持多…

自动测试框架airtest应用一:将XX读书书籍保存为PDF

一、Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架&#xff0c;这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的&#xff0c;计算机用户不需要…

asp.net core webapi如何执行周期性任务

使用Api执行周期性任务 第一种&#xff0c;无图形化界面1.新建类&#xff0c;继承IJob&#xff0c;在实现的方法种书写需要周期性执行的事件。2.编写方法类&#xff0c;定义事件执行方式3.在启动方法中&#xff0c;进行设置&#xff0c;.net 6中在program.cs的Main方法中&#…

数据库--MySQL增删改查

数据库相关链接&#xff1a; 数据库--数据类型&#xff1a;http://t.csdn.cn/RtqMD 数据库--三大范式、多表查询、函数sql&#xff1a;http://t.csdn.cn/udJSG 基础的数据操作 在创建了数据库和数据库表之后&#xff0c;我们就可以在表中进行数据操作了。基础操作分为 添加 …

旅卦-火山旅

前言&#xff1a;人生就像一趟旅行&#xff0c;为谋生奔波也是旅&#xff0c;旅是人生的常态&#xff0c;我们看一下易经里的旅卦&#xff0c;分析下卦辞和爻辞以及自己的理解。 目录 卦辞 爻辞 总结 卦辞 旅&#xff1a;小亨&#xff0c;旅贞吉。 卦序&#xff1a;穷大者…

java获取到heapdump文件后,如何快速分析?

简介 在之前的OOM问题复盘之后&#xff0c;本周&#xff0c;又一Java服务出现了内存问题&#xff0c;这次问题不严重&#xff0c;只会触发堆内存占用高报警&#xff0c;没有触发OOM&#xff0c;但好在之前的复盘中总结了dump脚本&#xff0c;会在堆占用高时自动执行jstack与jm…

560. 和为 K 的子数组

思路 本题的主要思路为创建一个哈希表记录每个0~i的和&#xff0c;在遍历这个数组的时候查询有没有sum-k的值在哈希表中&#xff0c;如果有&#xff0c;说明有个位置到当前位置的和为k。   有可能不止一个&#xff0c;哈希表负责记录有几个sum-k&#xff0c;将和记录下来。这…

java -复习

数组存储数据方面的特点和弊端 数组一旦初始化&#xff0c;其长度就是确定的。数组中的多个元素是依次紧密排列的&#xff0c;有序的&#xff0c;可重复的(优点)数组一旦初始化完成&#xff0c;其元素的类型就是确定的。不是此类型的元素&#xff0c;就不能添加到此数组中。in…