吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1485|回复: 47
上一主题 下一主题
收起左侧

[Android 原创] 某英语学习app火龙果解锁PLUS部分功能,有翻译次数限制

[复制链接]
跳转到指定楼层
楼主
ENENenne 发表于 2024-11-12 14:17 回帖奖励
本帖最后由 ENENenne 于 2024-11-12 15:15 编辑



真题解锁:arsc搜索“解锁全部试题”





复制exam_lock_membership_hint然后在classes里搜索exam_lock_membership_hint



点画红圈的第一个





跳转可疑代码canAccess


使这个方法直接返回1
return v1前添加一行const/4 v1, 0x1



这样解锁真题就成功了


但是翻译没几句话就要你充会员了

arsc里搜索“查看翻译和讲解”

然后在classes里搜check_translation_analysis

找到最后一个导航栏长按转java看

这都是提示要升会员的代码所以我往上找

长按点击查看调用处,只有一个结果,点进去,转java看



有可疑代码lb.a0,跳转然后a0方法转java

所以要让它结果返回true
在return v0前添加const/4 v0, 0x1




然后发现了Y和a0方法内容差不多,就是返回值不同

所以改成返回false就行
就是在return v0前添加const/4 v0, 0x0
改完这两个方法一些单词的plus功能就能成功了
但是翻译还是限制数量(一天翻译完10个就不行了)又返回去看



长句翻译应该就是itemViewType == 2时的这条路径





然后看这个流程修改了很多地方都没有成功,求求大佬看一下
这个翻译长句每天只能10次,超过次数就提示“查看翻译和讲解”,每天0点才重新开始
下面是转为java的代码
[Java] 纯文本查看 复制代码
//
// Decompiled by Jadx (from NP Manager)
//
package com.mobile.shannon.pax.dictionary.sentence;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.camera.camera2.interop.e;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.carlos.voiceline.mylibrary.VoiceLineView;
import com.chad.library.adapter.base.BaseViewHolder;
import com.mobile.shannon.pax.PaxApplication;
import com.mobile.shannon.pax.PaxApplication.a;
import com.mobile.shannon.pax.PaxBaseActivity;
import com.mobile.shannon.pax.R;
import com.mobile.shannon.pax.aigc.r;
import com.mobile.shannon.pax.controllers.ib;
import com.mobile.shannon.pax.controllers.lb;
import com.mobile.shannon.pax.entity.read.ReadMark;
import com.mobile.shannon.pax.entity.user.UserInfo;
import com.mobile.shannon.pax.read.appearance.c;
import com.mobile.shannon.pax.read.readmark.OpenThoughtReplyAdapter;
import com.mobile.shannon.pax.widget.f;
import com.mobile.shannon.pax.widget.getwordtextview.GetWordTextView;
import java.io.File;
import java.util.ArrayList;
import kotlin.jvm.internal.i;
import kotlin.jvm.internal.t;
import kotlin.jvm.internal.x;
import kotlinx.coroutines.a0;
import s6.f1;
import w4.d;
import x0.b;

public final class SentenceMultiFunctionAdapter {
    /* JADX WARNING: Removed duplicated region for block: B:111:0x03ce  */
    /* JADX WARNING: Removed duplicated region for block: B:110:0x03cd  */
    /* JADX WARNING: Removed duplicated region for block: B:144:? A:{SYNTHETIC, RETURN} */
    /* JADX WARNING: Removed duplicated region for block: B:122:0x0408  */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public final void convert(BaseViewHolder baseViewHolder, Object obj) {
        BaseViewHolder baseViewHolder2 = baseViewHolder;
        w wVar = (w) obj;
        i.f(baseViewHolder2, "helper");
        i.f(wVar, "item");
        int itemViewType = baseViewHolder.getItemViewType();
        int i = 1;
        Object obj2;
        Context context;
        if (itemViewType != 1) {
            CharSequence charSequence = "";
            d dVar;
            TextView textView;
            ViewGroup viewGroup;
            int intValue;
            ImageView imageView;
            if (itemViewType == 2) {
                obj2 = wVar.b;
                dVar = obj2 instanceof d ? (d) obj2 : null;
                if (dVar != null) {
                    TextView textView2;
                    f fVar;
                    t tVar;
                    String str = (String) dVar.c();
                    CharSequence charSequence2 = str == null ? charSequence : str;
                    String str2 = (String) dVar.d();
                    View view = baseViewHolder2.getView(R.id.mCheckBtn);
                    textView = (TextView) baseViewHolder2.getView(R.id.mCheckBtnTv);
                    ViewGroup viewGroup2 = (ViewGroup) baseViewHolder2.getView(R.id.mTranslationLayout);
                    viewGroup = (ViewGroup) baseViewHolder2.getView(R.id.mTranslationLoadingLayout);
                    TextView textView3 = (TextView) baseViewHolder2.getView(R.id.mTranslationTv);
                    ViewGroup viewGroup3 = (ViewGroup) baseViewHolder2.getView(R.id.mAnalysisLayout);
                    TextView textView4 = (TextView) baseViewHolder2.getView(R.id.mAnalysisTv);
                    context = this.mContext;
                    ib.a.getClass();
                    Drawable drawable = ContextCompat.getDrawable(context, ib.i() ? R.drawable.ic_vip_plus_dark : R.drawable.ic_vip_plus_light);
                    i.c(drawable);
                    drawable.setBounds(0, 0, 90, 45);
                    f fVar2 = new f(drawable);
                    lb.a.getClass();
                    if (lb.a0()) {
                        i.e(viewGroup2, "mTranslationLayout");
                        w3.f.s(viewGroup2, true);
                    }
                    if (lb.a0()) {
                        i.e(view, "setupTranslation$lambda$23");
                        w3.f.c(view, true);
                    }
                    view.setOnClickListener(new b(7, this));
                    t tVar2 = new t();
                    t tVar3 = new t();
                    t tVar4 = new t();
                    tVar4.element = true;
                    t tVar5 = tVar4;
                    TextView textView5 = textView4;
                    f fVar3 = fVar2;
                    u uVar = new u(tVar4, textView, this, view, tVar2, tVar3);
                    v vVar = new v(viewGroup2, viewGroup, textView3, fVar3);
                    if ((kotlin.text.i.h1(charSequence2) ^ 1) != 0) {
                        if (lb.a0()) {
                            if (str2 != null) {
                                if (!kotlin.text.i.h1(str2)) {
                                    obj2 = null;
                                    if (obj2 != null) {
                                        vVar.invoke(str2);
                                    }
                                }
                            }
                            obj2 = 1;
                            if (obj2 != null) {
                            }
                        }
                        context = this.mContext;
                        a0 a0Var = context instanceof PaxBaseActivity ? (PaxBaseActivity) context : null;
                        if (a0Var != null) {
                            textView2 = textView5;
                            fVar = fVar3;
                            f1.m0(a0Var, null, new r(this, charSequence2, vVar, uVar, viewGroup, tVar2, null), 3);
                            tVar = new t(viewGroup3, textView2, fVar);
                            if ((kotlin.text.i.h1(charSequence2) ^ 1) == 0) {
                                context = this.mContext;
                                a0 a0Var2 = context instanceof PaxBaseActivity ? (PaxBaseActivity) context : null;
                                if (a0Var2 != null) {
                                    f1.m0(a0Var2, null, new s(charSequence2, tVar5, tVar, uVar, viewGroup3, tVar3, null), 3);
                                    return;
                                }
                                return;
                            }
                            return;
                        }
                    }
                    textView2 = textView5;
                    fVar = fVar3;
                    tVar = new t(viewGroup3, textView2, fVar);
                    if ((kotlin.text.i.h1(charSequence2) ^ 1) == 0) {
                    }
                } else {
                    return;
                }
            } else if (itemViewType == 3) {
                obj2 = wVar.b;
                dVar = obj2 instanceof d ? (d) obj2 : null;
                if (dVar != null) {
                    itemViewType = ((Number) dVar.c()).intValue();
                    intValue = ((Number) dVar.d()).intValue();
                    textView = (TextView) baseViewHolder2.getView(R.id.mThoughtCountTv);
                    TextView textView6 = (TextView) baseViewHolder2.getView(R.id.mQuestionCountTv);
                    i.e(textView, "setupThoughtDivider$lambda$18");
                    w3.f.c(textView, itemViewType <= 0);
                    StringBuilder stringBuilder = new StringBuilder();
                    stringBuilder.append(itemViewType);
                    stringBuilder.append(com.mobile.shannon.pax.util.d.a() ? " thoughts" : "想法");
                    textView.setText(stringBuilder.toString());
                    textView.setOnClickListener(new c(textView, this, textView6, 0));
                    i.e(textView6, "setupThoughtDivider$lambda$20");
                    w3.f.c(textView6, intValue <= 0);
                    StringBuilder stringBuilder2 = new StringBuilder();
                    stringBuilder2.append(intValue);
                    stringBuilder2.append(com.mobile.shannon.pax.util.d.a() ? " questions" : "问题");
                    textView6.setText(stringBuilder2.toString());
                    textView6.setOnClickListener(new c(textView, this, textView6, 1));
                    return;
                }
                return;
            } else if (itemViewType == 4) {
                obj2 = wVar.b;
                ReadMark readMark = obj2 instanceof ReadMark ? (ReadMark) obj2 : null;
                if (readMark != null) {
                    CharSequence valueOf;
                    int i2;
                    x xVar = new x();
                    t tVar6 = new t();
                    imageView = (ImageView) baseViewHolder2.getView(R.id.mUserIconIv);
                    i.e(imageView, "setupThought$lambda$3");
                    w3.f.h(imageView, Integer.valueOf(R.drawable.ic_default_head_icon), readMark.getFigureUrl());
                    imageView.setOnClickListener(new d(this, readMark, 0));
                    TextView textView7 = (TextView) baseViewHolder2.getView(R.id.mUserNameTv);
                    textView7.setText(readMark.getUsername());
                    textView7.setOnClickListener(new d(this, readMark, 1));
                    baseViewHolder2.setText(R.id.mCommentTv, readMark.getMarkContent());
                    intValue = R.id.mLikeCountTv;
                    if (readMark.getLikeCount() > 0) {
                        valueOf = String.valueOf(readMark.getLikeCount());
                    } else {
                        PaxApplication paxApplication = PaxApplication.a;
                        valueOf = a.a().getString(R.string.like);
                        i.e(valueOf, "PaxApplication.sApplicat…string.like\n            )");
                    }
                    baseViewHolder2.setText(intValue, valueOf);
                    imageView = (ImageView) baseViewHolder2.getView(R.id.mLikeIv);
                    imageView.setImageResource(readMark.isLike() ? R.drawable.ic_like_pink : R.drawable.ic_like_gray);
                    imageView.setOnClickListener(new d(readMark, this));
                    intValue = R.id.mTimeTv;
                    Long valueOf2 = Long.valueOf(readMark.getCreateTime());
                    if (valueOf2 != null) {
                        charSequence = androidx.activity.result.a.c(valueOf2.longValue(), (long) 1000, "yyyy-MM-dd HH:mm", "millis2String(timestamp * 1000, pattern)");
                    }
                    baseViewHolder2.setText(intValue, charSequence);
                    textView7 = (TextView) baseViewHolder2.getView(R.id.mReplyTv);
                    PaxApplication paxApplication2 = PaxApplication.a;
                    textView7.setText(a.a().getString(R.string.reply));
                    textView7.setOnClickListener(new r(this, readMark, xVar, 5));
                    textView7 = (TextView) baseViewHolder2.getView(R.id.mDeleteBtn);
                    lb.a.getClass();
                    UserInfo userInfo = lb.e;
                    Object obj3 = (userInfo == null || readMark.getUid() != userInfo.getId()) ? null : 1;
                    String str3 = "setupThought$lambda$11";
                    if (obj3 != null) {
                        i.e(textView7, str3);
                        w3.f.s(textView7, true);
                        textView7.setOnClickListener(new r(this, readMark, baseViewHolder2, 6));
                    } else {
                        i.e(textView7, str3);
                        w3.f.c(textView7, true);
                    }
                    TextView textView8 = (TextView) baseViewHolder2.getView(R.id.mExpandTv);
                    String str4 = "setupThought$lambda$13";
                    if (readMark.getReplyList().size() > 2) {
                        i.e(textView8, str4);
                        w3.f.s(textView8, true);
                        if (tVar6.element) {
                            context = this.mContext;
                            i2 = R.string.collapse_replies;
                        } else {
                            context = this.mContext;
                            i2 = R.string.expand_more_replies;
                        }
                        textView8.setText(context.getString(i2));
                        textView8.setOnClickListener(new e(tVar6, textView8, this, xVar, readMark, 0));
                    } else {
                        i.e(textView8, str4);
                        w3.f.c(textView8, true);
                    }
                    RecyclerView recyclerView = (RecyclerView) baseViewHolder2.getView(R.id.mReplyList);
                    recyclerView.setHasFixedSize(true);
                    recyclerView.setLayoutManager(new LinearLayoutManager(this.mContext));
                    i2 = readMark.getReplyList().size();
                    if (i2 < 0 || i2 >= 3) {
                        i = 0;
                    }
                    OpenThoughtReplyAdapter openThoughtReplyAdapter = new OpenThoughtReplyAdapter(i != 0 ? readMark.getReplyList() : readMark.getReplyList().subList(0, 2));
                    xVar.element = openThoughtReplyAdapter;
                    openThoughtReplyAdapter.a = readMark.getCommentId();
                    openThoughtReplyAdapter.setOnItemLongClickListener(new e(this, openThoughtReplyAdapter, 9));
                    openThoughtReplyAdapter.b = new q(readMark);
                    recyclerView.setAdapter(openThoughtReplyAdapter);
                    return;
                }
                return;
            } else if (itemViewType == 5) {
                ViewGroup viewGroup4 = (ViewGroup) baseViewHolder2.getView(R.id.mRecordBtn);
                ViewGroup viewGroup5 = (ViewGroup) baseViewHolder2.getView(R.id.mPressRecordBtn);
                VoiceLineView voiceLineView = (VoiceLineView) baseViewHolder2.getView(R.id.mVoiceLineView);
                viewGroup = (ViewGroup) baseViewHolder2.getView(R.id.mFollowPlayBtn);
                imageView = (ImageView) baseViewHolder2.getView(R.id.mFollowPlayIv1);
                File file = new File(this.mContext.getCacheDir(), "temp_follow_read_audio.amr");
                j jVar = new j(file, imageView);
                t tVar7 = new t();
                x xVar2 = new x();
                xVar2.element = new g(voiceLineView, tVar7, xVar2);
                viewGroup4.setOnTouchListener(new a(this, viewGroup4, viewGroup5, voiceLineView, xVar2, file, tVar7, viewGroup, jVar));
                viewGroup.setOnClickListener(new b(jVar, 0));
                return;
            } else {
                return;
            }
        }
        PaxBaseActivity paxBaseActivity = null;
        obj2 = wVar.b;
        GetWordTextView getWordTextView = (GetWordTextView) baseViewHolder2.getView(R.id.mSentenceTv);
        getWordTextView.setText(obj2 instanceof String ? (String) obj2 : null);
        ArrayList arrayList = com.mobile.shannon.pax.dictionary.f.a;
        context = this.mContext;
        if (context instanceof PaxBaseActivity) {
            paxBaseActivity = (PaxBaseActivity) context;
        }
        com.mobile.shannon.pax.dictionary.f.b(getWordTextView, paxBaseActivity, null, null, null, null, null, null, null, null, 1020);
        c.b(getWordTextView);
    }
}

Screenshot_20241112_132345.jpg (376.28 KB, 下载次数: 0)

Screenshot_20241112_132345.jpg

免费评分

参与人数 4吾爱币 +10 热心值 +3 收起 理由
alkbx + 1 用心讨论,共获提升!
yimarong + 1 + 1 用心讨论,共获提升!
love66550 + 1 + 1 厉害
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

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

推荐
alkbx 发表于 2024-11-18 21:38
欢迎新人,教程非常棒棒哒!看了通篇的教程,你说的那个每天只能翻译10次很有可能是服务器验证的,本地过不去也就只能使用10次,能用本地功能已经很不错了
沙发
youyou199104 发表于 2024-11-12 15:56
3#
AiniWang 发表于 2024-11-12 15:56
4#
Tavarua 发表于 2024-11-12 16:20
可以可以,下载学习一下
5#
mx5017 发表于 2024-11-12 16:29
这个软件收费吗
6#
ydb1988 发表于 2024-11-12 16:32
可以可以,下载学习一下
7#
yuyuanju 发表于 2024-11-12 16:35
下载学习,感谢思路,正巧需要这个功能
8#
Zsw0126 发表于 2024-11-12 17:00
来学习学习思路
9#
YHLS 发表于 2024-11-12 17:12
感谢楼主
10#
宁致远 发表于 2024-11-12 17:15
正巧需要这个功能,下载学习一下!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 08:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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