[Soot-list] Inconsistency in handling unicode class names

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Sun Mar 6 07:33:18 EST 2011


Hi Christophe.

This sounds like a Soot bug and it should be fixed but it certainly
does not have high priority for us. If you could find out for us at
which stage Soot goes wrong that would certainly help us.

So feel free to submit further information or even a patch and then we
would be happy to incorporate it.

Eric



On 6 March 2011 12:58, Christophe Foket <christophe.foket at elis.ugent.be> wrote:
> Hello,
>
> I've been using Soot for a few months now, and I recently ran into the
> following problem. I've written a SceneTransformer that assigns each
> class a randomly generated name, chosen from the unicode character set.
> In particular, I have a class "D" that is renamed to "Ǥ" (Unicode:
> \u01E4, Latin Capital Letter G with stroke). However, when Soot writes
> out the renamed class files, something goes wrong. It outputs a class
> "Ǥ.class", which contains the following class defninition:
>
> -bash-3.2$ javap -c Ǥ
> Compiled from "D.java"
> public class Ǥ extends c implements J{
> public Ǥ();
> Code:
> 0: aload_0
> 1: invokespecial #3; //Method c."<init>":()V
> 4: return
>
> public void z();
> Code:
> 0: return
>
> }
>
> Note: Ǥ is what you get when converting \u01E4 to UTF-8 according to
> http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#7963
> Since "Ǥ" is also referenced from other classes, I cannot run my
> application after transformation, since the class loader cannot find the
> definition of class "Ǥ".
>
> On the other hand, when I make Soot output jasmin "Ǥ.jasmin", which
> after running jasminclasses produces "Ǥ.class", which contains:
>
> -bash-3.2$ javap -c Ǥ
> Compiled from "D.java"
> public class Ǥ extends c implements J{
> public Ǥ();
> Code:
> 0: aload_0
> 1: invokespecial #3; //Method c."<init>":()V
> 4: return
>
> public void z();
> Code:
> 0: return
>
> }
>
> Is there a way to make Soot output the right class file right away,
> without having to first generate jasmin files?
>
> Kind regards,
>
> Christophe
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Dr. Eric Bodden, http://bodden.de/
Principal Investigator in Secure Services at CASED
Coordinator of the CASED Advisory Board of Study Affairs
PostDoc at Software Technology Group, Technische Universität Darmstadt
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt


More information about the Soot-list mailing list