能力值:
( LV2,RANK:10 )
|
-
-
2 楼
找到了,在InfoFlowData$InfoFlowScore.smali里,不好意思,又发了个没意义的帖子。。
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
为毛线不用Jeb
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
Jeb的Smali跟apktool弄出来的Smali在语法上有些差别,
比如:
private void packageNameCheck()
{
com.example.testfor360.MainActivity mm = new com.example.testfor360.MainActivity();
mm.packageNameCheck();
}
用Jeb反编译出来是这样的:
.method private packageNameCheck()V
.registers 2
.prologue
new-instance v0, MainActivity
invoke-direct MainActivity-><init>()V, v0
.local v0, mm:Lcom/example/testfor360/MainActivity;
0000000A invoke-virtual MainActivity->packageNameCheck()V, v0
return-void
.end method
而用Apktool反编译出来是这样的:
.method private packageNameCheck()V
.locals 1
.prologue #代码起始指令
.line 80
new-instance v0, Lcom/example/testfor360/MainActivity;
invoke-direct {v0}, Lcom/example/testfor360/MainActivity;-><init>()V
.line 81
.local v0, mm:Lcom/example/testfor360/MainActivity;
invoke-virtual {v0}, Lcom/example/testfor360/MainActivity;->packageNameCheck()V
.line 82
return-void #返回空
.end method
仅仅这一小段看来,有这些区别:
1.Apktool的smali中所有的类都用了完整路径名(L打头),并且以分号结束,包括后面;-><init>的之前,也加了分号;而Jeb只写了类名,并且不带分号
2.方法调用指令invoke-direct中,Apktool把寄存器放到了前面,并且用open brace "{" 和 close brace"}"括起来了;Jeb把寄存器放到了后面,没有大括号
另外,Apktool里的.line xx在Jeb里没有出现。
为了回编译方便,还是常用apktool。。
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
but,这个代码量不大啊,个人觉得,代码量大的话,jeb的跳转,交叉引用这些还是很有用的。还可以方便的查看smali与java的对应关系。
|
|
|