反编译和逆向出现:java.lang.VerifyError(新问题样本)
2017-12-22 15:54
375 查看
#PS:要转载请注明出处,本人版权所有
#PS:这个只是 《 我自己 》理解,如果和你的
#原则相冲突,请谅解,勿喷
2 当前类继承的interface,父类为java object ,出现 没有调用java object - > init()方法
对于以上问题,其实相关工具会在smali文件里面存在 #disallowed odex opcode错误,直接搜索就可以解决。
#PS:请尊重原创,不喜勿喷
#PS:要转载请注明出处,本人版权所有.
有问题请留言,看到后我会第一时间回复
#PS:这个只是 《 我自己 》理解,如果和你的
#原则相冲突,请谅解,勿喷
前序
某日,遇到一个App,突然想来一发,于是,直接下到这个app的老一点的版本,用某自动脱壳机脱壳后,得到Dex文件。并通过工具(AndroidKiller)生成Smali文件(此文件不完整)。
修复
首先,把Smali文件放回到我们反编译后的Apk文件目录去,修复相关的类目录。这时候,在通过工具,把整个工程重新编译生成Apk,是可以正常安装的,但是不能够正常打开,并且得到java.lang.VerifyError错误。 经过大量的搜索和整理,得到如下结论。 此错的原因为:由于smali指令序列不符合相关的规范(指令丢失,反编译失败了,或者指令反编译错误,得到了错误的smali指令。对于反编译失败,相关的反编译工具(AndroidKiller)可能会在当前字段出现标注,根据标注解决就好)。 网上现存的不规范的原因: 1 寄存器使用数量和定义个数不一致(用脚本很容易出现此问题) 2 函数体不完整,丢失相关标识符.end method等
java.lang.VerifyError 新问题样本
1 反编译出问题的东西大部分在构造函数,init()方法大部分都出现在缺少return-void2 当前类继承的interface,父类为java object ,出现 没有调用java object - > init()方法
对于以上问题,其实相关工具会在smali文件里面存在 #disallowed odex opcode错误,直接搜索就可以解决。
#PS:请尊重原创,不喜勿喷
#PS:要转载请注明出处,本人版权所有.
有问题请留言,看到后我会第一时间回复
相关文章推荐
- 使用ant编译Java编程思想出现时 java.lang.UnsupportedClassVersionError: Bad version number in .class问题
- Maven编译出现“java.lang.OutOfMemoryError: Java heap space”问题及解决办法
- 修改smali文件重新编译后出现 java.lang.VerifyError:
- Maven编译出现“java.lang.OutOfMemoryError: Java heap space”问题及解决办法
- android 开发中java.lang.verifyerror问题
- android 开发中java.lang.verifyerror问题
- TextWatcher 出现 java.lang.StackOverflowError 的解决有关问题
- tomcat出现java.lang.OutOfMemoryError: PermGen space问题解决
- Android 开发中java.lang.verifyerror问题
- Android Xposed框架出现java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation问题
- 使用paoding lucene分词 ,遇到java.lang.VerifyError: Cannot inherit from final class 问题
- 出现java.lang.UnsupportedClassVersionError: Bad version number in .class file问题的解决方法分析
- Android 开发中java.lang.verifyerror问题
- android 加载大图片是出现java.lang.OutOtMemoryError问题解决方法
- Groovy 1.5.7 出现java.lang.LinkageError问题
- Android运行时出现的 java.lang.VerifyError 异常解决方案
- 在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题
- android 开发中java.lang.verifyerror问题
- 测试 今天在导入一个工程时,编译并打包到Tomcat后,发现出现java.lang.UnsupportedClassVersionError: Bad version number in .class
- Android Ndk 编译时出现java.lang.UnsatisfiedLinkError: Native method not found:问题归纳