i#前言
今天看到了crackmes.de上的幾個android題,於是順手來搞搞, 不過都是11年的。
error
E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.VerifyError: com/example/helloandroid/HelloAndroid$2
at com.example.helloandroid.HelloAndroid.<init>(HelloAndroid.java:68)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
還有一個錯誤是java.lang.NoSuchMethodError
引發這兩個錯誤的是Log類, 還有就是 Toast, 我的第一反應應該是版本不同的原因, 逆向的是2.2版本的。我檢查了一下整個文件,沒有對簽名有檢驗的,另外在想是夠可以通過寫System.out.println()來實現呢。 反正最後我就通過寫kegen來解決了。
後記
後來又去試了一下,本來是想自己寫個apk,然後看一下System.out.println() 的實現的, 結果apktool報了錯,好像是資源錯了, 不知道是不是AS的問題, 然後就直接百度找了那個語句的smali,
sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
invoke-virtual {v1, v14}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
結果就可以輸出了