java– 从已编译的apk中恢复丢失的代码

java– 从已编译的apk中恢复丢失的代码,第1张

概述我在这里有一个问题……它让我非常紧张.我正在开发这个游戏,它的功能很棒,所以我在笔记本电脑上拿了一份副本,在远离我的电脑的同时做了一些工作.长话短说,硬盘失败可怜的备份导致我失去了一个非常重要的课程.有没有办法反编译apk来检索丢失代码?它不是过于复杂或复杂,只是不经

我在这里有一个问题……它让我非常紧张.

我正在开发这个游戏,它的功能很棒,所以我在笔记本电脑上拿了一份副本,在远离我的电脑的同时做了一些工作.

长话短说,硬盘失败可怜的备份导致我失去了一个非常重要的课程.

有没有办法反编译apk来检索丢失的代码?它不是过于复杂或复杂,只是不经过阅读而无法重写它.单.线.的.码.在整个应用程序中,因为它初始化了很多类并以特定方式加载了一堆东西.

通过快速谷歌搜索,我能够找到apktool,它将其反编译成一堆.smali文件,我认为这些文件不是为人类阅读而设计的.

我需要恢复的只是课堂上一个非常重要的方法.我找到了包含它的smali文件,我想我找到了它开始的行.就像是

.method public declared-synchronized load(Lcom/X/X/game/X;)I

任何帮助都将受到赞赏,因为我不得不在没有这种方法的情况下废弃整个游戏.

解决方法:

一个快速的谷歌导致了反编译apks(decompile apk to java source)的方法.但是,即使它导致java代码,你可能也没有任何变量名(只是像param1这样的默认名),因为当你将源代码编译成字节代码时,这些名称也不可恢复,同样,取决于反编译器,/相反,foreach循环将是while循环,if / else块可能由于编译器优化而不能代表您的原始控制流.

一般建议:使用某种源代码控制.在您自己的服务器上,使用github付费帐户并不重要,但使用源代码控制.即使你只是一个人在项目上发展.它有助于这种情况,它有助于恢复到以前的版本,它有助于找到您引入的错误.当工具可用时,请使用它们.

总结

以上是内存溢出为你收集整理的java – 从已编译的apk中恢复丢失的代码全部内容,希望文章能够帮你解决java – 从已编译的apk中恢复丢失的代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存