当前位置:网站首页>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 !!!
边栏推荐
- CKS CKA ckad change terminal to remote desktop
- 日本购物网站的网络乞丐功能
- shell 自定义函数
- Wechat personal small store one click opening assistant applet development
- Zhao Fuquan: to ensure supply in the short term, we should build a safe, efficient and resilient supply chain in the long term
- CADD course learning (3) -- target drug interaction
- mysql ---- Oracle中的rownum转换成MySQL
- 玻璃马赛克
- Treatment of insufficient space in the root partition of armbain system
- Cisco -- an external tool for WAN's concept examination
猜你喜欢
YOGA27多维一体电脑,兼具出色外观与高端配置
plain framework的实际应用和扩展
玻璃马赛克
[MySQL] basic use of explain and the function of each column
91. (cesium chapter) cesium rocket launch simulation
Matplotlib常用设置
Three development trends of enterprise application from the perspective of the third technological revolution
软件测试之「 性能测试」总结,新手上路必会知识点
Huisheng Huiying 2022 intelligent, fast and simple video editing software
CKS CKA ckad change terminal to remote desktop
随机推荐
[MySQL] basic use of explain and the function of each column
mysql ---- Oracle中的rownum转换成MySQL
Leetcode(34)——在排序数组中查找元素的第一个和最后一个位置
赵福全:短期解决保供,长期要打造安全、高效有韧性的供应链
Summary of "performance testing" of software testing, novice will know the knowledge points on the road
URL 介绍
Matplotlib常用图表
window10安装wsl(一)(WslRegisterDistribution ERROR)
What is the mosaic tailgate?
Jerry's records are powered by Vbat with a power supply voltage of 4.2V [chapter]
Cisco test -- the concept and configuration test of routing
Wechat personal small store one click opening assistant applet development
数字峰会人气火爆,城链科技引发新一轮商业变革
[applet] realize the left and right [sliding] list through the scroll view component
Mysql 5.7 实现 rank 排名
flutter Unable to load asset: assets/images/888.png
Huisheng Huiying 2022 intelligent, fast and simple video editing software
dat. GUI
Use 3DMAX to make a chess piece
91. (cesium chapter) cesium rocket launch simulation