《永恒战士2-无双战神》无限金币版(提供apk下载)安卓Android逆向记录学习-Deepseek-AI辅助
《永恒战士2-无双战神》无限金币版(提供apk下载)安卓Android逆向记录学习-Deepseek-AI辅助
不知道会不会有人来技术论坛找一个10几年前的游戏安装包
我是前段时间,突然想起来这个游戏,上网搜,网上都说有
那我就去找,找来找去只找到一个移动改过的包,起码能用
玩了一会感觉不充钱没意思,再去搜索全都是骗人的用不了的
所以作为一个“干技术活的极客”我决定自己干
提示:免责声明:仅用于学习,个人本地游玩,请勿用于大面积分发,盈利等。
安装包
估计很多人下载完就走了,也正常。有兴趣的可以看看操作的过程和具体逆向的过程
网上其他的不知道,但是这个可以保证没有病毒,而且亲测可用,下面有对应照片和视频
普通版:通过网盘分享的文件:永恒战士2无双战神-普通版.apk
链接: https://pan.baidu.com/s/1fJKwiHGIIAmC1nSMIpJa8w?pwd=qecp 提取码: qecp
–来自百度网盘超级会员v7的分享
破解版:通过网盘分享的文件:永恒战士2无双战神破解版.apk
链接: https://pan.baidu.com/s/1JWG0T-FhkK1RyxETvaxMDg?pwd=8wyg 提取码: 8wyg
–来自百度网盘超级会员v7的分享
破解了游戏内购金币,升级翻倍。
过了新手教程就已经55级了
往下翻有视频,照片

永恒战士2
上面有视频可以看看
简单的说
图1 你这辈子估计都不会见到游戏跟你说别充钱了充太多了
图2 右上角的银币和金币已经多的塞不下了
图3 你见过这么多经验值吗 电话号码都要被打出来了
前提要求
系统:Android 2.2 – 6.0
游戏运行的是32位不是64位
由于现在已经没有了旧版本,所以可以用手机虚拟机VMOS(应用市场可以搜到)
我用的是安卓5.1精简版(强烈建议使用这个,稳定,如果有时候卡死或者报错直接重启就能玩,其他的没影响)

流程教学
1.上面的vmos和我提供的安装包,安装包下载之后自己找到路径
2.vmos添加开机之后(无需root)正下方有一个导入
3.导入选择应用>安装包(显示0就下滑刷新一下)点一下机会自动安装
4.打开以后会问你输入一个游戏名,随便输就可以
5.新手教程走完就大概50级了
无限金币的原理是通过破解内购以及扩大倍数实现的
6.先点对战模式>联赛>会弹出来(无法连接至联赛服务器,请稍微再试)这个是正常的,这个是为了强制触发
7.点左上角1商城之后,往右划过去,有一个Giu Credit包,随便选一个就行,点购买
会弹出来这个界面
点确定
(这个地方大可放心,这个游戏早就被抛弃了也不可能说存在真的收你钱,对应的早没了)
手机号码 别真的输号码,随便打个几个数字上去
然后验证码也是随便打,然后点获取,点确认
然后再点取消退出来
你一出来会发现还是没变(其实已经变了,是因为数据太大加载不过来,因为设置了成功之后翻一亿倍)
但是可以测试,去买5块以下的东西,一样可以买,但是看不到扣钱。
循环几次,一定要多几次,而且不要退出来商城,他就出来了,这样说可能有点抽象,但是是可以的。
严格意义上来说是手机和系统老旧的问题,因为它反应计算不过来,数据太大了
如果还是搞不定可以看下面的视频,我也是刷几次就出来了(从2分钟开始看)
弄完之后后续还想加就点购买,弹出来短信的界面,然后取消返回,就有了
下方两个视频,一个是从进游戏到刷出来的教学(会有点卡)
第二个是直接刷出来金币的,因为在这个版本里面还没有修改倍数,计算量小可以直接就刷新了
教学视频
验证视频-秒出金币
到这基本结束了,不懂的可以私信问,以下仅做个人记录以及技术爱好者学习交流
安卓实战逆向记录(特别特别长)
能看到这都是真爱,或许也不会有哈哈
可能排版会有点乱,流水账的感觉,请不要介意…
可以说是完全不会纯捣鼓出来的,因为我不会安卓,之前重装过也没有了java环境,java会的也很少
1.Deepseek干爆了好几个,因为单个会话的最大token限制是1M,当中太多代码的东西要AI去分析了
就好比如你要去动一座十几年前的房子,然后你还不会,还是外国的房子看不懂。
2.期间的测试包,还有好多已经删了,我也不知道试了几次

还有好多其他的就不截图上来了
先说失败的经历
一开始游戏都打不开,因为网上的安装包有问题,很多都有问题,最后才能测出来一个可用的
其他的时候都是安装完进入就闪退,有些甚至都无法安装
我能进入游戏之后,想无限的金币嘛玩得爽,然后
亲测-豌豆荚,GameCIH2,八门神器,GG修改器,MT管理器。全都是问Deepseek的
豌豆荚是已经用不了了,不是以前的豌豆荚了-而且社区风评很差
八门神器-他只能加速和减速,没办法直接改内存
GG修改器-需要ROOT,root我弄了,但是告诉我没有访问权限
MT管理器-始终找不到我要的那个东西,给了root也不行,我也不知道为什么,终端我也不太会用而且手机不方便
GameCIH2,这玩意要联网,直接找不到服务器了
烧饼修改器,他只能提升速度和画质,跟八门神器差不多




所以我在手机上搞不定,我就决定在把战场搬到电脑上面去了
电脑实战逆向编译
需要用到的工具
一.APK Easy Tool 安卓逆向APK用
二.Java8配置环境 因为第一个东西需要依赖这个
三.adb 用来连手机看日志
四.notepad++ 用来编译逆向后的APK文件
五.dnspy 用来编译DDL文件
六.安装包 上面提供了
七.VMOS 可以理解为手机版的虚拟机 VMOS就是VM 这个是手机版的虚拟机直接去应用商城下就可以
八.Deepseek 这玩意有时候蠢了点,但是能用。再次印证了可以用AI,但是不要完全依赖AI
网页https://www.deepseek.com/zh/
上述软件安装包如下
链接: https://pan.baidu.com/s/1DeTLJ_sgHU_uxN7pjYYNgg?pwd=nuct 提取码: nuct
--来自百度网盘超级会员v7的分享
Java环境依赖
apk easy tool是依赖java环境的,java8的兼容是最好的,下11也可以,上面给的安装包直接msi双击安装一路向下next就可以
🎯 第一步:找到 Java 安装路径
先确认你的 Java 装在哪里了。默认通常是:
C:\Program Files\Java\jdk1.8.0_xxx
或者你自定义的路径,比如 D:\Java\jdk1.8.0_xxx
关键:路径要选到 jdk 那一层,不是里面的 bin 文件夹。
🔧 第二步:配置环境变量
1. 打开环境变量窗口
右键点击“此电脑”或“我的电脑”
选择“属性”
点击左侧的“高级系统设置”
点击右下角的“环境变量”
2. 新建 JAVA_HOME 变量
在“系统变量”区域,点击“新建”
变量名:JAVA_HOME
变量值:粘贴你的 Java 安装路径(例如 D:\Java\jdk1.8.0_202)
点击“确定”
3. 编辑 Path 变量
在“系统变量”里找到 Path,选中它,点击“编辑”
点击“新建”,添加一行:%JAVA_HOME%\bin
注意:不要把原来的内容删掉,只是新增这一行
点击“确定”保存
✅ 第三步:验证是否配置成功
按 Win + R,输入 cmd,打开命令提示符
输入 java -version,按回车
如果显示 Java 版本信息(比如 java version "1.8.0_xxx"),就成功了




我这个是因为弄了11才会这样显示,可以改回去,正常显示应该是8
《正常情况下,应该直接就会出现,如果没有,提示不是内部命令什么的,重启电脑就可以(大概率)还是不行的话就是没有配置好》
APK Easy Tool使用

安装包拖进去之后就是下面的界面

提示successful就是成功反编译的意思
点了decompile反编译之后,在1-Decompiled APKs里面你会得到
一个对应的文件夹,里面放着的都是配置文件(反编译后的),没编译的话是看不见的。就算看见了改也没用
反编译过来的都是java的东西
这个工具只是用来打开这个潘多拉魔盒的,修改则需要用到下面一个东西
notepad++

这个只需要没一个步骤都是next安装就好,非常的简单
打开之后会得到

把反编译过后的文件夹直接拖进去,一定要反编译之后拖进去,不然改了也没用
到了这一步才算把环境全部搭建好,后面还有一个dnspy后面再说
一直找错方向研究的心路历程(看正确解法直接跳后面的目录)
按ctrl+f会弹出来这个

然后选择find in files 意思是在你指定的这个文件夹下搜索你要的东西
为什么我这是10086呢,因为我一开始编译的时候都是被ai带偏了
或者说我没有跟他说清楚,这个10年前的游戏都是单机版,能弹出来移动的支付接口,但是实际上你就是想真的给钱也给不了,因为无论怎么输入都是错误
ai以为我还能联网,或者说这个界面是云上的服务器拉起的,实际上是本地
所以一直教我修改网关,地址,接口为本地的127.0.0.1。实际上没有用

以上都是错误的
后面甚至找了很多地方比如classes.dex,但是这确实没毛病
因为ai一直叫我在这里改东西
因为无论改了多少关于移动的东西他依然是可以拉起来支付页面(H5),所以这里我决定把他H5干掉(到最后也没能干掉)
因为给出来的里面带着一个xml的文件,我决定给ai分析一波
在这个xml里面我改了好几次也编译了好几次,都是没用的
甚至一度我都想,要不用电脑模拟器改内存算了(也就是修改器)
到了这个时候我已近折腾了很久,但是我很多不记得了就只能写下这一部分

期间我还弄过一个叫dalvikus的东西,但是这个我不太会用,而且好像我的电脑配置文件导致有问题,所以最终也没用下去。
但是依旧是去改支付网关的东西
大概意思就是,这个工具我用不了,所以我还是回到了notepad++
然后又翻出来一个xml,因为在这个里面有很多中文加上去的中国移动的东西
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="exit_prompt_title">Exit Game</string>
<string name="exit_prompt_message">Would you like to exit?</string>
<string name="exit_prompt_button_exit">Exit</string>
<string name="exit_prompt_button_cancel">Cancel</string>
<string name="notification_prompt_title">Notifications</string>
<string name="notification_prompt_message">Do you wish to receive notifications?</string>
<string name="notification_prompt_button_yes">Yes</string>
<string name="notification_prompt_button_no">No</string>
<string name="invalid_signature">Not a genuine copy</string>
<string name="data_restored">Data Restored - Restarting</string>
<string name="text_paused_cellular">Would you like to enable downloading over cellular connections? Depending on your data plan, this may cost you money.</string>
<string name="text_paused_cellular_2">If you choose not to enable downloading over cellular connections, the download will automatically resume when wi-fi is available.</string>
<string name="text_button_resume_cellular">Resume download</string>
<string name="text_button_wifi_settings">Wi-Fi settings</string>
<string name="text_verifying_download">Verifying Download</string>
<string name="text_validation_complete">File Validation Complete.</string>
<string name="text_validation_failed">File Validation Failed.</string>
<string name="text_button_pause">Pause Download</string>
<string name="text_button_resume">Resume Download</string>
<string name="text_button_cancel">Cancel</string>
<string name="text_button_cancel_verify">Cancel Verification</string>
<string name="notification_download_complete">Download complete</string>
<string name="notification_download_failed">Download unsuccessful</string>
<string name="state_unknown">Starting...</string>
<string name="state_idle">Waiting for download to start</string>
<string name="state_fetching_url">Looking for resources to download</string>
<string name="state_connecting">Connecting to the download server</string>
<string name="state_downloading">Downloading resources</string>
<string name="state_completed">Download finished</string>
<string name="state_paused_network_unavailable">Download paused because no network is available</string>
<string name="state_paused_network_setup_failure">Download paused. Test a website in browser</string>
<string name="state_paused_by_request">Download paused</string>
<string name="state_paused_need_cellular_permission">Download paused because wifi is unavailable</string>
<string name="state_paused_wifi_disabled">Download paused because wifi is disabled</string>
<string name="state_paused_roaming">Download paused because you are roaming</string>
<string name="state_paused_sdcard_unavailable">Download paused because the external storage is unavailable</string>
<string name="state_failed_unlicensed">Download failed because you may not have purchased this app</string>
<string name="state_failed_fetching_url">Download failed because the resources could not be found</string>
<string name="state_failed_sdcard_full">Download failed because the external storage is full</string>
<string name="state_failed_cancelled">Download cancelled</string>
<string name="state_failed">Download failed</string>
<string name="state_unpacking_resources">Unpacking resources</string>
<string name="state_unpacking_resources_completed">Unpacking completed</string>
<string name="state_validating_resources">Validating resources</string>
<string name="state_validation_resources_completed">Validation completed</string>
<string name="text_unpacking_resources_info">Please wait a moment. This is a one-time only process to give you a better gameplay experience.</string>
<string name="kilobytes_per_second">%1$s KB/s</string>
<string name="time_remaining">Time remaining: %1$s</string>
<string name="time_remaining_notification">%1$s left</string>
<string name="upgrade_title">Upgrade</string>
<string name="upgrade_button_upgrade">Upgrade</string>
<string name="upgrade_button_launch">Launch Game</string>
<string name="upgrade_button_exit">Exit</string>
<string name="upgrade_force">A required update is available.</string>
<string name="upgrade_always">A recommended update is available.</string>
<string name="upgrade_once">An update is available.</string>
<string name="g_class_name">com.glu.android.glucn.UnityLauncher</string>
<string name="gc_billing_package_id" />
<string name="gc_billing_package_name" />
<string name="gc_billing_islow_version">false</string>
<string name="gc_billing_is_no_sound">false</string>
<string name="gc_billing_title">中国移动手机游戏</string>
<string name="gc_billing_title_2">感谢您支持正版游戏</string>
<string name="gc_billing_sending">正在发送激活短信!</string>
<string name="gc_billing_info_sms_1">尊敬的{0}用户,您即将购买:</string>
<string name="gc_billing_info_sms_2">游戏名称:{0}</string>
<string name="gc_billing_info_sms_3">提供商:{0}</string>
<string name="gc_billing_info_sms_4">客服电话:{0}</string>
<string name="gc_billing_info_sms_6">{0}</string>
<string name="gc_billing_info_sms_7">共需支付话费{0}元(折合{1}点)</string>
<string name="gc_billing_info_sms_8">请点击《确定》发送短信购买</string>
<string name="gc_billing_info_sms_9">请点击《确定》确认购买</string>
<string name="gc_billing_info_sms_a">* 该道具不属于{0}权益,您可以选择取消购买并免费继续游戏,或确认购买该道具以获得更好的游戏体验。</string>
<string name="gc_billing_error_network">"网络连接失败!
尊敬的用户,您正在使用中国移动{0}业务中的游戏,需要通过移动网络进行订购关系验证,如果您是中国移动{0}的订购用户,将可免费使用该游戏,如果不是,则需要付费后方可继续使用,请检查您的移动网络是否可用!"</string>
<string name="gc_billing_ok">购买成功!</string>
<string name="gc_billing_ok_history">已购买成功!</string>
<string name="gc_billing_fail">您的付费操作失败了,请稍后重试!</string>
<string name="gc_billing_require">"若不进行付费,您将无法获得
更好的游戏体验,是否确认?"</string>
<string name="gc_billing_no_simcard">短信激活失败,请检查SIM卡!</string>
<string name="gc_billing_simcard_unavailable">没有可用中国移动SIM卡!</string>
<string name="gc_billing_check_network">找不到可用网络,请检查您当前的网络设置!</string>
<string name="gc_billing_network_airplane">当前设备处于飞行模式,无可用网络!</string>
<string name="gc_billing_network_multi">当前设备存在重复网络,无可用网络!</string>
<string name="gc_billing_cmgc_game_tag">此游戏没有配置中国移动标识信息,不能继续使用!</string>
<string name="gc_billing_invalid_china_mobile_card">请输入有效的移动手机号码!</string>
<string name="gc_billing_fail_phone">您的购买请求失败啦,请尝试输入手机号码进行计费!</string>
<string name="gc_billing_fail_vericode">短信验证码获取失败</string>
<string name="gc_billing_no_charge">未找到购买信息!</string>
<string name="gc_billing_no_vericode">请输入您收到的短信验证码!</string>
<string name="gc_billing_no_phone_number">未找到手机号码,请重试!</string>
<string name="gc_billing_net_verifycode">请输入您收到的短信验证码</string>
<string name="gc_billing_net_verifycode_1">请在确认游戏付费前,正确输入您手机上收到的随机短信验证码。</string>
<string name="gc_billing_net_verifycode_2">短信验证码在5分钟内有效,超过时间内仍未收到验证码,建议您稍后重试。</string>
<string name="gc_billing_net_phone">请输入{0}</string>
<string name="gc_billing_net_phone_2">移动手机号码</string>
<string name="gc_billing_more_time_error">您的付费请求太频繁,请稍后重试!</string>
<string name="gc_billing_net_contacts">好友代付</string>
<string name="gc_billing_net_contacts_error">没有找到联系人,您可以手动输入付费手机号码</string>
<string name="gc_billing_more" />
<string name="gc_billing_gamehall" />
<string name="gc_billing_more_game">更多精彩游戏尽在</string>
<string name="gc_billing_cmgc">移动游戏</string>
<string name="gc_billing_10086">g.10086.cn</string>
<string name="gc_billing_get_vericode">获取验证码</string>
<string name="gc_billing_no_network_tip">"您的终端没有开启网络
连接,您将不能享受包
月业务及其他营销活动"</string>
<string name="gc_billing_open_network_tip">是否开启网络连接?</string>
<string name="gc_billing_exit_tip">确定退出游戏?</string>
<string name="gc_billing_dialog_exit">退出</string>
<string name="gc_billing_dialog_sure">确定</string>
<string name="gc_billing_dialog_clear">取消</string>
<string name="gc_billing_dialog_reject">不购买</string>
<string name="gc_billing_dialog_positive">继续</string>
<string name="gc_billing_dialog_cancel">返 回</string>
<string name="gc_billing_dialog_getverifycode_again">再次获取</string>
<string name="gc_billing_dialog_getting_verifycode">正在获取({0})</string>
<string name="gc_billing_dialog_handling">正在处理</string>
<string name="gc_billing_dialog_point">.</string>
<string name="gifting_select_campaign">Please select a campaign</string>
<string name="gifting_input_code">Please enter your gift code</string>
<string name="gifting_redeem">Redeem</string>
<string name="gifting_connection_timed_out">Connection Timed Out</string>
<string name="gifting_connection_to_server_failed">Error retrieving gift code</string>
<string name="gifting_null_code">Please enter your gift code</string>
<string name="gifting_code_used">The code has already been used</string>
<string name="gifting_invalid_code">The code is not supported</string>
<string name="gifting_query_campaign_failed">Unable to query any campaigns at this time. Please check back soon!</string>
<string name="gifting_code_redeemed">Code successfully redeemed! You received %d Glu Credits!</string>
<string name="gifting_expire">Expires %s!</string>
<string name="network_unavailable">No Network Connection</string>
<string name="pgs_app_id">426150949243</string>
<string name="fb_app_id">581514738546774</string>
<string name="EWARRIORS2_ACHIEVE_FIGHTER">CgkI--LNxLMMEAIQAw</string>
<string name="EWARRIORS2_ACHIEVE_WARRIOR">CgkI--LNxLMMEAIQBA</string>
<string name="EWARRIORS2_ACHIEVE_BATTLE_MASTER">CgkI--LNxLMMEAIQBQ</string>
<string name="EWARRIORS2_ACHIEVE_TOP_OF_THE_SPIRE">CgkI--LNxLMMEAIQBg</string>
<string name="EWARRIORS2_ACHIEVE_ICEBREAKER">CgkI--LNxLMMEAIQBw</string>
<string name="EWARRIORS2_ACHIEVE_KING_OF_SPIDERS">CgkI--LNxLMMEAIQCA</string>
<string name="EWARRIORS2_ACHIEVE_OUT_OF_THE_FIRE">CgkI--LNxLMMEAIQCQ</string>
<string name="EWARRIORS2_ACHIEVE_POCKET_CHANGE">CgkI--LNxLMMEAIQCg</string>
<string name="EWARRIORS2_ACHIEVE_GREEDY">CgkI--LNxLMMEAIQCw</string>
<string name="EWARRIORS2_ACHIEVE_ZOMBIE_HUNTER">CgkI--LNxLMMEAIQDA</string>
<string name="EWARRIORS2_ACHIEVE_ZOMBIE_BANE">CgkI--LNxLMMEAIQDQ</string>
<string name="EWARRIORS2_ACHIEVE_BONE_BREAKER">CgkI--LNxLMMEAIQDg</string>
<string name="EWARRIORS2_ACHIEVE_SKULL_SMASHER">CgkI--LNxLMMEAIQDw</string>
<string name="EWARRIORS2_ACHIEVE_DEMON_SLAYER">CgkI--LNxLMMEAIQEA</string>
<string name="EWARRIORS2_ACHIEVE_EWW_SPIDERS">CgkI--LNxLMMEAIQEQ</string>
<string name="EWARRIORS2_ACHIEVE_GOATS">CgkI--LNxLMMEAIQEg</string>
<string name="EWARRIORS2_ACHIEVE_GUARDENING">CgkI--LNxLMMEAIQEw</string>
<string name="EWARRIORS2_ACHIEVE_BULL_FIGHTER">CgkI--LNxLMMEAIQFA</string>
<string name="EWARRIORS2_ACHIEVE_SHADOW_HUNTER">CgkI--LNxLMMEAIQFQ</string>
<string name="EWARRIORS2_ACHIEVE_BLACKSMITH">CgkI--LNxLMMEAIQFg</string>
<string name="EWARRIORS2_ACHIEVE_SKILLED">CgkI--LNxLMMEAIQFw</string>
<string name="EWARRIORS2_ACHIEVE_SOCIAL_BUTTERFLY">CgkI--LNxLMMEAIQGA</string>
<string name="EWARRIORS2_ACHIEVE_MOP_THE_FLOOR">CgkI--LNxLMMEAIQGQ</string>
<string name="EWARRIORS2_ACHIEVE_COMBOTASTIC">CgkI--LNxLMMEAIQGg</string>
<string name="EWARRIORS2_ACHIEVE_DRAGONKILL_GREEN">CgkI--LNxLMMEAIQGw</string>
<string name="EWARRIORS2_ACHIEVE_DRAGONKILL_BLUE">CgkI--LNxLMMEAIQHA</string>
<string name="EWARRIORS2_ACHIEVE_DRAGONKILL_RED">CgkI--LNxLMMEAIQHQ</string>
<string name="EWARRIORS2_ACHIEVE_DRAGONKILL_WHITE">CgkI--LNxLMMEAIQHg</string>
<string name="EWARRIORS2_ACHIEVE_DRAGONKILL_BLACK">CgkI--LNxLMMEAIQHw</string>
<string name="EWARRIORS2_KILLER">CgkI--LNxLMMEAIQAQ</string>
<string name="EWARRIORS2_RENOWN">CgkI--LNxLMMEAIQAg</string>
<string name="leaderboards_not_available_title">Leaderboards Not Available.</string>
<string name="leaderboards_not_available_message">Failed to update Leaderboards because you are not signed in.</string>
<string name="achievements_not_available_title">Achievements Not Available.</string>
<string name="achievements_not_available_message">Failed to update Achievements because you are not signed in.</string>
<string name="gPlus_signedIn_title">Google+ Sign-in required!</string>
<string name="gPlus_signedIn_message">Please sign-in with Google+ in the game to use this feature.</string>
<string name="leaderboards_and_achievements_signIn_message">Would you like to sign in with your Google+ account to enable achievements/leaderboard?</string>
<string name="sign_in">Sign In</string>
<string name="sessionm_network_error">mPOINTS service failed to connect</string>
<string name="sessionm_generic_error">mPOINTS service is unavailable</string>
<string name="app_name">永恒战士2-无双战神</string>
<string name="store_coin">银币</string>
<string name="store_price">元</string>
<string name="alert_file_wrong">存档错误</string>
<string name="alert_file_wrong_ok">确定</string>
<string name="menu_settings">提示</string>
<string name="remote_call_failed">Failure calling remote service</string>
<string name="confirm_install_hint">安装提示</string>
<string name="confirm_install">"为保证您的交易安全,需要您安装移动快捷支付,才能进行付款。
点击确定,立即安装。"</string>
<string name="check_sign_failed">您的订单信息已被非法篡改。</string>
<string name="glucn_input_message">请输入PVP对战名称</string>
<string name="glucn_input_hint">请输入10位字母或数字</string>
<string name="glucn_input_ok_button_text">确定</string>
<string name="glucn_input_validator">ALPHANUMERIC</string>
<string name="glucn_input_max_length">10</string>
<string name="glucn_input_validate_failed_message">名称无效,请重试</string>
</resources>
最后发现也是没用的,他只是一个html和游戏内的东西,换句话说你根本看不到,只有一小部分是输出给你看的
所以到了这个时候,我就在想一个问题
我既然没办法改变这个支付界面的拉起来
那我直接修改支付结果吧,让他直接无论返回什么都强行跳到支付成功,这样不就可以了吗
这里面都改过,也没用
ai也已经开始劝退,因为确实得不偿失,这个时候已经用了第二个会话了,因为一个会话的极限是100万tokens
发的代码和上下文太多了,已经超限了
这个时候突发奇想,为什么我不用adb去看日志呢,一开始安装也是看这个的啊,说干就干
ADB调试

在安装好adb的路径下输入cmd你就会得到下面这个
然后手机和电脑和虚拟机都要搞到一个网络下面去,然后手机开权限,允许usb调试。
虚拟机设置里面看下图

开机了才会有ip
然后电脑上
adb devices
如果看到类似 1234567890ABCDEF device 的输出,就说明连接成功了
adb connect 对应的虚拟机IP:5669 # 你的 VMOS 端口

我这里是因为同时连接了物理机和虚拟机所以有两个adb在线
需要看的虚拟机是下面的那个192.168.12.48:5668
adb -s 192.168.12.48:5668 logcat > C:\12345.txt
意思是 开始监听这个IP的端口输出的adb日志,输出到本地C盘下的12345.txt里面去看

在这之前看了好多回了,有些也删了,做个记录。。

过程有点忘了,但是这个地方是已经开始加状态码让他强制返回了,但是还是出问题了
改了好几次都不行,所以,但是大概位置已经锁定了
所以到了
正式修改路径(破解充值)
这几个smali路径都是在这个地方下面
D:\Desktop\APK Easy Tool v1.60 Final\APK Easy Tool\1-Decompiled APKs\yonghengzhanshi2zhanshenwushuang\smali\com\glu\plugins\glucn\AGlucnTools\IAP\SDKs\MM

同样的在notepad++里面去搜索
所有的关键信息都指向这里了
在GlucnIap_MM$2$1.smali下


从第76行开始,下面的图片的ai有问题,因为他没有计算空格,76是实测精确
.prologue
const/16 v10, 0x68
const/16 v9, 0x66
这个地方
改成
.prologue
const/16 p1, 0x66 #强制状态码为成功
const/16 v10, 0x68
const/16 v9, 0x66
改完记得ctrl+s保存 一定要注意空格和换行



到了这重新打包之后安装,已经可以实现开头的效果,就是只要购买返回,他就能正常充值到账了
原理上面ai已经告诉我们了
到了这本来我已经很开心了,无限金币啊随便乱杀好吧
玩了一会,发现,等级升的慢,然后是无限金币, 但是一次只能买120,太慢了
所以,我又开始捣鼓了
破解等级经验
所有东西指向一个叫Assembly-CSharp.dll的东西
notepad++无法修改dll所以新工具他叫dnspy
https://blog.csdn.net/2501_94118185/article/details/154449744 看的这个博主下载的

跟正常软件一样打开就行,然后把Assembly-CSharp.dll拖进去
Assembly-CSharp.dll在
D:\Desktop\APK Easy Tool v1.60 Final\APK Easy Tool\1-Decompiled APKs\yonghengzhanshi2zhanshenwushuang\assets\bin\Data\Managed

是上面的那个,不是带firstpass那个
拖进去是这样的
错误的就不说了,因为最终找到对的
他这个东西还不太好用,得手动去找那个对应的路径-这个叫combatcontorller
个人感觉他的搜索,可能是我不会用,所以我都是手动点的

在这个combatcontroller里面ctrl+f然后输public void EnemyDeadAddXp(int xp)
原代码
// Token: 0x06000452 RID: 1106 RVA: 0x00012004 File Offset: 0x00010204
public void EnemyDeadAddXp(int xp)
{
if (this._playerController != null && this._playerController.HitPoint > 0f && GameManager.Instance != null)
{
if (PromotionManager.Instance.XPPromotion.isInTime())
{
xp = PromotionManager.Instance.XPPromotion.scaleInt(xp);
}
GameManager.Instance.PlayerProfile.AddXP(xp);
this.ShowFloatUpPickupXp(xp);
}
}
修改后的代码
// Token: 0x06000452 RID: 1106 RVA: 0x00012004 File Offset: 0x00010204
public void EnemyDeadAddXp(int xp)
{
if (this._playerController != null && this._playerController.HitPoint > 0f && GameManager.Instance != null)
{
// 放大经验 多少倍随你输
xp=xp * 100000;
if (PromotionManager.Instance.XPPromotion.isInTime())
{
xp = PromotionManager.Instance.XPPromotion.scaleInt(xp);
}
GameManager.Instance.PlayerProfile.AddXP(xp);
this.ShowFloatUpPickupXp(xp);
}
}

一定要注意分号的那个格式,不然编译会失败
这个地方的意思是 让你获得经验放大多少倍,其他获得方式什么都不变
到了这个地方只解决了经验的问题没有解决金币的问题
所以就导致了我过不去新手教程
因为打完开局已经55级了(最高75)强行要求买个药水才能过,但是基础的钱不够了
所以我就去捣鼓了破解金币翻倍
破解金币翻倍
直接告诉你定位模块,因为我找了很久找到了
在PlayerProfile 里面定义的

很多地方高度相似,千万别走错地方了
一样的他的修改需要点(编辑类)
搜索在里面public void AddSoftCurrency(int softCurrency, bool hardMode)

原代码
public void AddSoftCurrency(int softCurrency, bool hardMode)
{
if (this._currentSoftCurrency + softCurrency < 0)
{
return;
修改后的代码
public void AddSoftCurrency(int softCurrency, bool hardMode)
{
// 放大 10000 倍,这个地方想加几个0随便
softCurrency = softCurrency * 10000;
if (this._currentSoftCurrency + softCurrency < 0)
{
return;
这上面不知道是银币还是金币,反正两个都要改,还有下面的
原代码
public void AddHardCurrency(int hardCurrency)
{
if (this._currentHardCurrency + hardCurrency < 0)
{
return;
修改后的代码
public void AddHardCurrency(int hardCurrency)
{
// 放大 10000 倍 可以自选倍数
hardCurrency = hardCurrency * 10000;
if (this._currentHardCurrency + hardCurrency < 0)
{
return;
到这已经修改完了,然后去apk打包测试即可,一定要注意不能有中文路径不然会输出错误,就像我这样乱码
最后改好中文路径之后会输出到这个地方

这个就是我当时搞完的最终的版本,能看到这的看官也可以自己动手尝试一波~
到了这就已经完事了~
完了之后导入即可
写在最后:流水账似得,我都有点烦了,但是主要核心是为了自己记录一下,现在记得不代表我3个月,3年后都记得,所以步骤尽可能能做到多详细就多详细
至少我成功了,都是自己动手一步一步做出来的。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐











所有评论(0)