soot-oss / soot

Soot - A Java optimization framework
GNU Lesser General Public License v2.1
2.86k stars 705 forks source link

Soot Exception, whith no debug/error Info #386

Closed WangYeOtw closed 9 years ago

WangYeOtw commented 9 years ago

Dear all,I have use soot for a long time , also extends soot for my project to do APK analysis, Today ,while I use my project to analysis apks(with no APKProtect), it didn't work well as usual. To rule out my mistake, I just run a simple command to test soot:

My command as below :

java -Xss50m -Xmx1500m -cp .\soot.jar;.\AXMLPrinter2. jar;.\;baksmail.jar soot.Main -android-jars android-sdk -allow-phantom-refs -f jimple -src-prec apk -ir e -process-dir XXX.APK

but it failed to generate jimple files under "sootOutPut" directory,and soot didn't throw any error. one of these apks can be download from:

http://qd.baidupcs.com/file/3186363822c0abb3c4534bc922130959?bkt=p2-qd-125&fid=3810721036-250528-605863287880953&time=1428044039&sign=FDTAXERLBH-DCb740ccc5511e5e8fedcff06b081203-nV1ScSCiMlAZ3W5hykv2xMcGw%2BA%3D&to=qb&fm=Qin,B,U,nc&newver=1&newfm=1&flow_ver=3&sl=80347212&expires=8h&rt=sh&r=853673561&mlogid=3020172432&vuk=3810721036&vbdid=3891343460&fin=ningboyinxing_26.apk&fn=ningboyinxing_26.apk

ericbodden commented 9 years ago

Hi. What output does Soot generate in the shell?

WangYeOtw commented 9 years ago

in my shell , I try to generate jimple files under SOOT default output dir.

ericbodden commented 9 years ago

No I was asking what output Soot is showing you in the shell...

WangYeOtw commented 9 years ago

output in shell:

Soot started on Mon Apr 13 16:25:22 CST 2015 Using 'F:\android-sdk\android-4\android.jar' as android.jar Warning: android.animation.ValueAnimator is a phantom class! Warning: android.annotation.SuppressLint is a phantom class! Warning: android.annotation.TargetApi is a phantom class! Warning: org.xmlpull.v1.XmlPullParser is a phantom class! Warning: org.xmlpull.v1.XmlPullParserException is a phantom class! Warning: org.xmlpull.v1.XmlSerializer is a phantom class! Warning: javax.microedition.khronos.opengles.GL is a phantom class! Warning: android.location.GpsStatus$NmeaListener is a phantom class! Warning: android.os.Parcelable$ClassLoaderCreator is a phantom class! Warning: android.view.accessibility.AccessibilityNodeProvider is a phantom class! Warning: android.view.accessibility.AccessibilityNodeInfo is a phantom class! Warning: android.view.View$AccessibilityDelegate is a phantom class! Warning: android.util.Base64 is a phantom class! Warning: android.widget.EdgeEffect is a phantom class! Warning: org.json.JSONObject is a phantom class! Warning: javax.crypto.Cipher is a phantom class! Warning: javax.crypto.SecretKey is a phantom class! Warning: javax.crypto.SecretKeyFactory is a phantom class! Warning: javax.crypto.spec.DESedeKeySpec is a phantom class! Warning: org.apache.http.Header is a phantom class! Warning: org.apache.http.HttpEntity is a phantom class! Warning: org.apache.http.HttpHost is a phantom class! Warning: org.apache.http.HttpResponse is a phantom class! Warning: org.apache.http.StatusLine is a phantom class! Warning: org.apache.http.client.ClientProtocolException is a phantom class! Warning: org.apache.http.client.HttpClient is a phantom class! Warning: org.apache.http.client.entity.UrlEncodedFormEntity is a phantom class! Warning: org.apache.http.client.methods.HttpGet is a phantom class! Warning: org.apache.http.client.methods.HttpPost is a phantom class! Warning: org.apache.http.client.methods.HttpUriRequest is a phantom class! Warning: org.apache.http.conn.ssl.SSLSocketFactory is a phantom class! Warning: org.apache.http.conn.ssl.X509HostnameVerifier is a phantom class! Warning: org.apache.http.impl.client.DefaultHttpClient is a phantom class! Warning: org.apache.http.message.BasicNameValuePair is a phantom class! Warning: org.apache.http.params.HttpParams is a phantom class! Warning: org.apache.http.params.HttpProtocolParams is a phantom class! Warning: org.apache.http.util.EntityUtils is a phantom class! Warning: org.json.JSONArray is a phantom class! Warning: org.json.JSONException is a phantom class! Warning: com.android.internal.R$styleable is a phantom class! Warning: org.apache.harmony.dalvik.ddmc.ChunkHandler is a phantom class! Warning: org.apache.harmony.dalvik.ddmc.Chunk is a phantom class! Warning: org.apache.http.HttpRequestInterceptor is a phantom class! Warning: org.apache.harmony.xnet.provider.jsse.SSLClientSessionCache is a phantom class! Warning: org.apache.http.conn.ClientConnectionManager is a phantom class! Warning: org.apache.http.HttpRequest is a phantom class! Warning: org.apache.http.protocol.HttpContext is a phantom class! Warning: org.apache.http.client.ResponseHandler is a phantom class! Warning: org.apache.http.entity.AbstractHttpEntity is a phantom class! Warning: javax.microedition.khronos.egl.EGL10 is a phantom class! Warning: javax.microedition.khronos.egl.EGLDisplay is a phantom class! Warning: javax.microedition.khronos.egl.EGLContext is a phantom class! Warning: javax.microedition.khronos.egl.EGLSurface is a phantom class! Warning: javax.microedition.khronos.opengles.GL11 is a phantom class! Warning: junit.framework.Assert is a phantom class! Warning: org.ccil.cowan.tagsoup.HTMLSchema is a phantom class! Warning: org.ccil.cowan.tagsoup.Parser is a phantom class! Warning: org.apache.harmony.xml.ExpatReader is a phantom class! Warning: org.apache.harmony.xml.ExpatPullParser is a phantom class! Warning: org.xmlpull.v1.XmlPullParserFactory is a phantom class! Warning: android.R$styleable is a phantom class! Warning: org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl is a phantom class! Warning: org.apache.harmony.dalvik.ddmc.DdmServer is a phantom class! Warning: dalvik.system.VMDebug is a phantom class! Warning: dalvik.system.VMRuntime is a phantom class! Warning: org.apache.harmony.luni.internal.util.TimezoneGetter is a phantom class! Warning: org.apache.http.params.BasicHttpParams is a phantom class! Warning: org.apache.harmony.xnet.provider.jsse.SSLServerSessionCache is a phantom class! Warning: org.apache.http.conn.scheme.Scheme is a phantom class! Warning: org.apache.http.impl.client.RequestWrapper is a phantom class! Warning: org.apache.http.conn.scheme.SocketFactory is a phantom class! Warning: org.apache.http.conn.scheme.PlainSocketFactory is a phantom class! Warning: org.apache.http.params.HttpConnectionParams is a phantom class! Warning: org.apache.http.entity.ByteArrayEntity is a phantom class! Warning: org.apache.http.client.params.HttpClientParams is a phantom class! Warning: org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager is a phantom class! Warning: org.apache.http.HttpEntityEnclosingRequest is a phantom class! Warning: org.apache.http.conn.scheme.SchemeRegistry is a phantom class! Warning: org.apache.harmony.xnet.provider.jsse.SSLContextImpl is a phantom class! Warning: org.apache.http.protocol.BasicHttpProcessor is a phantom class! Warning: javax.microedition.khronos.egl.EGLConfig is a phantom class! Warning: javax.microedition.khronos.egl.EGL is a phantom class! Warning: org.apache.commons.codec.binary.Hex is a phantom class! Warning: org.apache.http.util.CharArrayBuffer is a phantom class! Warning: org.apache.http.message.BasicHeaderValueParser is a phantom class! Warning: org.apache.http.HeaderElement is a phantom class! Warning: org.apache.http.message.ParserCursor is a phantom class! Warning: org.apache.commons.codec.binary.Base64 is a phantom class! Warning: org.bouncycastle.asn1.x509.X509Name is a phantom class! Warning: org.bouncycastle.asn1.DERObjectIdentifier is a phantom class! Warning: org.apache.http.message.BasicHttpRequest is a phantom class! Warning: org.apache.http.protocol.RequestContent is a phantom class! Warning: org.apache.http.HttpException is a phantom class! Warning: org.apache.http.ParseException is a phantom class! Warning: org.apache.http.HttpInetConnection is a phantom class! Warning: org.apache.http.HttpConnection is a phantom class! Warning: dalvik.system.PathClassLoader is a phantom class! Warning: org.apache.http.auth.AuthSchemeRegistry is a phantom class! Warning: org.apache.http.cookie.CookieSpecRegistry is a phantom class! Warning: org.apache.http.protocol.BasicHttpContext is a phantom class! Warning: org.apache.http.client.CredentialsProvider is a phantom class! Warning: com.android.internal.telephony.gsm.GSMPhone$1 is a phantom class! Warning: org.apache.http.protocol.HTTP is a phantom class! Warning: org.apache.http.ProtocolVersion is a phantom class! Warning: org.apache.http.message.BasicHttpEntityEnclosingRequest is a phantom class! Warning: org.apache.http.RequestLine is a phantom class! Warning: org.apache.http.entity.InputStreamEntity is a phantom class! Warning: org.apache.http.io.SessionInputBuffer is a phantom class! Warning: org.apache.http.io.SessionOutputBuffer is a phantom class! Warning: org.apache.http.impl.entity.EntitySerializer is a phantom class! Warning: org.apache.http.io.HttpMessageWriter is a phantom class! Warning: org.apache.http.impl.HttpConnectionMetricsImpl is a phantom class! Warning: org.apache.http.HttpConnectionMetrics is a phantom class! Warning: org.apache.http.HttpVersion is a phantom class! Warning: org.apache.http.message.BasicLineParser is a phantom class! Warning: org.apache.http.NoHttpResponseException is a phantom class! Warning: org.apache.http.impl.io.HttpRequestWriter is a phantom class! Warning: org.apache.http.entity.ContentLengthStrategy is a phantom class! Warning: org.apache.http.HttpMessage is a phantom class! Warning: org.apache.http.impl.io.SocketInputBuffer is a phantom class! Warning: org.apache.http.message.LineFormatter is a phantom class! Warning: org.apache.http.entity.BasicHttpEntity is a phantom class! Warning: org.apache.http.impl.io.IdentityInputStream is a phantom class! Warning: org.apache.http.io.HttpTransportMetrics is a phantom class! Warning: org.apache.http.impl.io.ContentLengthInputStream is a phantom class! Warning: org.apache.http.impl.io.SocketOutputBuffer is a phantom class! Warning: org.apache.http.impl.io.ChunkedInputStream is a phantom class! Warning: org.apache.http.impl.entity.StrictContentLengthStrategy is a phantom class! Warning: org.apache.harmony.dalvik.ddmc.DdmVmInternal is a phantom class! Warning: org.apache.harmony.luni.internal.util.ZoneInfoDB is a phantom class! Warning: org.apache.harmony.xnet.provider.jsse.FileClientSessionCache is a phantom class! Warning: org.apache.harmony.xnet.provider.jsse.SSLParameters is a phantom class! array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int second round from stmt: $u2#4 = $u9[$u4] array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int array element type: (filled narr)int

and then exit. Usually, soot may print info:

Soot finished on Mon Apr 13 16:23:25 CST 2015 Soot has run for 0 min. 22 sec.

in the end.but with the apk, without the end info, and nothing generated under output dir.

WangYeOtw commented 9 years ago

Today, I found this issue also occur when analysis this APK(tencent mobile QQ): http://123.125.87.89/sqdd.myapp.com/myapp/qqteam/AndroidQQ/mobileqq_android.apk?m

StevenArzt commented 9 years ago

The first app in the original post cannot be downloaded, I get an HTTP 403 error when I try. The second link triggers my antivirus program which warns me because of a "high-risk website". Can you please send me the APK via e-mail to Steven.Arzt@cased.de?

WangYeOtw commented 9 years ago

@StevenArzt ,I have sent the two apk to you.

StevenArzt commented 9 years ago

I can reproduce the issue with the APK files you sent me.