吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3764|回复: 4
收起左侧

[Android 讨论] 小白第一次内购破解,止步于程序修改,一个不知名漫画软件。求大佬指点

[复制链接]
Captain° 发表于 2020-11-11 06:49
一周前看到吾爱破解,莫名感觉有点意思,然后不务正业就开始试着研究研究,一个不会编程的新人,昨天尝试着对一个不知名的漫画软件进行破解,
发现没有壳!真的,有壳还能按教程试着去壳,没壳的软件就像脱光的妹纸摆在面前但是就不知道怎么玩!
软件属于看漫画的,前几章免费,后面要扣钻石,我试了内购破解,也试了购买破解,真的一通瞎改啥也不是,求大佬看下程序,指点一下怎么改!
这个软件个别图片尺度较大不敢上,怕被封,我就直接上代码了。一开始尝试了 PAY SUCCESS之类的,发现都没有用,因为这个付费直接跳转微信或支付宝,返回无失败痰喘
后来搜索WEIXIN,找到了充值的代码
Screenshot_20201110-220245.png
Screenshot_20201110-220255.png
Screenshot_20201110-220321.png
然后看着代码发了很久的呆,虽然懂点逻辑,但是看着这玩意,真的是懵逼了。总感觉代码这玩意跟妹纸一样,好脱不好上呀。下面上代码
//
// Decompiled by Jadx (from NP Manager)
//
package com.just.agentweb;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Handler.Callback;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.webkit.HttpAuthHandler;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import java.lang.ref.WeakReference;
import java.lang.reflect.Method;
import java.net.URISyntaxException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class DefaultWebClient extends MiddlewareWebClientBase {
    public static final String ALIPAYS_SCHEME = "alipays://";
    private static final String ANDROID_WEBVIEWCLIENT_PATH = "android.webkit.WebViewClient";
    public static final int ASK_USER_OPEN_OTHER_PAGE = 250;
    private static final int CONSTANTS_ABNORMAL_BIG = 7;
    public static final int DERECT_OPEN_OTHER_PAGE = 1001;
    public static final int DISALLOW_OPEN_OTHER_APP = 62;
    private static final boolean HAS_ALIPAY_LIB;
    public static final String HTTPS_SCHEME = "https://";
    public static final String HTTP_SCHEME = "http://";
    public static final String INTENT_SCHEME = "intent://";
    public static final String SCHEME_SMS = "sms:";
    private static final String TAG = "DefaultWebClient";
    public static final String WEBCHAT_PAY_SCHEME = "weixin://wap/pay?";
    private WeakReference<AbsAgentWebUIController> mAgentWebUIController = null;
    private Callback mCallback = null;
    private Set<String> mErrorUrlsSet = new HashSet();
    private boolean mIsInterceptUnkownUrl = true;
    private Object mPayTask;
    private int mUrlHandleWays = ASK_USER_OPEN_OTHER_PAGE;
    private Set<String> mWaittingFinishSet = new HashSet();
    private WeakReference<Activity> mWeakReference = null;
    private WebView mWebView;
    private WebViewClient mWebViewClient;
    private Method onMainFrameErrorMethod = null;
    private boolean webClientHelper = true;
    DefaultWebClient(Builder builder) {
        super(Builder.access$000(builder));
        this.mWebView = Builder.access$100(builder);
        this.mWebViewClient = Builder.access$000(builder);
        this.mWeakReference = new WeakReference(Builder.access$200(builder));
        this.webClientHelper = Builder.access$300(builder);
        this.mAgentWebUIController = new WeakReference(AgentWebUtils.getAgentWebUIControllerByWebView(Builder.access$100(builder)));
        this.mIsInterceptUnkownUrl = Builder.access$400(builder);
        if (Builder.access$500(builder) <= 0) {
            this.mUrlHandleWays = ASK_USER_OPEN_OTHER_PAGE;
        } else {
            this.mUrlHandleWays = Builder.access$500(builder);
        }
    }
    public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
        Object obj;
        r3 = new Class[2];
        boolean z = HAS_ALIPAY_LIB;
        r3[0] = WebView.class;
        r3[1] = WebResourceRequest.class;
        if (!AgentWebUtils.isOverriedMethod(this.mWebViewClient, "shouldOverrideUrlLoading", "android.webkit.WebViewClient.shouldOverrideUrlLoading", r3)) {
            obj = -1;
        } else if (super.shouldOverrideUrlLoading(webView, webResourceRequest)) {
            return true;
        } else {
            obj = 1;
        }
        String uri = webResourceRequest.getUrl().toString();
        if (!uri.startsWith(HTTP_SCHEME)) {
            if (!uri.startsWith(HTTPS_SCHEME)) {
                if (!this.webClientHelper) {
                    return HAS_ALIPAY_LIB;
                }
                if (handleCommonLink(uri)) {
                    return true;
                }
                String str;
                if (uri.startsWith(INTENT_SCHEME)) {
                    handleIntentUrl(uri);           
                    LogUtils.i(TAG, "intent url ");
                    return true;
                } else if (uri.startsWith(WEBCHAT_PAY_SCHEME)) {
                    LogUtils.i(TAG, "lookup wechat to pay ~~");
                    startActivity(uri);
                    return true;
                } else if (uri.startsWith(ALIPAYS_SCHEME) && lookup(uri)) {
                    LogUtils.i(TAG, "alipays url lookup alipay ~~ ");
                    return true;
                } else if (queryActiviesNumber(uri) > 0 && urlOpenWays(uri)) {
                    str = TAG;
                    StringBuilder stringBuilder = new StringBuilder();
                    stringBuilder.append("intercept url:");
                    stringBuilder.append(uri);
                    LogUtils.i(str, stringBuilder.toString());
                    return true;
                } else if (!this.mIsInterceptUnkownUrl) {
                    return obj > null ? HAS_ALIPAY_LIB : super.shouldOverrideUrlLoading(webView, webResourceRequest);
                } else {
                    str = TAG;
                    StringBuilder stringBuilder2 = new StringBuilder();
                    stringBuilder2.append("intercept mIsInterceptUnkownUrl :");
                    stringBuilder2.append(webResourceRequest.getUrl());
                    LogUtils.i(str, stringBuilder2.toString());
                    return true;
                }
            }
        }
        if (this.webClientHelper && HAS_ALIPAY_LIB) {
            z = true;
        }
        return z;
    }
    public boolean shouldOverrideUrlLoading(WebView webView, String str) {
        Object obj;
        r3 = new Class[2];
        boolean z = HAS_ALIPAY_LIB;
        r3[0] = WebView.class;
        r3[1] = String.class;
        if (!AgentWebUtils.isOverriedMethod(this.mWebViewClient, "shouldOverrideUrlLoading", "android.webkit.WebViewClient.shouldOverrideUrlLoading", r3)) {
            obj = -1;
        } else if (super.shouldOverrideUrlLoading(webView, str)) {
            return true;
       } else {
            obj = 1;
        }
        if (!str.startsWith(HTTP_SCHEME)) {
            if (!str.startsWith(HTTPS_SCHEME)) {
                if (!this.webClientHelper) {
                    return HAS_ALIPAY_LIB;
                }
                if (handleCommonLink(str)) {
                    return true;
                }
                if (str.startsWith(INTENT_SCHEME)) {
                    handleIntentUrl(str);
                    return true;
                } else if (str.startsWith(WEBCHAT_PAY_SCHEME)) {
                    startActivity(str);
                    return true;
                } else if (str.startsWith(ALIPAYS_SCHEME) && lookup(str)) {
                    return true;
                } else {
                    if (queryActiviesNumber(str) > 0 && urlOpenWays(str)) {
                        LogUtils.i(TAG, "intercept OtherAppScheme");
                        return true;
                    } else if (!this.mIsInterceptUnkownUrl) {
                        return obj > null ? HAS_ALIPAY_LIB : super.shouldOverrideUrlLoading(webView, str);
                    } else {
                        String str2 = TAG;
                        StringBuilder stringBuilder = new StringBuilder();
                        stringBuilder.append("intercept InterceptUnkownScheme : ");
                        stringBuilder.append(str);
                        LogUtils.i(str2, stringBuilder.toString());
                        return true;
                    }
                }
            }
        }
        if (this.webClientHelper && HAS_ALIPAY_LIB) {
            z = true;
        }
        return z;
    }
    private boolean handleCommonLink(String str) {
        if (!(str.startsWith("tel:") || str.startsWith(SCHEME_SMS) || str.startsWith("mailto:"))) {
            if (!str.startsWith("geo:0,0?q=")) {
                return HAS_ALIPAY_LIB;
            }
        }
        try {
            Activity activity = (Activity) this.mWeakReference.get();
            if (activity == null) {
           return HAS_ALIPAY_LIB;
            }
            Intent intent = new Intent("android.intent.action.VIEW");
            intent.setData(Uri.parse(str));
            activity.startActivity(intent);
            return true;
        } catch (ActivityNotFoundException e) {
            if (AgentWebConfig.DEBUG) {
                e.printStackTrace();
            }
        }
    }
    /* JADX WARNING: Missing block: B:7:0x0037, code:
            if (r0 != null) goto L_0x0039;
     */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    private void onMainFrameError(WebView webView, int i, String str, String str2) {
        this.mErrorUrlsSet.add(str2);
        if (this.mWebViewClient != null && this.webClientHelper) {
            Method method = this.onMainFrameErrorMethod;
            if (method == null) {
                method = AgentWebUtils.isExistMethod(this.mWebViewClient, "onMainFrameError", new Class[]{AbsAgentWebUIController.class, WebView.class, Integer.TYPE, String.class, String.class});
                this.onMainFrameErrorMethod = method;
            }
            try {
                method.invoke(this.mWebViewClient, new Object[]{this.mAgentWebUIController.get(), webView, Integer.valueOf(i), str, str2});
            } catch (Throwable th) {
                if (LogUtils.isDebug()) {
                    th.printStackTrace();
                }
            }
            return;
        }
        if (this.mAgentWebUIController.get() != null) {
            ((AbsAgentWebUIController) this.mAgentWebUIController.get()).onMainFrameError(webView, i, str, str2);
        }
    }
    public void onPageFinished(WebView webView, String str) {
        if (this.mErrorUrlsSet.contains(str) || !this.mWaittingFinishSet.contains(str)) {
            webView.setVisibility(0);
        } else if (this.mAgentWebUIController.get() != null) {
            ((AbsAgentWebUIController) this.mAgentWebUIController.get()).onShowMainFrame();
        }
        if (this.mWaittingFinishSet.contains(str)) {

            this.mWaittingFinishSet.remove(str);
        }
        if (!this.mErrorUrlsSet.isEmpty()) {
            this.mErrorUrlsSet.clear();
        }
        super.onPageFinished(webView, str);
    }
    private boolean lookup(String str) {
        try {
            Activity activity = (Activity) this.mWeakReference.get();
            if (activity == null) {
                return true;
            }
            PackageManager packageManager = activity.getPackageManager();
            Intent parseUri = Intent.parseUri(str, 1);
            if (packageManager.resolveActivity(parseUri, 65536) != null) {
                activity.startActivity(parseUri);
                return true;
            }
            return HAS_ALIPAY_LIB;
        } catch (Throwable th) {
            if (LogUtils.isDebug()) {
                th.printStackTrace();
            }
        }
    }
    private int queryActiviesNumber(String str) {
        try {
            if (this.mWeakReference.get() == null) {
                return 0;
            }
            List queryIntentActivities = ((Activity) this.mWeakReference.get()).getPackageManager().queryIntentActivities(Intent.parseUri(str, 1), 65536);
            return queryIntentActivities == null ? 0 : queryIntentActivities.size();
        } catch (URISyntaxException e) {
            if (LogUtils.isDebug()) {
                e.printStackTrace();
            }
            return 0;
        }
    }
    private void startActivity(String str) {
        try {
            if (this.mWeakReference.get() != null) {
                Intent intent = new Intent();
                intent.setAction("android.intent.action.VIEW");
                intent.setData(Uri.parse(str));
                ((Activity) this.mWeakReference.get()).startActivity(intent);
            }
        } catch (Exception e) {
            if (LogUtils.isDebug()) {
                e.printStackTrace();
            }
        }
    }
    private boolean urlOpenWays(String str) {
        int i = this.mUrlHandleWays;
        if (i == ASK_USER_OPEN_OTHER_PAGE) {
            if (this.mAgentWebUIController.get() != null) {
                ((AbsAgentWebUIController) this.mAgentWebUIController.get()).onOpenPagePrompt(this.mWebView, this.mWebView.getUrl(), getCallback(str));
            }
            return true;
        } else if (i != DERECT_OPEN_OTHER_PAGE) {
            return HAS_ALIPAY_LIB;
        } else {
            lookup(str);
            return true;
        }
    }
    public void onReceivedError(WebView webView, WebResourceRequest webResourceRequest, WebResourceError webResourceError) {
        if (AgentWebUtils.isOverriedMethod(this.mWebViewClient, "onReceivedError", "android.webkit.WebViewClient.onReceivedError", new Class[]{WebView.class, WebResourceRequest.class, WebResourceError.class})) {
            super.onReceivedError(webView, webResourceRequest, webResourceError);
        }
        if (webResourceRequest.isForMainFrame()) {
            onMainFrameError(webView, webResourceError.getErrorCode(), webResourceError.getDescription().toString(), webResourceRequest.getUrl().toString());
        }
        String str = TAG;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("onReceivedError:");
        stringBuilder.append(webResourceError.toString());
        LogUtils.i(str, stringBuilder.toString());
    }
    private void handleIntentUrl(String str) {
        try {
            if (!TextUtils.isEmpty(str)) {
                if (str.startsWith(INTENT_SCHEME)) {
                    if (!lookup(str)) {
                    }
                }
            }

       } catch (Throwable th) {
            if (LogUtils.isDebug()) {
                th.printStackTrace();
            }
        }
    }
    public void onReceivedError(WebView webView, int i, String str, String str2) {
        if (AgentWebUtils.isOverriedMethod(this.mWebViewClient, "onReceivedError", "android.webkit.WebViewClient.onReceivedError", new Class[]{WebView.class, Integer.TYPE, String.class, String.class})) {
            super.onReceivedError(webView, i, str, str2);
        }
        String str3 = TAG;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("onReceivedError:");
        stringBuilder.append(str);
        stringBuilder.append("  CODE:");
        stringBuilder.append(i);
        LogUtils.i(str3, stringBuilder.toString());
        onMainFrameError(webView, i, str, str2);
    }
    public void onScaleChanged(WebView webView, float f, float f2) {
        if (AgentWebUtils.isOverriedMethod(this.mWebViewClient, "onScaleChanged", "android.webkit.WebViewClient.onScaleChanged", new Class[]{WebView.class, Float.TYPE, Float.TYPE})) {
            super.onScaleChanged(webView, f, f2);
            return;
        }
        String str = TAG;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("onScaleChanged:");
        stringBuilder.append(f);
        stringBuilder.append("   n:");
        stringBuilder.append(f2);
        LogUtils.i(str, stringBuilder.toString());
        if (f2 - f > 7.0f) {
            webView.setInitialScale((int) ((f / f2) * 100.0f));
   }
    }
    static {
        boolean z;
        try {
            Class.forName("com.alipay.sdk.app.PayTask");
            z = true;
        } catch (Throwable unused) {
            z = HAS_ALIPAY_LIB;
        }
        HAS_ALIPAY_LIB = z;
        String str = TAG;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("HAS_ALIPAY_LIB:");
        stringBuilder.append(HAS_ALIPAY_LIB);
        LogUtils.i(str, stringBuilder.toString());
    }
    private Callback getCallback(String str) {
        if (this.mCallback != null) {
            return this.mCallback;
        }
        1 1 = new 1(this, str);
        this.mCallback = 1;
        return 1;
    }
    public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
        if (!this.mWaittingFinishSet.contains(str)) {
            this.mWaittingFinishSet.add(str);
        }
        super.onPageStarted(webView, str, bitmap);
    }
    public static Builder createBuilder() {
        return new Builder();
    }
    public void onReceivedHttpAuthRequest(WebView webView, HttpAuthHandler httpAuthHandler, String str, String str2) {
        super.onReceivedHttpAuthRequest(webView, httpAuthHandler, str, str2);
    }
    public void onReceivedHttpError(WebView webView, WebResourceRequest webResourceRequest, WebResourceResponse webResourceResponse) {
        super.onReceivedHttpError(webView, webResourceRequest, webResourceResponse);
    }
    public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
        return super.shouldInterceptRequest(webView, webResourceRequest);
    }
    public WebResourceResponse shouldInterceptRequest(WebView webView, String str) {
        return super.shouldInterceptRequest(webView, str);
    }
    public boolean shouldOverrideKeyEvent(WebView webView, KeyEvent keyEvent) {
        return super.shouldOverrideKeyEvent(webView, keyEvent);
    }
}

不知道怎么弄成别的代码的文档,只能复制直接传了,转JAVA才能复制,看别人改的都简单的很,自己真心有点懵,求大佬看看再哪里动下手脚就可以了!万分感谢!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| Captain° 发表于 2020-11-11 08:30
又找个购买的文件,也试了半天,搞不定内购,有没有大佬给个负购买的破解程序方法也行呀

//
// Decompiled by Jadx (from NP Manager)
//
package com.jfkj.manhua.ui;

import android.content.Intent;
import android.net.Uri;
import android.os.Handler;
import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AlertDialog.Builder;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Html;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import butterknife.BindView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.jfkj.manhua.ad_com.AdManager;
import com.jfkj.manhua.adapter.ComicPictureRvAdapter;
import com.jfkj.manhua.adapter.HeaderAndFooterWrapper;
import com.jfkj.manhua.base.BaseToolbarActivity;
import com.jfkj.manhua.been.AdBeen.Ad;
import com.jfkj.manhua.been.ComicBeen;
import com.jfkj.manhua.been.Episode;
import com.jfkj.manhua.constants.Constant;
import com.jfkj.manhua.constract.GetComicPictureConstract.View;
import com.jfkj.manhua.presenter.GetComicPicturePresenterImpl;
import com.jfkj.manhua.ucm.UcmManager;
import com.jfkj.manhua.utils.ComicLog;
import com.jfkj.manhua.utils.NormalTool;
import com.jfkj.manhua.utils.OkHttpUtil;
import com.jfkj.manhua.utils.ProgressDialogUtil;
import com.jfkj.manhua.utils.SPUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;

public class ComicPictureActivity extends BaseToolbarActivity implements View {
    public static final int AD_COUNT = 3;
    public static int FIRST_AD_POSITION = 4;
    public static int ITEMS_PER_AD = 5;
    public static final int MAX_ITEMS = 50;
    private static final String TAG = "ComicPictureActivity";
    public static final String action = "historyupdate.broadcast.action";
    private boolean hasPause = false;
    private List<? extends android.view.View> mAdViewList;
    private HashMap<android.view.View, Integer> mAdViewPositionMap = new HashMap();
    private ComicPictureRvAdapter mAdapter;
    private String mCartoonID;
    private ComicBeen mComicBeen;
    private int mCurrentPos = 0;
    private Episode mEpisode;
    private List<Episode> mEpisodeList;
    private HeaderAndFooterWrapper mHeaderAndFooterWrapper;
    private GetComicPicturePresenterImpl mPresenter;
    @BindView(2131230960)
    RecyclerView mRvPicture;
    private List<String> mUrlList;
    private WebView mWebView;

    private void initHeaderAndFooter() {
        this.mHeaderAndFooterWrapper = new HeaderAndFooterWrapper(this.mAdapter);
        android.view.View inflate = LayoutInflater.from(this).inflate(2131361863, this.mRvPicture, false);
        LinearLayout linearLayout = (LinearLayout) inflate.findViewById(2131230750);
        if (!(ComicApplication.getmAdBeen() == null || ComicApplication.getmAdBeen().getChapter() == null || ComicApplication.getmAdBeen().getChapter().size() <= 0)) {
            ArrayList chapter = ComicApplication.getmAdBeen().getChapter();
            Ad ad = (Ad) chapter.get(new Random().nextInt(chapter.size()));
            if (ad != null) {
                linearLayout.setVisibility(0);
                int screenWidth = NormalTool.getScreenWidth(ComicApplication.getContext());
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.append("screen X:");
                stringBuilder.append(screenWidth);
                ComicLog.e(stringBuilder.toString());
                if (ad.getAd_type().equals("img")) {
                    SimpleDraweeView simpleDraweeView = new SimpleDraweeView(this);
                    LayoutParams layoutParams = new LayoutParams(screenWidth, -2);
                    layoutParams.setMargins(20, 10, 20, 10);
                    linearLayout.addView(simpleDraweeView, layoutParams);
                    NormalTool.setControllerListener(simpleDraweeView, ad.getImg(), screenWidth);
                    simpleDraweeView.setOnClickListener(new 5(this, ad));
                } else if (ad.getAd_type().equals("text")) {
                    TextView textView = new TextView(this);
                    textView.setText(Html.fromHtml(ad.getText()));
                    RelativeLayout relativeLayout = new RelativeLayout(this);
                    RelativeLayout.LayoutParams layoutParams2 = new LayoutParams(-2, -2);
                    layoutParams2.addRule(14);
                    relativeLayout.addView(textView, layoutParams2);
                    LayoutParams layoutParams3 = new LayoutParams(screenWidth, -2);
                    layoutParams3.setMargins(20, 10, 20, 10);
                    linearLayout.addView(relativeLayout, layoutParams3);
                    textView.setOnClickListener(new 5(this, ad));
                }
            }
        }
        ((Button) inflate.findViewById(2131230781)).setOnClickListener(new 7(this));
        ((Button) inflate.findViewById(2131230779)).setOnClickListener(new 8(this));
        ((Button) inflate.findViewById(2131230780)).setOnClickListener(new 9(this));
        this.mHeaderAndFooterWrapper.addFootView(inflate);
        this.mRvPicture.setAdapter(this.mHeaderAndFooterWrapper);
    }

    protected void initView() {
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        setTitle(this.mEpisode.getTitle());
        this.mRvPicture.setLayoutManager(new LinearLayoutManager(this, 1, false));
        this.mRvPicture.setItemAnimator(new DefaultItemAnimator());
        ProgressDialogUtil.showDefaultDialog(this);
        this.mPresenter.getScriptData(this.mCartoonID, this.mEpisode.getNo());
        initHeaderAndFooter();
        int intValue = Integer.valueOf(this.mEpisode.getCost()).intValue();
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("cost:");
        stringBuilder.append(intValue);
        ComicLog.e(stringBuilder.toString());
        if (intValue <= 0 && UcmManager.getInstance().getConfig(UcmManager.CONFIG_AD_OPEN_3).equals("1")) {
            ComicLog.e("CONFIG_AD_OPEN_3:", "1");
            if (UcmManager.getInstance().getConfig(UcmManager.CONFIG_AD_SWITCH_3).equals("0")) {
                ComicLog.e("CONFIG_AD_SWITCH_3:", "0");
                AdManager.geInstance().fetchAd(this, 4);
                new Handler().postDelayed(new 2(this), 5000);
            } else if (UcmManager.getInstance().getConfig(UcmManager.CONFIG_AD_SWITCH_3).equals("1")) {
                ConstraintLayout constraintLayout = (ConstraintLayout) findViewById(2131230809);
                SimpleDraweeView simpleDraweeView = (SimpleDraweeView) findViewById(2131230753);
                String config = UcmManager.getInstance().getConfig("xiangqing_pic_1");
                String config2 = UcmManager.getInstance().getConfig("xiangqing_gourl_1");
                if (!(TextUtils.isEmpty(config) || TextUtils.isEmpty(config2))) {
                    constraintLayout.setVisibility(0);
                    simpleDraweeView.setImageURI(Uri.parse(config));
                    simpleDraweeView.setOnClickListener(new 3(this, config2, constraintLayout));
                    ((ImageView) findViewById(2131230800)).setOnClickListener(new 4(this, constraintLayout));
                }
            }
        }
    }

    public boolean onOptionsItemSelected(MenuItem menuItem) {
        int i = 1;
        switch (menuItem.getItemId()) {
            case 16908332:
                finish();
                return true;
            case 2131230916:
                onPreClick();
                break;
            case 2131230918:
                try {
                    String string = SPUtil.getString("cur_domain", "默认源");
                    String config = UcmManager.getInstance().getConfig("backurl_pic_key_1");
                    String config2 = UcmManager.getInstance().getConfig("backurl_pic_key_2");
                    Builder builder = new Builder(this);
                    builder.setTitle("切换图片源");
                    String[] strArr = TextUtils.isEmpty(config) ? new String[]{"默认源"} : TextUtils.isEmpty(config2) ? new String[]{"默认源", "线路1"} : new String[]{"默认源", "线路1", "线路2"};
                    if (string.equals("默认源")) {
                        i = 0;
                    } else {
                        if (string.equals(config)) {
                            if (strArr.length > 1) {
                            }
                        } else if (string.equals(config2) && strArr.length > 2) {
                            i = 2;
                        }
                        i = -1;
                    }
                    builder.setSingleChoiceItems(strArr, i, new 17(this, strArr, config, config2));
                    builder.show();
                    break;
                } catch (Exception e) {
                    e.printStackTrace();
                    break;
                }
            case 2131230920:
                onNextClick();
                break;
            case 2131230923:
                this.mPresenter.getScriptData(this.mCartoonID, this.mEpisode.getNo());
                break;
            default:
                break;
        }
        return super.onOptionsItemSelected(menuItem);
    }

    public void getError(String str, int i) {
        ProgressDialogUtil.dismiss();
        if (i == 0) {
            showToast(str);
        } else if (i == 1) {
            new Builder(this).setTitle("提示").setMessage("钻石不足,是否充值").setNegativeButton("退出", new 13(this)).setPositiveButton("充值", new 12(this)).create().show();
        } else if (i == 2) {
            new Builder(this).setTitle("提示").setMessage("是否登陆").setNegativeButton("取消", new 15(this)).setPositiveButton("确定", new 14(this)).create().show();
        } else if (i == 3) {
            Intent intent = new Intent(this, MoreBookActivity.class);
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append(this.mCartoonID);
            stringBuilder.append("");
            intent.putExtra("cartoon_id", stringBuilder.toString());
            startActivity(intent);
            finish();
        }
    }

    private void onNextClick() {
        Intent intent;
        if (this.mCurrentPos >= this.mEpisodeList.size() - 1) {
            Toast.makeText(this, "当前是最后一章了", 0).show();
            intent = new Intent(this, MoreBookActivity.class);
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append(this.mCartoonID);
            stringBuilder.append("");
            intent.putExtra("cartoon_id", stringBuilder.toString());
            startActivity(intent);
            finish();
            return;
        }
        intent = new Intent(this, ComicPictureActivity.class);
        intent.putExtra("Episode", (Serializable) this.mEpisodeList.get(this.mCurrentPos + 1));
        intent.putExtra("Cartoon_id", this.mCartoonID);
        intent.putExtra("Episodes", (Serializable) this.mEpisodeList);
        intent.putExtra("Position", this.mCurrentPos + 1);
        intent.putExtra("comicBeen", this.mComicBeen);
        startActivity(intent);
    }

    protected void initData() {
        this.mEpisode = (Episode) getIntent().getSerializableExtra("Episode");
        this.mCartoonID = getIntent().getStringExtra("Cartoon_id");
        this.mComicBeen = (ComicBeen) getIntent().getSerializableExtra("comicBeen");
        this.mEpisodeList = (List) getIntent().getSerializableExtra("Episodes");
        this.mCurrentPos = getIntent().getIntExtra("Position", 0);
        ComicBeen comicBeen = this.mComicBeen;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(this.mCurrentPos);
        stringBuilder.append("");
        comicBeen.setLastReadPoint(stringBuilder.toString());
        this.mPresenter = new GetComicPicturePresenterImpl(this);
        this.mUrlList = new ArrayList();
        this.mAdapter = new ComicPictureRvAdapter();
        this.mAdapter.updateData(this.mUrlList);
        saveHistoryRead(this.mComicBeen, this.mCurrentPos, this.mEpisode.getTitle());
    }

    private void onPreClick() {
        if (this.mCurrentPos <= 0) {
            Toast.makeText(this, "当前是第一章", 0).show();
            return;
        }
        Intent intent = new Intent(this, ComicPictureActivity.class);
        intent.putExtra("Episode", (Serializable) this.mEpisodeList.get(this.mCurrentPos - 1));
        intent.putExtra("Cartoon_id", this.mCartoonID);
        intent.putExtra("Episodes", (Serializable) this.mEpisodeList);
        intent.putExtra("Position", this.mCurrentPos - 1);
        intent.putExtra("comicBeen", this.mComicBeen);
        startActivity(intent);
    }

    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        initData();
        initView();
        initListener();
    }

    public static String getDomain(String str) {
        String str2 = "";
        if (TextUtils.isEmpty(str) || !str.startsWith("http")) {
            return str2;
        }
        try {
            str = Uri.parse(str).getHost();
            return (TextUtils.isEmpty(str) || !str.contains(".")) ? str2 : str.substring(str.indexOf(".") + 1, str.length());
        } catch (Exception unused) {
            return str2;
        }
    }

    private void beginChongzhi() {
        HashMap generateParams = NormalTool.generateParams("common.getpayurl");
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("common.getpayurl params:");
        stringBuilder.append(generateParams.toString());
        ComicLog.e(stringBuilder.toString());
        OkHttpUtil.getInstance().postAsync(Constant.PUBLISH_SERVER, new 16(this), generateParams);
    }

    protected void onPause() {
        super.onPause();
        ComicLog.e("onPause");
        this.hasPause = true;
    }

    protected void onResume() {
        super.onResume();
        ComicLog.e("onResume");
        this.hasPause = false;
    }

    protected void onStop() {
        super.onStop();
        ComicLog.e("onStop");
        this.hasPause = true;
    }

    private void onMuluClick() {
        startActivity(new Intent(this, ComicItemActivity.class));
    }

    private void saveHistoryRead(ComicBeen comicBeen, int i, String str) {
        new Thread(new 1(this, comicBeen, i, str)).start();
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(2131427330, menu);
        return super.onCreateOptionsMenu(menu);
    }

    protected void onDestroy() {
        super.onDestroy();
        this.hasPause = true;
    }

    public void getComicPictureSuccess(List<String> list) {
        runOnUiThread(new 11(this, list));
    }

    protected void initListener() {
        this.mAdapter.setOnClickHolderInside(new 10(this));
    }

    public void getScriptDataSuccess(String str) {
    }

    protected int setLayoutResID() {
        return 2131361820;
    }
}
 楼主| Captain° 发表于 2020-11-11 10:00
java里面的内容大概倒是看得懂,if语句里面的判定结果全部改成支付成功的判定,但是切换到dex里面就不知道怎么改了
一别两宽丶 发表于 2020-11-19 12:22
Sighcome 发表于 2020-11-19 23:18
dex的if语句主要是通过比较(通常是跟0比较)来实行的,楼主可以多看看类似eqz,nez之类的关键词
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 21:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表