首页
社区
课程
招聘
[求助][求助]关于逆向apk过程中出现的问题:Error occurred while disassembling class s
发表于: 2014-4-23 15:21 11774

[求助][求助]关于逆向apk过程中出现的问题:Error occurred while disassembling class s

2014-4-23 15:21
11774
rt:
  过程如下,我通过apktool(2.0.XX beta版本)进行反编译该游戏,然后报错如下:
Error occurred while disassembling class Lcom.amazon.android.framework.task.pipe
line.j; - skipping class
org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at
 offset 0x1b06e
        at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.ja
va:52)
        at org.jf.dexlib2.dexbacked.instruction.DexBackedInstruction31c.getRefer
ence(DexBackedInstruction31c.java:54)
        at org.jf.baksmali.Adaptors.Format.InstructionMethodItem.writeTo(Instruc
tionMethodItem.java:104)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:200)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDef
inition.java:322)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:113)
        at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:220)
        at org.jf.baksmali.baksmali.access$000(baksmali.java:55)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:144)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)

Error occurred while disassembling class Lcom.amazon.android.k.e; - skipping cla
ss
org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at
 offset 0x1d2cc
        at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.ja
va:52)
        at org.jf.dexlib2.dexbacked.instruction.DexBackedInstruction31c.getRefer
ence(DexBackedInstruction31c.java:54)
        at org.jf.baksmali.Adaptors.Format.InstructionMethodItem.writeTo(Instruc
tionMethodItem.java:104)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:200)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDef
inition.java:322)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:113)
        at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:220)
        at org.jf.baksmali.baksmali.access$000(baksmali.java:55)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:144)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)

Error occurred while disassembling class Lcom.amazon.mas.kiwi.util.a; - skipping
 class
org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at
 offset 0x22bd2
        at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.ja
va:52)
        at org.jf.dexlib2.dexbacked.instruction.DexBackedInstruction31c.getRefer
ence(DexBackedInstruction31c.java:54)
        at org.jf.baksmali.Adaptors.Format.InstructionMethodItem.writeTo(Instruc
tionMethodItem.java:104)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:200)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefi
nition.java:277)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:112)
        at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:220)
        at org.jf.baksmali.baksmali.access$000(baksmali.java:55)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:144)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)

Error occurred while disassembling class Lcom.amazon.mas.kiwi.util.e; - skipping
 class

Error occurred while disassembling class Lcom.amazon.venezia.command.ag; - skipp
ing class
org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at
 offset 0x28de2
        at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.ja
va:52)
        at org.jf.dexlib2.dexbacked.instruction.DexBackedInstruction31c.getRefer
ence(DexBackedInstruction31c.java:54)
        at org.jf.baksmali.Adaptors.Format.InstructionMethodItem.writeTo(Instruc
tionMethodItem.java:104)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:200)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDef
inition.java:322)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:113)
        at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:220)
        at org.jf.baksmali.baksmali.access$000(baksmali.java:55)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:144)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)

org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at
 offset 0x264de
        at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.ja
va:52)
        at org.jf.dexlib2.dexbacked.instruction.DexBackedInstruction31c.getRefer
ence(DexBackedInstruction31c.java:54)
        at org.jf.baksmali.Adaptors.Format.InstructionMethodItem.writeTo(Instruc
tionMethodItem.java:104)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:200)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeDirectMethods(ClassDefi
nition.java:277)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:112)
        at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:220)
        at org.jf.baksmali.baksmali.access$000(baksmali.java:55)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:144)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)

Error occurred while disassembling class Lcom.amazon.venezia.command.ad; - skipp
ing class
org.jf.util.ExceptionWithContext: Encountered small uint that is out of range at
 offset 0x2839e
        at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.ja
va:52)
        at org.jf.dexlib2.dexbacked.instruction.DexBackedInstruction31c.getRefer
ence(DexBackedInstruction31c.java:54)
        at org.jf.baksmali.Adaptors.Format.InstructionMethodItem.writeTo(Instruc
tionMethodItem.java:104)
        at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.ja
va:200)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeVirtualMethods(ClassDef
inition.java:322)
        at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java
:113)
        at org.jf.baksmali.baksmali.disassembleClass(baksmali.java:220)
        at org.jf.baksmali.baksmali.access$000(baksmali.java:55)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:144)
        at org.jf.baksmali.baksmali$1.call(baksmali.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:615)
        at java.lang.Thread.run(Thread.java:744)
等等,我只是截取了一部分,都是这种错误,然后基于这个错误进行了查找,得到两个看似靠谱的解决方案;

11cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3c8W2i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8Y4y4E0j5h3I4A6i4K6u0r3K9i4y4K6N6h3g2K6i4K6u0r3k6r3g2@1j5h3W2D9i4K6y4r3K9h3c8Q4x3@1b7J5x3o6t1`.
f68K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3P5X3q4F1k6$3y4X3i4K6u0r3j5i4u0@1K9h3y4D9k6g2)9J5c8X3c8W2N6r3q4A6L8s2y4Q4x3V1j5^5z5e0x3H3y4K6f1^5
但是经过实验发现都不能解决我目前的问题,第一个办法,我下载了smali的源码重新编译,得到baksmali-2.0.3-2d8cbfe6.jar,通过这个jar来反编译目标dex还是那个错,而第二个说apktool版本低,我这个apktool是最新版本,我感觉这个dex好像走的不是一般的加密方式,一般的是加入的一些无用的数据,而这个是改变本身一些不会被调用的数据,不知道这个想法对不对,希望各位大神一起帮忙看看,感觉这个挺新鲜的
附:由于apk文件过大,所以只上传classes.dex的压缩包,需要整个apk包的可以通过其他渠道发给各位

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
别沉,求顶
2014-4-24 10:46
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
兄弟这个问题解决了吗?
2019-12-31 22:01
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
同样的问题,顶起来
2020-2-1 11:54
0
游客
登录 | 注册 方可回帖
返回