.method static log(Ljava/lang/Object;)V
.locals 2
.param p0, "s" # Ljava/lang/Object;
.prologue
.line 21
const-string v0, "testfuck"
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
.line 23
return-void
.end method
额,是这样的,安卓经常用到就是把一堆字符串传给服务器,这时候字符串到底怎么构造成最终结果。
当然这里分析的是别人家的软件那些密钥之类的我们是不知道的,当然也不能猜啊之类的,所以只好破解了。
这里参考一个打log的方法。
这就是打印一个变量函数,smali,不能java哈
然后 invoke-static {v0}, Lcom/example/testsmali/MainActivity;->log(Ljava/lang/Object;)V
调用它就可以打印字符串了,注意不要在move result前面调用啊
简单举个例子,经常看到sig=6e7317f3f8bd61072f40a08311171367
那这里sig的长相md5,对不对,我们想知道对什么字符串md5了,直接打log就可以了