如何将goto标签循环转换为for或while循环

时间:2015-06-11 10:34:47

标签: for-loop while-loop goto decompiler deobfuscation

我想了解一个程序,我认为它被混淆了。这很难理解 我想把转到标签循环转换为for或while循环。 我找到了一些混淆程序,但它不能按我的意愿工作 请帮帮我!!!

private void calculatePageOffsets(ItemInfo paramItemInfo1, int paramInt, ItemInfo paramItemInfo2)
{
int m = this.mAdapter.getCount();
int i = getClientHeight();
float f2;
if (i > 0)
{
  f2 = this.mPageMargin / i;
  if (paramItemInfo2 == null)
    break label409;
  i = paramItemInfo2.position;
  if (i < paramItemInfo1.position)
  {
    j = 0;
    f1 = paramItemInfo2.offset + paramItemInfo2.heightFactor + f2;
    i += 1;
  }
}
else
{
  while (true)
  {
    if ((i > paramItemInfo1.position) || (j >= this.mItems.size()))
      break label409;
    for (paramItemInfo2 = (ItemInfo)this.mItems.get(j); ; paramItemInfo2 = (ItemInfo)this.mItems.get(j))
    {
      f3 = f1;
      k = i;
      if (i <= paramItemInfo2.position)
        break;
      f3 = f1;
      k = i;
      if (j >= this.mItems.size() - 1)
        break;
      j += 1;
    }
    f2 = 0.0F;
    break;
    while (k < paramItemInfo2.position)
    {
      f3 += this.mAdapter.getPageWidth(k) + f2;
      k += 1;
    }
    paramItemInfo2.offset = f3;
    f1 = f3 + (paramItemInfo2.heightFactor + f2);
    i = k + 1;
  }
}

0 个答案:

没有答案