能力值:
( LV3,RANK:30 )
|
-
-
2 楼
自己编写一个APK 在反编译编写的APK 在复制粘贴 最后重组 完事!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这样子弄就成了!
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0}, Ljava/lang/String;-><init>([B)V
const-string v3, "TEST"
invoke-static {v3, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
首先添加一个函数,例如:
.method public static log([B)V
.locals 6
.parameter "bt"
.prologue
.line 12
const-string v2, ""
.line 13
.local v2, str:Ljava/lang/String;
#v2=(Reference);
const/4 v1, 0x0
.local v1, i:I
:goto_0
#v0=(Conflicted);v1=(Integer);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);
array-length v3, p0
#v3=(Integer);
if-lt v1, v3, :cond_0
.line 20
const-string v3, "gdc"
#v3=(Reference);
invoke-static {v3, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 21
return-void
.line 15
:cond_0
#v3=(Integer);
aget-byte v3, p0, v1
#v3=(Byte);
and-int/lit16 v3, v3, 0xff
#v3=(Integer);
or-int/lit16 v0, v3, -0x100
.line 16
.local v0, hex:I
#v0=(Integer);
new-instance v3, Ljava/lang/StringBuilder;
#v3=(UninitRef);
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
#v4=(Reference);
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
#v3=(Reference);
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v4
const/4 v5, 0x6
#v5=(PosByte);
invoke-virtual {v4, v5}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 17
new-instance v3, Ljava/lang/StringBuilder;
#v3=(UninitRef);
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
#v3=(Reference);
const-string v4, " "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 13
add-int/lit8 v1, v1, 0x1
goto :goto_0
.end method
然后在需要打印的地方添加代码
invoke-virtual {v1}, Lxxx/xx/xxx;->log([B;)V
其中,xxx/xx/xxx是你添加的库类全名。
打印的内容可以在DDMS中找到,标签为gdc
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
反编译不行莫,,直接反编译class文件,得到源码莫
|