逆向破解学习-登山赛车
试玩

课程中的内容


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");}});}
}
结果

相关文章:
逆向破解学习-登山赛车
试玩 课程中的内容 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 p…...
linux下实现生产者和消费者 pv操作
线程同步与线程安全 生产者和消费者特点图示理解编程实现测试结果 生产者和消费者 特点 1.解耦:因为多了一个缓冲区,所以生产者和消费者并不直接相互调用,这样生产者和消费者的代码发生变化,都不会对对方产生影响。这样其实就是把生产者和消…...
十六、遥感影像识别
1、获取遥感影像数据 或用卫星遥感数据,或用无人机低空采集,原始数据加工,最后提供CSV、Excel、GeoTIFF、ENVI等数据文件。 ENVI格式的原始数据文件可以存储多维数据,包括三维数组、二维数组、一维数组甚至标量等。这是因为ENVI格式支持不仅仅是多光谱或高光谱数据…...
源码角度分析@configuration和@component不同
1.configuration是component的内部类,configuration包含component注解。 2.configuration中所有带Bean都会被CGLIB动态代理,调用此配置类中的方法都会返回同一个实例。component不会被代理,调用配置类中的方法都会新建一个实例。 3.configura…...
实现分布式事务:Java与MySQL的XA事务协调
目录 一、什么是XA事务 二、Java中的XA事务支持 三、MySQL的XA事务协调 四、注意事项和最佳实践 五、基于 java 语言的开发工具 六、小结 分布式事务是在跨多个数据库或服务之间保持一致性的重要机制。Java与MySQL的XA(eXtended Architecture)事务…...
如何通过CRM系统进行成功的客户生命周期管理?
吸引新客户,提供无与伦比的服务或商品,以及建立成功的客户关系,是每个企业努力追求的目标。然而,实现这些目标需要的不仅仅是良好的愿景,还需要实施客户生命周期管理流程。 什么是客户生命周期管理? 客户…...
Leetcode 977. 有序数组的平方
题目: Leetcode 977. 有序数组的平方 描述: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序 思路: 双指针法 数组其实是有序的, 只不过负数平方之…...
vue3中使用toValue
toValue() 是一个在 3.3 版本中新增的 API。它的设计目的是将 ref 或 getter 规范化为值。如果参数是 ref,它会返回 ref 的值;如果参数是函数,它会调用函数并返回其返回值 示例...
阿里云国际版CDN使用教程!
当网站流量达到一定值后,势必会造成网站访问卡堵,这时候阿里云CDN将会一个很好的选择,阿里云 CDN 是由全球分布式边缘节点组成的虚拟网络。阿里云 CDN 可减少源站负载,防止网络拥塞,使用阿里云 CDN 加速图像、小文件、…...
【docker】Dockerfile构建镜像常用指令:
文章目录 一、常用命令:二、注意事项:三、add和copy的区别:【1】ADD 指令支持自动解压缩功能【2】ADD 指令可以从 URL 复制内容【3】 ADD 指令具有隐式的文件拷贝功能 一、常用命令: Dockerfile是一个文本文件,包含了一条条的指令,在基于指定的镜像上&am…...
Java课题笔记~ 会话跟踪
3.1 Cookie 【案例1 记住密码】 实现效果 当勾选“记住密码”复选框时,下次访问登录页面,会自动记住账号,密码信息。 【案例2 上次访问时间】 实现效果 首次登录,显示“欢迎您,XXX” 下次登录,显示“欢迎您…...
HbuildX生成安卓签名证书
HbuildX生成安卓签名证书 安装和配置JRE环境 根据此链接安装和配置JRE环境 生成签名证书 keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystoretestalias是证书别名,可修改为自己想设置的字符,建议…...
在Ruoyi中采用Ajax动态生成Echarts图表实践
前言 在之前博文中,我们讲解了如何使用java在后台进行Echarts的图表生成组件,博文如下: 序号 博客连接1一款基于JAVA开发的Echarts后台生成框架2Ruoyi单体项目与Echarts4.2.1地图集成时的思路及解决办法3解决Ruoyi单体版本集成Echarts多图表时…...
资讯速递 | ArkUI-X 预览版已正式开源!
OpenHarmony项目群技术指导委员会(以下简称“TSC”)-跨平台应用开发框架TSG所孵化项目 —— ArkUI-X,近期已正式开源 ,开发者基于一套主代码,就可以将在OpenHarmony上开发的精美、高性能应用同时运行在Android、iOS等其…...
HTML <select> 标签
实例 创建带有 4 个选项的选择列表: <select><option value ="volvo">Volvo</option><option value ="saab">Saab</option><option value="opel">Opel</option><option value="audi"…...
Flutter:文件上传与下载(下载后预览)
Dio dio是一个强大的Dart Http请求库,提供了丰富的功能和易于使用的API,支持文件上传和下载。 这个就不介绍了,网上有很多的封装案例。 background_downloader 简介 适用于iOS,Android,MacOS,Windows和L…...
[前端系列第6弹]Ajax简明教程:轻松实现Web页面的异步交互
在这篇文章中,我将介绍Ajax的基本概念、原理、优缺点、实现方法和应用场景,以及如何使用它来实现Web页面的异步交互。还将给一些简单而实用的例子,让你可以跟着我一步一步地编写自己的Ajax代码。 目录 一、什么是Ajax 二、如何使用Ajax &a…...
ssh-keygen 做好免密登录后不生效
免密说明 通常情况下,我们ssh到其他服务器需要知道服务器的用户名和密码。对于需要经常登录的服务器每次都输入密码比较麻烦,因此我们可以在两台服务器上做免密登录,即在A服务器可以免密登录B服务器。 在A服务器上登录B服务器时,…...
【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~
Java可执行命令之jconsole 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 注意事项 4️⃣ 应用场景🌾 总结 1️⃣ 概念 jconsole 是 Java Development Kit (JDK) 自带的一款图形化监控和管理工具。它旨在提供一个简单而强大的界面,用于监视和管…...
leetcode做题笔记66
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路一:模拟题意 int* plusOne(i…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
