zhangwenan / smali

Automatically exported from code.google.com/p/smali
0 stars 0 forks source link

unable to de-odex com.htc.rss.odex #31

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What seems to be the problem?
Can't de-odex com.htc.rss.odex

What is the exact smali/baksmali command that you ran?
java -Xmx256m -jar ~/bin/baksmali-1.2.2.jar -x com.htc.rss.odex -o 
com.htc.rss.odex.files

What version are you using?
1.22

Please provide any additional information below: error messages, symptoms,
etc.

I have tried to include all files within the framework folder and this file 
will still not de-odex, I have managed to de-odex all files except this 
one,

Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Code.Analysis.ClassPath$ClassNotFoundException: Could not 
find interface Lcom/sun/msv/datatype/SerializationContext;
        at 
org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.loadAllImplementedInterfaces
(ClassPath.java:819)
        at 
org.jf.dexlib.Code.Analysis.ClassPath$ClassDef.<init>(ClassPath.java:675)
        at 
org.jf.dexlib.Code.Analysis.ClassPath.loadClassDef(ClassPath.java:280)
        at 
org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:163)
        at 
org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath
.java:110)
        at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:93)
        at org.jf.baksmali.main.main(main.java:277)
Error while loading class Lorg/dom4j/datatype/DatatypeAttribute; from file 
com.htc.rss.odex
Error while loading ClassPath class Lorg/dom4j/datatype/DatatypeAttribute;

any help would be appreciated.

Original issue reported on code.google.com by green...@gmail.com on 7 Jun 2010 at 4:21

GoogleCodeExporter commented 9 years ago
I have also tried all libraries located within /init.rc

Original comment by green...@gmail.com on 7 Jun 2010 at 4:24

GoogleCodeExporter commented 9 years ago
It's likely that class doesn't exist on the phone. You'll need to see if the 
class
exists in any of the framework files. (baksmali them, and see if there's a 
smali file
for the class that it can't find).

If that class really doesn't exist, then you should be able to use the
-I/--ignore-errors option in baksmali to get it to deodex.

Original comment by JesusFr...@gmail.com on 7 Jun 2010 at 12:26

GoogleCodeExporter commented 9 years ago
Bravo_HTC_WWE_1.21.405.2
I've deodexed whole rom. There is no such class.

It's from java xsdlib library, which isn't in the rom. Don't understand how htc 
could use it in this way.

Original comment by stari...@gmail.com on 23 Jun 2010 at 8:17

GoogleCodeExporter commented 9 years ago
That's really not that uncommon with HTC/sense roms. Apparently, the code that 
references those non-existant classes is never actually used.

Did you try the -I option?

Original comment by JesusFre...@gmail.com on 24 Jun 2010 at 3:36

GoogleCodeExporter commented 9 years ago
It has a lot of references for non existent classes.
By the way RSS.odex, which references to com.htc.rss.jar deodexed without any 
errors
==
org.jf.dexlib.Code.Analysis.ValidationException: class Lcom/htc/StingHandler; 
cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class 
Ljava/beans/IntrospectionException; cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class 
Lorg/dom4j/datatype/DatatypeAttribute; cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class 
Lorg/dom4j/datatype/DatatypeElement; cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class 
Ljavax/xml/stream/XMLInputFactory; cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class Lnu/xom/Attribute; 
cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class Lnu/xom/Comment; cannot 
be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class Lnu/xom/Node; cannot be 
resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class 
Lnu/xom/ProcessingInstruction; cannot be resolved.
org.jf.dexlib.Code.Analysis.ValidationException: class Lnu/xom/Text; cannot be 
resolved.
====
StingHandler is from RSS.odex, htc rocks! framework references system app
IntrospectionException is defined inside itself. (com/rosedata/java/beans)

Original comment by stari...@gmail.com on 24 Jun 2010 at 5:38

GoogleCodeExporter commented 9 years ago
Does -I work for you?

Original comment by JesusFre...@gmail.com on 24 Jun 2010 at 1:18

GoogleCodeExporter commented 9 years ago
-I does indeed allow the file to be processed, is there anyway to silence the 
error output on Linux, or could you possibly at that option to the next 
release, would make it easier to recognise problems in other odex files when 
using bash scripts to deodex mass amounts.

Original comment by green...@gmail.com on 24 Jun 2010 at 1:23

GoogleCodeExporter commented 9 years ago
-I works for deodexing.
I didn't try to smali it back.

Original comment by stari...@gmail.com on 24 Jun 2010 at 3:04