当前位置:网站首页>MT manager test skiing Adventure
MT manager test skiing Adventure
2022-07-01 23:18:00 【Cold Lane (* _*)】
Suddenly want to play the little game of childhood ( No more traffic ). See a payment , Just want to test
Skiing adventure
mt Manager
The first is to open mt Manager , Extract the installation package of this game .
Still no shell ~
Then click the installation package , spot see .
Order any one dex
Click the first one
Click on Constant .
Click filter
Input Buy , Point determination
Because what we want is success , So here's the first one
Click on the search
Then point in
Because there are no members , It can be used np The manager opens here , And then turn it into java.
turn Java The code is as follows
// // Decompiled by Jadx (from NP Manager) // package com.yodo1.android.sdk.helper; import android.app.Activity; import com.yodo1.android.sdk.constants.PayType; import com.yodo1.android.sdk.utils.RegexUtils; import com.yodo1.sdk.adapter.callback.ChannelSDKCallback; import com.yodo1.sdk.adapter.entity.ChannelPayInfo; import com.yodo1.sdk.adapter.entity.User; import com.yodo1.sdk.adapter.function.PayAdapterBase; import com.yodo1.sdk.kit.YLog; import org.w3c.dom.Element; class Yodo1PayHelper$5 implements ChannelSDKCallback { final /* synthetic */ Yodo1PayHelper this$0; final /* synthetic */ Activity val$activity; final /* synthetic */ ChannelPayInfo val$channelPayInfo; final /* synthetic */ User val$channelUser; final /* synthetic */ String val$extraParam; final /* synthetic */ String val$orderId; final /* synthetic */ PayAdapterBase val$payAdapter; final /* synthetic */ Element val$payElement; final /* synthetic */ PayType val$payType; final /* synthetic */ ProductData val$productData; public void onResult(int i, int i2, String str) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(i2); stringBuilder.append(""); Yodo1PayHelper.access$602(stringBuilder.toString()); stringBuilder = new StringBuilder(); stringBuilder.append(" pay channelpay callback, status = "); stringBuilder.append(i); stringBuilder.append(", errorCode = "); stringBuilder.append(i2); stringBuilder.append(", params = "); stringBuilder.append(str); String str2 = "Yodo1PayHelper"; YLog.d(str2, stringBuilder.toString()); if (RegexUtils.isJson(str)) { this.val$productData.setExtras(str); } if (i != 1) { String str3 = " This is a purchased item , Purchase success "; if (i != 2) { Yodo1PayHelper.access$200(this.this$0, this.val$activity); Yodo1PayHelper.access$900(this.this$0, this.val$activity, this.val$productData.getOrderId()); if (208 == 301) { this.this$0.startPay(this.val$activity, PayType.carriers, this.val$productData, this.val$extraParam); return; } Yodo1PayHelper.access$700(this.this$0, this.val$productData, null, String.valueOf(208), str); if (208 != null) { if (208 != 103) { if (208 != 104) { if (208 == 208) { YLog.d(str2, str3); i2 = 1; } else if (208 != 209) { switch (208) { case 203: i2 = 203; break; case 204: break; case 205: break; default: switch (208) { case 302: case 303: case 304: YLog.d("Yodo1PayHelper, Change the payment method errorCode"); i2 = 0; break; default: i2 = 0; break; } } } else { i2 = 3; } } i2 = 207; } i2 = 205; } else { i2 = 0; } this.this$0.purchased(i2, this.val$channelPayInfo.getOrderId(), this.val$productData, this.val$payType); return; } Yodo1PayHelper.access$200(this.this$0, this.val$activity); Yodo1PayHelper.access$900(this.this$0, this.val$activity, this.val$productData.getOrderId()); if (208 == 208) { YLog.d(str2, str3); this.this$0.purchased(1, this.val$channelPayInfo.getOrderId(), this.val$productData, this.val$payType); return; } this.this$0.purchased(2, this.val$channelPayInfo.getOrderId(), this.val$productData, this.val$payType); Yodo1PayHelper.access$700(this.this$0, this.val$productData, null, String.valueOf(208), str); return; } YLog.d(str2, " Querying order status "); if (this.val$payAdapter.needQueryOrder(this.val$activity)) { Yodo1PayHelper.access$1000(this.this$0, this.val$activity, this.val$productData, new 1(this)); } else if (this.val$payAdapter.needVerifyOrder(this.val$activity)) { YLog.d(str2, " Order status verification succeeded "); Yodo1PayHelper.access$200(this.this$0, this.val$activity); this.this$0.purchased(1, this.val$orderId, this.val$productData, this.val$payType); Yodo1PayHelper.access$900(this.this$0, this.val$activity, this.val$productData.getOrderId()); } else { YLog.d(str2, " Submitting order status "); Yodo1PayHelper.access$1100(this.this$0, this.val$productData, this.val$payType, new 2(this)); } } Yodo1PayHelper$5(Yodo1PayHelper yodo1PayHelper, ProductData productData, PayAdapterBase payAdapterBase, Activity activity, ChannelPayInfo channelPayInfo, Element element, String str, User user, String str2, PayType payType) { this.this$0 = yodo1PayHelper; this.val$productData = productData; this.val$payAdapter = payAdapterBase; this.val$activity = activity; this.val$channelPayInfo = channelPayInfo; this.val$payElement = element; this.val$extraParam = str; this.val$channelUser = user; this.val$orderId = str2; this.val$payType = payType; } }
Let's analyze this code , This is the main judgment in the code Namely status and errorcode ( The key is coming. . And we need code execution Purchase success That section And judgment Namely errorcode Is it equal to 208.
Let's take a closer look at the near Chinese if Judge .
This code has two judgments , First judge status To determine whether the previous This errorcode=208. however After this code errorcode=1. Let's look at the following code . This code will errorcode Put it in ( Simply put, it's used errorcode The value of this ). Also explains errorcode=1 After being used Is to buy successful Meaning . Look at the following code
If the previous code is not executed that Continue to judge errorcode Is it equal to 208
Then we put the errorcode The value of is modified to 208 have a look ( In theory, it is revised to 208 perhaps 1 Will do )
From the code point of view Judge whether it is equal to 208 This Always judge whether it is equal to 208 and 1 But I don't know status The state of Just tell us
I don't know if I will run the previous judgment And the second judgment will run . So will errorcode Is changed to 208 That's all right ?
Then cut back to mt Manager .
Find out by searching
errorCode Namely p2 To the .
Let's just assign him a value .
We are
Then back out
Then click Auto Signature .
Then you install
Uninstall the original installation , stay mt Download from the manager
Click to buy in the game , Then click
Back out , Found that the purchase was successful !
Testing is completed !!!
边栏推荐
- 力扣 710. 黑名单中的随机数
- 从第三次技术革命看企业应用三大开发趋势
- [机缘参悟-35]:鬼谷子-飞箝篇-远程连接、远程控制与远程测试之术
- Understanding threads
- Cisco test -- the concept and configuration test of routing
- Which securities company is better and which is safer to open a securities account
- [applet] realize the left and right [sliding] list through the scroll view component
- 通过Go语言创建CA与签发证书
- 软考信息系统项目管理师_整理的十大管理过程的简写帮助记忆背诵---软考高级之信息系统项目管理师054
- Copy ‘XXXX‘ to effectively final temp variable
猜你喜欢
玻璃马赛克
Zhongang Mining: it has inherent advantages to develop the characteristic chemical industry dominated by fluorine chemical industry
[机缘参悟-35]:鬼谷子-飞箝篇-远程连接、远程控制与远程测试之术
[JUC learning road day 9] barrier derivatives
众昂矿业:发展以氟化工为主的特色化工产业具有先天优势
Redis~02 cache: how to ensure data consistency in MySQL and redis when updating data?
Cisco exam -- redundant network
Jerry's burning of upper version materials requires [chapter]
2022 R1 fast opening pressure vessel operation test questions and answers
软件测试之「 性能测试」总结,新手上路必会知识点
随机推荐
Istio, ebpf and rsocket Broker: in depth study of service grid
Jielizhi, production line assembly link [chapter]
CADD课程学习(3)-- 靶点药物相互作用
[JUC learning road day 8] condition
js——arguments的使用
vim给目录加颜色
2022安全员-C证考试题模拟考试题库及模拟考试
Armbain系统根分区空间不足处理
Huisheng Huiying 2022 intelligent, fast and simple video editing software
What is mosaic?
Convergence and disposal suggestions of some Internet exposure surfaces
mysql binlog的清理
2022 examination questions and online simulation examination for safety management personnel of hazardous chemical business units
数字峰会人气火爆,城链科技引发新一轮商业变革
Redis数据类型和应用场景
每日三题 6.30(2)
Wechat personal small store one click opening assistant applet development
若干互联网暴露面的收敛及处置建议
共享电商的背后: 共创、共生、共享、共富,共赢的共富精神
URL 介绍