专栏名称: 吾爱破解论坛
吾爱破解论坛致力于软件安全与病毒分析的前沿,丰富的技术版块交相辉映,由无数热衷于软件加密解密及反病毒爱好者共同维护,留给世界一抹值得百年回眸的惊艳,沉淀百年来计算机应用之精华与优雅,任岁月流转,低调而奢华的技术交流与探索却
目录
相关文章推荐
四川大学  ·  再获全球第一!川大学子真棒! ·  昨天  
四川大学  ·  再获全球第一!川大学子真棒! ·  昨天  
德鲁克博雅管理  ·  作为管理层,在管理中什么最让你头疼? ·  2 天前  
德鲁克博雅管理  ·  作为管理层,在管理中什么最让你头疼? ·  2 天前  
中国能源报  ·  上海电力最新人事调整 ·  2 天前  
中国能源报  ·  上海电力最新人事调整 ·  2 天前  
CounterpointResearch  ·  人工智能服务器目前占全球服务器市场的三分之一 ·  1 周前  
CounterpointResearch  ·  人工智能服务器目前占全球服务器市场的三分之一 ·  1 周前  
51好读  ›  专栏  ›  吾爱破解论坛

【Android 原创】弓箭手大作战1.0.50 无限技能下载 和分析实现过程

吾爱破解论坛  · 公众号  · 互联网安全  · 2017-09-13 08:10

正文

成品下载地址:http://pan.baidu.com/s/1eStizom


第一次分析和修改unity3d游戏,目标游戏在4399下载。
这里说一下 dnSpy 还是不错的,和 JEB 有的一拼。免费开源,币那个收费的好用多了。强烈推荐;

第一步:
下载APK,APk中找到 Assembly-CSharp.dll 利用 dnSpy 打开:


没有任何加密,类名 ,方法名,成员名都被反编译的一清二楚,明码规范合理,这货简直就是C#学习的典范,话说我 java 和 c++ 就是靠分析逆向安卓的dex 和so分析,精通了好多好多;


第二步:
我们怎么找到我们要修改逻辑代码的位置呢?其实这也是修改过程中最大的难点,一般教程中都是用 coin 关键字查找,我可不是这么敢的;
我们先大概的看一下全部的类名,看看有没有一个比较好的切入点。
 
Skill 技能先关的类还真是不多,我们可以逐个打开看看提的的方法和成员,大致的判断在游戏中先关的功能;
 
我们在 SkillManager 技能管理类中发现了 SkillFirstClick ... 共3个 这应该是对应游戏中的:
 
3个技能选择了


// SkillManager

public void SkillFirstClick(GameObject obj)

{

    if (!Singleton.Instance.canChooseSkill)

    {

        return;

    }

    this.SkillObject.SetActive(false);

    this.switchSkillType(this.skillShow[0]);

    Singleton.Instance.isShowingMachine = false;

    Singleton.Instance.removeChooseSkillLabel();

}


这是第一个技能点击的处理方法;

为了实现无限技能,我们可以在点击以后,重新再现实技能选择框;也就是在最后面加入一行代码 showSkill();
 
修改完成后重新打包签名,运行;完美实现无限技能;

总结:
      最开始是用安卓反编译,修改在正编译,失败。 后来直接用winrar 打开解压  Assembly-CSharp.dll  修改,在覆盖apk包,成功(别忘记签名了哦)。
这个游戏为什么可以直接在本地修改无限技能。因为我分析了他的socket 封包协议,知道客户端做了什么。服务端做了什么。 感觉手游协议脱机分析也挺简单的。而且即使战略游戏是实现也不是很复杂。
等我以后有空了在写一些先关的帖子吧。
     修改过程太过无脑,我第一次搞unity3d 自己都被自己吓住了。


--官方论坛

www.52pojie.cn

--推荐给朋友

公众微信号:吾爱破解论坛

或搜微信号:pojie_52