[Soot-list] how to process single class file to a jimple file
毅力公司
472408570 at qq.com
Mon Mar 10 12:25:50 EDT 2014
Dear all,
I am just beginning to learn to use the Soot.
I am in trouble with how to process the single class file to a jimple file by command-line and in eclipse. Do someone can give me a help?
screenshot are attached below~
the command-line:
how to transfer the TestInvoke.class to a jimple file?
or In eclipse:
I got a TestInvoke.class in the "sootOutput"filefolder , it was show like this:
But when transferred it a jimple file by right-click to create a jimple file for TestInvoke.class
It was different with the the original TestInvoke.class file:
class TestInvoke extends java.lang.Object
{
private static int calls;
static void <clinit>()
{
<TestInvoke: int calls> = 0;
return;
}
void <init>()
{
TestInvoke r0;
r0 := @this: TestInvoke;
specialinvoke r0.<java.lang.Object: void <init>()>();
return;
}
public static void main(java.lang.String[])
{
java.lang.String[] r0;
int i0, $i1;
java.io.PrintStream $r1;
java.lang.StringBuilder $r2, $r3, $r4;
java.lang.String $r5;
r0 := @parameter0: java.lang.String[];
i0 = 0;
goto label1;
label0:
staticinvoke <TestInvoke: void foo()>();
i0 = i0 + 1;
label1:
if i0 < 10 goto label0;
$r1 = <java.lang.System: java.io.PrintStream out>;
$r2 = new java.lang.StringBuilder;
specialinvoke $r2.<java.lang.StringBuilder: void <init>(java.lang.String)>("I made ");
$i1 = <TestInvoke: int calls>;
$r3 = virtualinvoke $r2.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>($i1);
$r4 = virtualinvoke $r3.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" static calls");
$r5 = virtualinvoke $r4.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke $r1.<java.io.PrintStream: void println(java.lang.String)>($r5);
return;
}
private static void foo()
{
int $i0, $i1;
$i0 = <TestInvoke: int calls>;
$i1 = $i0 + 1;
<TestInvoke: int calls> = $i1;
staticinvoke <TestInvoke: void bar()>();
return;
}
private static void bar()
{
int $i0, $i1;
$i0 = <TestInvoke: int calls>;
$i1 = $i0 + 1;
<TestInvoke: int calls> = $i1;
return;
}
}
Looking forward your help.
Thanks a lot.
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20140311/49b07354/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 51367 bytes
Desc: not available
Url : http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20140311/49b07354/attachment-0002.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 81286 bytes
Desc: not available
Url : http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20140311/49b07354/attachment-0003.obj
More information about the Soot-list
mailing list