android killer
android killer很方便,可以反编译为smail并重新打包,不需要敲任何命令。
打印日志也很好
invoke-static {v0},Lcom/android/killer/Log; -Logstr(Ljava/Lang/string; ) v
长筒袜表演的加密是
#虚拟方法
.方法公共(ljava/util/list; ) Ljava/lang/String;
. locals 5
. annotationsystemldalvik/annotation/signature;
value={
}
. end annotation
. prologue
. line 140
新实例v 0,Lcom/penquanyun/live/p;
invoke-direct {v0,p0},Lcom/penquanyun/live/p; -(LCOM/Penquanyun/live/o; ) v
invoke-static {p1,v0},Ljava/util/Collections; -sort(Ljava/util/list; Ljava/util/Comparator; ) v
. line 147
新实例v2,Ljava/lang/StringBuilder;
iget-object v0,p0,Lcom/penquanyun/live/o; -a:Lcom/penquanyun/live/n;
invoke-static {v0},Lcom/penquanyun/live/n; -a(LCOM/Penquanyun/live/n; (Lcom/penquanyun/live/n$a;
移动结果对象v 0
invoke-static {v0},Lcom/penquanyun/live/n$a; -c(lcom/Penquanyun/live/n$a; ) I
move-result v0
invoke-static {v0},Ljava/lang/String; -valueof(I ) Ljava/lang/String;
移动结果对象v 0
invoke-direct {v2,v0},Ljava/lang/StringBuilder; -(Ljava/Lang/string; ) v
. line 148
const/4v 0,0x 0
move v1,v0
:goto_0
invoke-interface {p1},Ljava/util/List; -size(I
move-result v0
if-ge v1,v 0, cond _ 1
. line 150
invoke-interface {p1,v1},Ljava/util/List; -get(I ) Ljava/lang/Object;
移动结果对象v 0
检查- cast v 0,Lorg/apache/http/NameValuePair;
. line 151
if-lez v1, cond _ 0
. line 153
const-string/jumbo v3,''
invoke-virtual {v2,v3},Ljava/lang/StringBuilder; -append(Ljava/Lang/string; ) Ljava/lang/StringBuilder;
. line 155
:cond_0
invoke-interface {v0},Lorg/apache/http/NameValuePair; -getname(Ljava/Lang/string;
移动结果对象v3
invoke-virtual {v2,v3},Ljava/lang/StringBuilder; -append(Ljava/Lang/string; ) Ljava/lang/StringBuilder;
移动结果对象v3
const-string/jumbo v4,'='
invoke-virtual {v3,v4},Ljava/lang/StringBuilder; -append(Ljava/Lang/string; ) Ljava/lang/StringBuilder;
移动结果对象v3
invoke-interface {v0},Lorg/apache/http/NameValuePair; -getvalue(Ljava/lang/string;
移动结果对象v 0
invoke-static {v0},Ljava/net/URLEncoder; -编码(ljava/lang/string; ) Ljava/lang/String;
移动结果对象v 0
invoke-virtual {v3,v0},Ljava/lang/StringBuilder; -append(Ljava/Lang/string; ) Ljava/lang/StringBuilder;
. line 148
add-int/lit8 v0,v1,0x 1
move v1,v0
goto :goto_0
. line 157
:cond_1
iget-object v0,p0,Lcom/penquanyun/live/o; -a:Lcom/penquanyun/live/n;
invoke-static {v0},Lcom/penquanyun/live/n; -a(LCOM/Penquanyun/live/n; (Lcom/penquanyun/live/n$a;
移动结果对象v 0
iget-object v0,v0,Lcom/penquanyun/live/n$a; -d:Ljava/lang/String;
invoke-virtual {v2,v0},Ljava/lang/StringBuilder; -append(Ljava/Lang/string; ) Ljava/lang/StringBuilder;
. line 158
invoke-virtual {v2},Ljava/lang/StringBuilder; -tostring(Ljava/Lang/string;
移动结果对象v 0
在这里输入此行的代码,在加密之前打印拼接的字符串,一切都会变得清晰
invoke-static {v0},Lcom/android/killer/Log; -Logstr(Ljava/Lang/string; ) v
invoke-static {v0},Lcom/penquanyun/lib/util/e; -a(Ljava/Lang/string; ) Ljava/lang/String;
移动结果对象v 0
返回对象v 0
. end method
invoke-static {v0},Lcom/android/killer/Log; -Logstr(Ljava/Lang/string; ) v
invoke-static {v0},Lcom/penquanyun/lib/util/e; -a(Ljava/Lang/string; ) Ljava/lang/String;
安卓有个log包,不需要自己写,不知道有多方便。
然后重新打包回去
tag :安卓killer-string
消息:1001 a=gettypelistappkey=siwa-live 1c=room count=10 start=0type=hot we 43 @! YU89
1001是腾讯appid
WE43@! YU89jjdmz,看代码还没找到。 混淆的代码确实很难看,但是如果能直接打印出来看log就很有用了