WEB开发网
开发学院手机开发Android 开发 Android反编译系列二之for循环语句的怪状 阅读

Android反编译系列二之for循环语句的怪状

 2010-11-05 00:57:51 来源:WEB开发网   
核心提示:Android反编译系列二之for循环语句的怪状for循环被反编译后出现了一种怪状。一个for循环源码:for (int i = 0; i < array; i++) {System.out.print("xxx");}反编译后:int i = null;do{int j = array;if

Android反编译系列二之for循环语句的怪状

for循环被反编译后出现了一种怪状。

一个for循环

源码:

for (int i = 0; i < array; i++) {

System.out.print("xxx");

}

反编译后:

int i = null;

do

{

int j = array;

if (i >= j)

return;

System.out.print("xxx");

i++;

} while (true);

俩个for循环

源码:

public void clearTiles() {

for (int x = 0; x < mXTileCount; x++) {

for (int y = 0; y < mYTileCount; y++) {

setTile(0, x, y);

}

}

}

反编译后:

public void clearTiles()

{

int i = 0;

_L2:

int j = mXTileCount;

if (i >= j)

return;

int k = null;

do

{

label0:

{

int l = mYTileCount;

if (k < l)

break label0;

i++;

}

if (true)

continue;

setTile(0, i, k);

k++;

} while (true);

if (true) goto _L2; else goto _L1

_L1:

}

三个for循环

源码

public void tt()

{

for (int i = 0; i < array; i++) {

for (int j = 0; j < array; j++) {

for (int k = 0; k < array;k++)

{

System.out.print("xxx");

}

}

}

}

反编译后

public void tt()

{

int i = null;

_L2:

int k;

int j = array;

if (i >= j)

return;

k = null;

_L3:

label0:

{

int l = array;

if (k < l)

break label0;

1 2  下一页

Tags:Android 编译 系列

编辑录入:coldstar [复制链接] [打 印]
赞助商链接