[Soot-list] (no subject)

Peng Li lipeng360 at gmail.com
Thu Oct 5 20:34:58 EDT 2006


Hi
I am using soot to find the returned value of each method in the following
jimple file. it is very wired, besides the method "execute", there is
another method called "class$", which returns "r0", the signature is "<
com.oreilly.struts.storefront.security.LoginAction: java.lang.Class class$(
java.lang.String)>". Because this method is useless for my analysis, can I
filter out it using some methods?

public class com.oreilly.struts.storefront.security.LoginAction extends
com.oreilly.struts.storefront.framework.StorefrontBaseAction
{
    protected static org.apache.commons.logging.Log log;
    static java.lang.Class class$0;

    static void <clinit>()
    {
        java.lang.Class $r0;
        java.lang.NoClassDefFoundError $r1;
        java.lang.ClassNotFoundException $r2;
        java.lang.String $r3;
        org.apache.commons.logging.Log $r4;

        $r0 = <com.oreilly.struts.storefront.security.LoginAction:
java.lang.Class class$0>;
        if $r0 != null goto label3;

     label0:
        $r0 = staticinvoke <java.lang.Class: java.lang.Class forName(
java.lang.String)>("
com.oreilly.struts.storefront.framework.StorefrontBaseAction");

     label1:
        <com.oreilly.struts.storefront.security.LoginAction:
java.lang.Classclass$0> = $r0;
        goto label3;

     label2:
        $r2 := @caughtexception;
        $r1 = new java.lang.NoClassDefFoundError;
        $r3 = virtualinvoke $r2.<java.lang.Throwable:
java.lang.StringgetMessage()>();
        specialinvoke $r1.<java.lang.NoClassDefFoundError: void <init>(
java.lang.String)>($r3);
        throw $r1;

     label3:
        $r4 = staticinvoke <org.apache.commons.logging.LogFactory:
org.apache.commons.logging.Log getLog(java.lang.Class)>($r0);
        <com.oreilly.struts.storefront.security.LoginAction:
org.apache.commons.logging.Log log> = $r4;
        return;

        catch java.lang.ClassNotFoundException from label0 to label1 with
label2;
    }

    public void <init>()
    {
        com.oreilly.struts.storefront.security.LoginAction r0;

        r0 := @this: com.oreilly.struts.storefront.security.LoginAction;
        specialinvoke r0.<
com.oreilly.struts.storefront.framework.StorefrontBaseAction: void
<init>()>();
        return;
    }

    public org.apache.struts.action.ActionForward execute(
org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm,
javax.servlet.http.HttpServletRequest,
javax.servlet.http.HttpServletResponse) throws java.lang.Exception
    {
        com.oreilly.struts.storefront.security.LoginAction r0;
        org.apache.struts.action.ActionMapping r1;
        org.apache.struts.action.ActionForm r2;
        javax.servlet.http.HttpServletRequest r3;
        javax.servlet.http.HttpServletResponse r4;
        java.lang.String r5, r6;
        com.oreilly.struts.storefront.service.IStorefrontService r8;
        com.oreilly.struts.storefront.customer.view.UserView r9, $r15;
        com.oreilly.struts.storefront.framework.UserContainer r10;
        com.oreilly.struts.storefront.security.LoginForm $r11, $r12;
        org.apache.struts.action.ActionServlet $r13;
        java.io.PrintStream $r14;
        org.apache.struts.action.ActionForward $r16;

        r0 := @this: com.oreilly.struts.storefront.security.LoginAction;
        r1 := @parameter0: org.apache.struts.action.ActionMapping;
        r2 := @parameter1: org.apache.struts.action.ActionForm;
        r3 := @parameter2: javax.servlet.http.HttpServletRequest;
        r4 := @parameter3: javax.servlet.http.HttpServletResponse;
        $r11 = (com.oreilly.struts.storefront.security.LoginForm) r2;
        r5 = virtualinvoke $r11.<
com.oreilly.struts.storefront.security.LoginForm: java.lang.StringgetEmail()>();
        $r12 = (com.oreilly.struts.storefront.security.LoginForm) r2;
        r6 = virtualinvoke $r12.<
com.oreilly.struts.storefront.security.LoginForm:
java.lang.StringgetPassword()>();
        $r13 = virtualinvoke r0.<
com.oreilly.struts.storefront.security.LoginAction:
org.apache.struts.action.ActionServlet getServlet()>();
        virtualinvoke $r13.<org.apache.struts.action.ActionServlet:
javax.servlet.ServletContext getServletContext()>();
        r8 = virtualinvoke r0.<
com.oreilly.struts.storefront.security.LoginAction:
com.oreilly.struts.storefront.service.IStorefrontServicegetStorefrontService()>();
        r9 = interfaceinvoke r8.<
com.oreilly.struts.storefront.service.IStorefrontService:
com.oreilly.struts.storefront.customer.view.UserView authenticate(
java.lang.String,java.lang.String)>(r5, r6);
        r10 = virtualinvoke r0.<
com.oreilly.struts.storefront.security.LoginAction:
com.oreilly.struts.storefront.framework.UserContainer getUserContainer(
javax.servlet.http.HttpServletRequest)>(r3);
        virtualinvoke r10.<
com.oreilly.struts.storefront.framework.UserContainer: void setUserView(
com.oreilly.struts.storefront.customer.view.UserView)>(r9);
        $r14 = <java.lang.System: java.io.PrintStream out>;
        $r15 = virtualinvoke r10.<
com.oreilly.struts.storefront.framework.UserContainer:
com.oreilly.struts.storefront.customer.view.UserView getUserView()>();
        virtualinvoke $r14.<java.io.PrintStream: void println(
java.lang.Object)>($r15);
        $r16 = virtualinvoke r1.<org.apache.struts.action.ActionMapping:
org.apache.struts.action.ActionForward findForward(java.lang.String
)>("Success");
        return $r16;
    }
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20061006/1aa8a4a1/attachment.htm


More information about the Soot-list mailing list