感谢ssgemail在[url=http://www.iteye.com/topic/1112018]http://www.iteye.com/topic/1112018[/url]中提供的方法

涉及内容

apk反编译
代码修改
打包
重启签名

需要的工具
jdk:必须的
baksmali:classes.dex反编译为smali格式(文本文件,可修改)
smali:smali格式编译打包为classes.dex
但由于smali格式类似汇编,比较难阅读,所以用dex2jar进行辅助
dex2jar:classes.dex转为jar包
jdgui:jar反编译并阅读

以上工具可以在 http://liye111111.ys168.com/ 下载

好了,顺序就是把apk用zip解开,里面的classes.dex分别用baksmali处理为smali,用dex2jar处理成jar,然后用jdgui看代码,找好java文件中要改的位置后,在smali里找对应的位置修改,改完了用smali再编译为classes.dex,覆盖原来apk里的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本,因为签名不同了,我第一次再这里卡了好久。

以“捕鱼达人海底捞”为例
下载这个游戏的apk,fishing_joy_1.apk,和工具放在一起

[img]http://dl.iteye.com/upload/attachment/514175/2486ad61-1e89-34f1-9769-fbe6a3cbe18f.jpg[/img]

用zip解开fishing_joy_1.apk
copy classes.dex到baksmali的同一目录

[img]http://dl.iteye.com/upload/attachment/514177/544e9a0e-362d-30f8-a497-8589e29c5e7e.jpg[/img]

用baksmali处理为smali
java -jar baksmali-1.2.6.jar -x classes.dex
得到out目录,里面是smali文件

用dex2jar处理classes.dex为jar包
dex2jar-0.0.7.10-SNAPSHOT\dex2jar.bat classes.dex
得到classes.dex.dex2jar.jar
这时我们的工作目录下面是这样

[img]http://dl.iteye.com/upload/attachment/514181/32d50f2b-7096-38a1-9a0c-5365e6121360.jpg[/img]

用jdgui打开classes.dex.dex2jar.jar
[img]http://dl.iteye.com/upload/attachment/514183/57365dd2-7e71-3e81-8af1-b57f35fe9464.jpg[/img]

好了,可以看代码,但还不能直接修改,需要对比着来修改smali文件

比如我们通过对比找到控制鱼被打到几率的代码在FishLayer.smali

    invoke-static {v4, v5}, Lcom/sg/android/fish/fish/FishFactory;->getProb(II)D

    move-result-wide v4

    invoke-static {}, Ljava/lang/Math;->random()D

    move-result-wide v6

    const-wide/high16 v8, 0x4059

最后的0x4059会与random相乘,如果比getProb方法计算的结果小,判断为鱼可以打下来
改为0x0,每条鱼都是必中 :D

改好后,用java -jar smali-1.2.6.jar -o classes.dex out
得到修改后的classes.dex,用这个文件替换fishing_joy_1.apk中的同名文件
但这个apk是不能用的,还没有进行重新签名

先用keytool生成keystore
keytool -genkey -keystore mykeystore -alias mykeystore -validity 999
把apk中的META-INF删除,再用jarsigner 签名
jarsigner -verbose -keystore mykeystore -signedjar fishing_joy_1_signed.apk fishing_joy_1.apk mykeystore

先卸载原来手机中安装的这个游戏,再用fishing_joy_1_signed.apk安装

最后工作目录是这个样子

[img]http://dl.iteye.com/upload/attachment/514187/69f96d14-1cdd-3e1f-b890-6f23839ca999.jpg[/img]

android捕鱼达人修改方法(反编译、修改、打包)相关推荐

  1. 反编译android 状态栏沉浸,教程:反编译修改实现状态栏时间居左,去除锁屏运营商...

    本帖最后由 Gleam 于 2017-7-30 21:15 编辑 重要的事情说三遍: 操作不当会有风险,如不能开机,systemui无限错误等,修改之前确定是否备份system分区. 操作不当会有风险 ...

  2. mt管理器修改域名对接apk壳修改方法反编译白菜视频教程

    下载地址: https://www.yuenos.cc/2514.htmlhttps://www.yuenos.cc/2514.html

  3. Android TV下LeanbackLauncher的反编译,AS重新打包修改

    本文介绍Android 7.1平台下Google LeanbakLauncher的反编译流程,并使用AS工具重新打包修改. 最近需要开发一款TV桌面应用,调研了各类桌面,如当贝桌面,小米桌面,开源的猫 ...

  4. Unity 安卓 apk 反编译 重新打包 签名修改

    拿到一个Unity 打包出来的apk,如果没有加密的话 ,你是可以通过反编译修改其中的属性的. 步骤一   apk 解压 方法1: apk 变成 .zip 并解压 然后修改 \assets\bin\D ...

  5. apk反编译修改源代码_单击即可将APK反编译为源代码

    apk反编译修改源代码 In this tutorial I will guide you how to decompile apk to source code in just one click. ...

  6. Android APK破解、反编译、打包签名基本思路与方法

    Android APK破解.反编译.打包签名基本思路与方法 2013年6月1日星期六                                                           ...

  7. 客户的一个紧急bug,我用了两种方式进行 C# 反编译修改源码

    一:背景 1. 讲故事 周五下午运营反馈了一个紧急bug,说客户那边一个信息列表打不开,急需解决,附带的日志文件也发过来了,看了下日志大概是这样的: 日期:2020-11-13 12:25:45,92 ...

  8. .net dll 反编译修改IL再编译,修改版本号

    记一次.net dll 反编译修改IL再编译exe 可用Everything搜索ildasm.exe 在用ildasm.exe打开dll或exe 点击文件右键转储 转储之后用visua studio ...

  9. ueditor 编辑html文件名,UEditor编辑器自定义上传图片或文件路径的修改方法,ueditor修改方法...

    UEditor编辑器自定义上传图片或文件路径的修改方法,ueditor修改方法 使用ueditor编辑器,附件默认在ueditor/php/upload/,  我的附件地址是网站根目录下/data/u ...

  10. android 混淆 去掉log,Android去掉/混淆Log,反编译都看不到

    原标题:Android去掉/混淆Log,反编译都看不到 出发点: 当然是由于编程习惯太好,打了一堆中文log,其实只是想给测试看.然而如果包被反编译,看log基本都能理解流程了,有点尴尬.所以此文主要 ...

最新文章

  1. 软件安装:原始码与 Tarball
  2. 托管数据中心vs.云计算:保障关键任务数据安全
  3. BZOJ2648: SJY摆棋子
  4. Linux 中 ss 命令的使用实例介绍
  5. Effective Java之慎用重载(四十一)
  6. 又一家知名社交电商平台倒下:并购重组失败,将启动破产清算或重整
  7. 傅盛希望定义AI时代的机器人产品,2年交出这份可落地答卷
  8. 使用commons-fileupload包实现文件上传
  9. stat---文件状态信息结构体
  10. [代码]POJ 2409 Let it Bead
  11. arduino:废旧光驱DIY激光雕刻机(完善中……)
  12. Android 静默安装的几种方式
  13. 计算机硬盘容量越大运行速度越快,固态硬盘越大运行速度越快吗
  14. EditPlus实现json格式化
  15. 转:CWnd的函数,以后可以在这儿找了!
  16. 基于JAVA郑州卷烟厂库存管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  17. html表格填充空白单元格,Excel表格数据录入:怎么快速填充所有空白单元格?
  18. 来看一个费解而有趣的c++现象
  19. 全国高精度数字高程模型 精度为5m的dem
  20. CC2640R2F UART

热门文章

  1. html实现原理和流程图,html5实现流程图
  2. web小记--one
  3. STM32F091不能通过STLINKV2下载程序
  4. STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)
  5. MySQL的定义、操作、控制、查询语言的用法
  6. 提升程序员编程效率的暗黑三条
  7. python利用selenium爬取X蜂窝热门游记
  8. jq实现自动轮播图效果
  9. 微软服务器系统 授权,微软公布 Windows Server 2012 R2授权表
  10. Redhat 5.4 Oracle 10g RAC Openfiler+Multipath + RAW+ ASM 安装文档