当前位置:网站首页>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 !!!
边栏推荐
- 软考信息系统项目管理师_整理的十大管理过程的简写帮助记忆背诵---软考高级之信息系统项目管理师054
- 认识线程
- 认识--Matplotlib
- Which securities company is better and which is safer to open a securities account
- 通过Go语言创建CA与签发证书
- vim给目录加颜色
- Zhongang Mining: it has inherent advantages to develop the characteristic chemical industry dominated by fluorine chemical industry
- Design of ESP automatic download circuit
- 【微服务|Sentinel】SentinelResourceAspect详解
- 【Kotlin 第三方 】coil koltin协程图片加载库Coil类似Glide的图片加载第三方
猜你喜欢

Yoga27 multidimensional all-in-one computer with excellent appearance and high-end configuration
![Jielizhi Bluetooth headset quality control and production skills [chapter]](/img/ad/28e7461f8c5dc5c54a3f4da0c111ac.png)
Jielizhi Bluetooth headset quality control and production skills [chapter]
![Jielizhi Bluetooth headset quality control and production skills [chapter]](/img/3e/571d246d211a979e948dae1de56e93.png)
Jielizhi Bluetooth headset quality control and production skills [chapter]

Programming English vocabulary notebook

CKS CKA CKAD 将终端更改为远程桌面

What is mosaic?

window10安装wsl(一)(WslRegisterDistribution ERROR)

有些能力,是工作中学不来的,看看这篇超过90%同行

认识--Matplotlib

CKS CKA ckad change terminal to remote desktop
随机推荐
Typescript enumeration
硅谷产品实战学习感触
AAAI22 | 结构标记和交互建模:用于图分类的“SLIM”网络
Understanding threads
Explain ThreadLocal in detail
从第三次技术革命看企业应用三大开发趋势
每日三题 6.28
Yoga27 multidimensional all-in-one computer with excellent appearance and high-end configuration
shell 自定义函数
vim给目录加颜色
马赛克后挡板是什么?
内存泄露和内存溢出的区别是什么?
Zhongang Mining: it has inherent advantages to develop the characteristic chemical industry dominated by fluorine chemical industry
CKS CKA CKAD 将终端更改为远程桌面
微服务服务稳定性治理
会声会影2022智能、快速、简单的视频剪辑软件
使用3DMax制作一个象棋棋子
Explain the use of locksupport in detail
Mysql 5.7 实现 rank 排名
SWT/ANR问题--SWT 导致 kernel fuse deadlock