这段代码反编译如何破解?

wensefu 2013-08-01 08:57:57

public static int createProgram(String paramString1, String paramString2)
{
int j = loadShader(35633, paramString1);
int m;
if (j == 0)
m = 0;
int[] arrayOfInt;
do
{
int k;
do
{
return m;
k = loadShader(35632, paramString2);
if (k == 0)
return 0;
m = GLES20.glCreateProgram();
}
while (m == 0);
GLES20.glAttachShader(m, j);
GLES20.glAttachShader(m, k);
GLES20.glLinkProgram(m);
arrayOfInt = new int[1];
GLES20.glGetProgramiv(m, 35714, arrayOfInt, 0);
}
while (arrayOfInt[0] == 1);
GLES20.glDeleteProgram(m);
return 0;
}


我尝试的破解代码是:


public static int createProgram(String paramString1, String paramString2) {
int j = loadShader(35633, paramString1);
if (j == 0) {
return 0;
}
int m;
int[] arrayOfInt = new int[1];
int k = loadShader(35632, paramString2);
if (k == 0) {
return 0;
}
m = GLES20.glCreateProgram();
if (m == 0) {
return 0;
}
GLES20.glAttachShader(m, j);
GLES20.glAttachShader(m, k);
GLES20.glLinkProgram(m);
arrayOfInt = new int[1];
GLES20.glGetProgramiv(m, 35714, arrayOfInt, 0);
if (arrayOfInt[0] != 1) {
GLES20.glDeleteProgram(m);
}
return 0;
}
...全文
94 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 2013-08-01
  • 打赏
  • 举报
回复
顺序打乱了是吧?
wensefu 2013-08-01
  • 打赏
  • 举报
回复
还有更蛋疼的:

 private void move()
  {
    int j;
    int k;
    int m;
    int n;
    if (this.mScreenWidth > this.mScreenHeight)
    {
      j = this.spanXForLandscape;
      k = this.spanYForLandscape;
      m = this.NUM_DETAILS_WIDTH - k;
      n = this.NUM_DETAILS_HEIGHT - j;
      if (JniWaterRippleRender.move(this.velocity, this.heights, k, j, m, n, this.NUM_DETAILS_WIDTH, this.NUM_DETAILS_HEIGHT, Boolean.valueOf(true)) != 0)
      {
        int i4 = this.mVelocityCheckCnt;
        this.mVelocityCheckCnt = (i4 + 1);
        if (i4 <= 0)
          break label203;
        this.mVelocityCheckCnt = 0;
        ((GLSurfaceView)this.mParent).setRenderMode(0);
        Log.d("CircleUnlockRippleRenderer", "RENDERMODE_WHEN_DIRTY!!!");
      }
    }
    else
    {
      for (int i5 = k; ; i5++)
      {
        if (i5 >= m)
          break label203;
        int i6 = j;
        while (true)
          if (i6 < n)
          {
            int i7 = i5 + i6 * this.NUM_DETAILS_WIDTH;
            this.heights[i7] = 0.0F;
            this.velocity[i7] = 0.0F;
            i6++;
            continue;
            j = this.spanXForPortrait;
            k = this.spanYForPortrait;
            m = this.NUM_DETAILS_WIDTH - k;
            n = this.NUM_DETAILS_HEIGHT - j;
            break;
          }
      }
    }
    this.mVelocityCheckCnt = 0;
    label203: for (int i1 = 0; i1 < this.SURFACE_DETAILS_HEIGHT; i1++)
      for (int i2 = 0; i2 < this.SURFACE_DETAILS_WIDTH; i2++)
      {
        int i3 = 3 * (i1 + i2 * this.SURFACE_DETAILS_HEIGHT);
        this.gpuHeights[(i3 + 0)] = this.heights[(2 + (i1 + (i2 + 2) * this.NUM_DETAILS_WIDTH))];
        this.gpuHeights[(i3 + 1)] = this.heights[(1 + (i1 + (i2 + 2) * this.NUM_DETAILS_WIDTH))];
        this.gpuHeights[(i3 + 2)] = this.heights[(2 + (i1 + (i2 + 1) * this.NUM_DETAILS_WIDTH))];
      }
  }
待我功成名就 2013-08-01
  • 打赏
  • 举报
回复
public static int createProgram(String paramString1, String paramString2) { int j = loadShader(35633, paramString1); if (j == 0) { return 0; } int m; int[] arrayOfInt = new int[1]; int k = loadShader(35632, paramString2); if (k == 0) { return 0; } m = GLES20.glCreateProgram(); if (m == 0) { return 0; } GLES20.glAttachShader(m, j); GLES20.glAttachShader(m, k); GLES20.glLinkProgram(m); arrayOfInt = new int[1]; GLES20.glGetProgramiv(m, 35714, arrayOfInt, 0); if (arrayOfInt[0] != 1) { GLES20.glDeleteProgram(m); } return 0; }

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧