How do I reverse engineer this code to convert a binary graphic table to a editable png?
up vote
0
down vote
favorite
I'm working re-spriting this android game and the sprites are all in one file called gt, this is the code from the apk that converts what I assume is the byte code file into actual images.
It takes one parameter which is the path to that file.
Java isn't really my language so I was hoping someone could help me figure out what this code is doing and how I can use it to convert the file into something that I can edit like a png.
This is the corresponding source code:
public static void readGraphicsTable(String paramString)
{
InputStream localInputStream = Util.getResourceAsStream(paramString);
if (localInputStream == null)
{
HG.logWarning("Config file not found: " + paramString);
return;
}
int j;
int k;
for (;;)
{
try
{
paramString = new DataInputStream(localInputStream);
j = paramString.readShort();
k = paramString.readShort();
if ((j != 18260) && (k != 1281))
{
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
createFontOffsets();
}
}
catch (Throwable paramString)
{
label156:
paramString = paramString;
HG.handleError(paramString, "Gfx.readGraphicsTable()");
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
k = paramString.readShort();
colors = new int[k];
j = 0;
if (j >= k) {
continue;
}
colors[j] = paramString.readInt();
j += 1;
continue;
k = paramString.readShort();
fonts = new Font[k];
fontOffsets = (int)Array.newInstance(Integer.TYPE, new int { k, 4 });
j = 0;
if (j >= k) {
continue;
}
m = paramString.readByte();
if (m != -1) {
continue;
}
fonts[j] = Font.getDefaultFont();
fontOffsets[j][0] = paramString.readByte();
fontOffsets[j][1] = paramString.readByte();
fontOffsets[j][2] = paramString.readByte();
fontOffsets[j][3] = paramString.readByte();
j += 1;
continue;
fonts[j] = Font.getFont(m & 0x60, m & 0x7, m & 0x18);
continue;
}
finally {}
j = paramString.readShort();
if (j == -1) {
break label1144;
}
k = paramString.readShort();
switch (j)
{
case 17231:
paramString.skip(k);
}
}
for (;;)
{
int m;
try
{
localInputStream.close();
throw paramString;
k = paramString.readShort();
imageTable = new short[k + 4];
images = new Image[k + 4];
j = 0;
if (j < k)
{
m = (short)paramString.readByte();
if (m == -1) {
break label1160;
}
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort[j] = arrayOfShort1;
m = (short)(m << 8);
if ((m & 0x200) != 0)
{
int i = paramString.readShort();
System.arraycopy(imageTable[i], 0, arrayOfShort1, 0, arrayOfShort1.length);
arrayOfShort1[7] = ((short)(arrayOfShort1[7] | m));
arrayOfShort1[10] = i;
break label1160;
}
n = paramString.readByte();
int i1 = paramString.readByte();
arrayOfShort1[7] = ((short)(m | n));
arrayOfShort1[2] = ((short)(i1 >> 4 & 0xF));
arrayOfShort1[3] = ((short)(i1 >> 0 & 0xF));
arrayOfShort1[4] = ((short)paramString.readByte());
arrayOfShort1[5] = paramString.readShort();
arrayOfShort1[6] = paramString.readShort();
arrayOfShort1[8] = paramString.readShort();
paramString.readUTF();
if ((m & 0x100) == 0) {
break label1160;
}
arrayOfShort1[10] = paramString.readShort();
arrayOfShort1[11] = ((short)paramString.readByte());
break label1160;
}
short arrayOfShort = imageTable;
short arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 4;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
break;
k = paramString.readShort();
frameTable = new short[k * 7];
j = 0;
break label1167;
frameTable[(m + 2)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 3)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 0)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 1)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 4)] = ((short)paramString.readByte());
frameTable[(m + 5)] = ((short)paramString.readByte());
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
frameTable[(m + 2)] = paramString.readShort();
frameTable[(m + 3)] = paramString.readShort();
frameTable[(m + 0)] = paramString.readShort();
frameTable[(m + 1)] = paramString.readShort();
frameTable[(m + 4)] = paramString.readShort();
frameTable[(m + 5)] = paramString.readShort();
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
m = paramString.readShort();
animationTable = new short[m];
j = 0;
if (j >= m) {
break;
}
int n = paramString.readShort();
arrayOfShort = animationTable;
arrayOfShort1 = new short[n + 2];
arrayOfShort[j] = arrayOfShort1;
k = 0;
if (k >= n + 2) {
break label1215;
}
arrayOfShort1[k] = paramString.readShort();
k += 1;
continue;
paramString.skip(k);
break;
try
{
label1144:
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
}
catch (Throwable localThrowable)
{
continue;
}
break label156;
label1160:
j += 1;
continue;
label1167:
while (j < k)
{
m = j * 7;
switch (8)
{
}
label1208:
j += 1;
}
break;
label1215:
j += 1;
}
}
java android
add a comment |
up vote
0
down vote
favorite
I'm working re-spriting this android game and the sprites are all in one file called gt, this is the code from the apk that converts what I assume is the byte code file into actual images.
It takes one parameter which is the path to that file.
Java isn't really my language so I was hoping someone could help me figure out what this code is doing and how I can use it to convert the file into something that I can edit like a png.
This is the corresponding source code:
public static void readGraphicsTable(String paramString)
{
InputStream localInputStream = Util.getResourceAsStream(paramString);
if (localInputStream == null)
{
HG.logWarning("Config file not found: " + paramString);
return;
}
int j;
int k;
for (;;)
{
try
{
paramString = new DataInputStream(localInputStream);
j = paramString.readShort();
k = paramString.readShort();
if ((j != 18260) && (k != 1281))
{
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
createFontOffsets();
}
}
catch (Throwable paramString)
{
label156:
paramString = paramString;
HG.handleError(paramString, "Gfx.readGraphicsTable()");
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
k = paramString.readShort();
colors = new int[k];
j = 0;
if (j >= k) {
continue;
}
colors[j] = paramString.readInt();
j += 1;
continue;
k = paramString.readShort();
fonts = new Font[k];
fontOffsets = (int)Array.newInstance(Integer.TYPE, new int { k, 4 });
j = 0;
if (j >= k) {
continue;
}
m = paramString.readByte();
if (m != -1) {
continue;
}
fonts[j] = Font.getDefaultFont();
fontOffsets[j][0] = paramString.readByte();
fontOffsets[j][1] = paramString.readByte();
fontOffsets[j][2] = paramString.readByte();
fontOffsets[j][3] = paramString.readByte();
j += 1;
continue;
fonts[j] = Font.getFont(m & 0x60, m & 0x7, m & 0x18);
continue;
}
finally {}
j = paramString.readShort();
if (j == -1) {
break label1144;
}
k = paramString.readShort();
switch (j)
{
case 17231:
paramString.skip(k);
}
}
for (;;)
{
int m;
try
{
localInputStream.close();
throw paramString;
k = paramString.readShort();
imageTable = new short[k + 4];
images = new Image[k + 4];
j = 0;
if (j < k)
{
m = (short)paramString.readByte();
if (m == -1) {
break label1160;
}
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort[j] = arrayOfShort1;
m = (short)(m << 8);
if ((m & 0x200) != 0)
{
int i = paramString.readShort();
System.arraycopy(imageTable[i], 0, arrayOfShort1, 0, arrayOfShort1.length);
arrayOfShort1[7] = ((short)(arrayOfShort1[7] | m));
arrayOfShort1[10] = i;
break label1160;
}
n = paramString.readByte();
int i1 = paramString.readByte();
arrayOfShort1[7] = ((short)(m | n));
arrayOfShort1[2] = ((short)(i1 >> 4 & 0xF));
arrayOfShort1[3] = ((short)(i1 >> 0 & 0xF));
arrayOfShort1[4] = ((short)paramString.readByte());
arrayOfShort1[5] = paramString.readShort();
arrayOfShort1[6] = paramString.readShort();
arrayOfShort1[8] = paramString.readShort();
paramString.readUTF();
if ((m & 0x100) == 0) {
break label1160;
}
arrayOfShort1[10] = paramString.readShort();
arrayOfShort1[11] = ((short)paramString.readByte());
break label1160;
}
short arrayOfShort = imageTable;
short arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 4;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
break;
k = paramString.readShort();
frameTable = new short[k * 7];
j = 0;
break label1167;
frameTable[(m + 2)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 3)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 0)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 1)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 4)] = ((short)paramString.readByte());
frameTable[(m + 5)] = ((short)paramString.readByte());
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
frameTable[(m + 2)] = paramString.readShort();
frameTable[(m + 3)] = paramString.readShort();
frameTable[(m + 0)] = paramString.readShort();
frameTable[(m + 1)] = paramString.readShort();
frameTable[(m + 4)] = paramString.readShort();
frameTable[(m + 5)] = paramString.readShort();
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
m = paramString.readShort();
animationTable = new short[m];
j = 0;
if (j >= m) {
break;
}
int n = paramString.readShort();
arrayOfShort = animationTable;
arrayOfShort1 = new short[n + 2];
arrayOfShort[j] = arrayOfShort1;
k = 0;
if (k >= n + 2) {
break label1215;
}
arrayOfShort1[k] = paramString.readShort();
k += 1;
continue;
paramString.skip(k);
break;
try
{
label1144:
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
}
catch (Throwable localThrowable)
{
continue;
}
break label156;
label1160:
j += 1;
continue;
label1167:
while (j < k)
{
m = j * 7;
switch (8)
{
}
label1208:
j += 1;
}
break;
label1215:
j += 1;
}
}
java android
2
Did you see the number of lines ? No one will reverse it for you^^ If you really to do that, take time
– azro
Nov 10 at 21:12
@azro - A more accurate statement would be that nobody is likely to do it unless you paid them some money to do the work for you. Especially since, there is some doubt that what the IP is doing is legal ....
– Stephen C
Nov 11 at 4:40
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm working re-spriting this android game and the sprites are all in one file called gt, this is the code from the apk that converts what I assume is the byte code file into actual images.
It takes one parameter which is the path to that file.
Java isn't really my language so I was hoping someone could help me figure out what this code is doing and how I can use it to convert the file into something that I can edit like a png.
This is the corresponding source code:
public static void readGraphicsTable(String paramString)
{
InputStream localInputStream = Util.getResourceAsStream(paramString);
if (localInputStream == null)
{
HG.logWarning("Config file not found: " + paramString);
return;
}
int j;
int k;
for (;;)
{
try
{
paramString = new DataInputStream(localInputStream);
j = paramString.readShort();
k = paramString.readShort();
if ((j != 18260) && (k != 1281))
{
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
createFontOffsets();
}
}
catch (Throwable paramString)
{
label156:
paramString = paramString;
HG.handleError(paramString, "Gfx.readGraphicsTable()");
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
k = paramString.readShort();
colors = new int[k];
j = 0;
if (j >= k) {
continue;
}
colors[j] = paramString.readInt();
j += 1;
continue;
k = paramString.readShort();
fonts = new Font[k];
fontOffsets = (int)Array.newInstance(Integer.TYPE, new int { k, 4 });
j = 0;
if (j >= k) {
continue;
}
m = paramString.readByte();
if (m != -1) {
continue;
}
fonts[j] = Font.getDefaultFont();
fontOffsets[j][0] = paramString.readByte();
fontOffsets[j][1] = paramString.readByte();
fontOffsets[j][2] = paramString.readByte();
fontOffsets[j][3] = paramString.readByte();
j += 1;
continue;
fonts[j] = Font.getFont(m & 0x60, m & 0x7, m & 0x18);
continue;
}
finally {}
j = paramString.readShort();
if (j == -1) {
break label1144;
}
k = paramString.readShort();
switch (j)
{
case 17231:
paramString.skip(k);
}
}
for (;;)
{
int m;
try
{
localInputStream.close();
throw paramString;
k = paramString.readShort();
imageTable = new short[k + 4];
images = new Image[k + 4];
j = 0;
if (j < k)
{
m = (short)paramString.readByte();
if (m == -1) {
break label1160;
}
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort[j] = arrayOfShort1;
m = (short)(m << 8);
if ((m & 0x200) != 0)
{
int i = paramString.readShort();
System.arraycopy(imageTable[i], 0, arrayOfShort1, 0, arrayOfShort1.length);
arrayOfShort1[7] = ((short)(arrayOfShort1[7] | m));
arrayOfShort1[10] = i;
break label1160;
}
n = paramString.readByte();
int i1 = paramString.readByte();
arrayOfShort1[7] = ((short)(m | n));
arrayOfShort1[2] = ((short)(i1 >> 4 & 0xF));
arrayOfShort1[3] = ((short)(i1 >> 0 & 0xF));
arrayOfShort1[4] = ((short)paramString.readByte());
arrayOfShort1[5] = paramString.readShort();
arrayOfShort1[6] = paramString.readShort();
arrayOfShort1[8] = paramString.readShort();
paramString.readUTF();
if ((m & 0x100) == 0) {
break label1160;
}
arrayOfShort1[10] = paramString.readShort();
arrayOfShort1[11] = ((short)paramString.readByte());
break label1160;
}
short arrayOfShort = imageTable;
short arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 4;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
break;
k = paramString.readShort();
frameTable = new short[k * 7];
j = 0;
break label1167;
frameTable[(m + 2)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 3)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 0)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 1)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 4)] = ((short)paramString.readByte());
frameTable[(m + 5)] = ((short)paramString.readByte());
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
frameTable[(m + 2)] = paramString.readShort();
frameTable[(m + 3)] = paramString.readShort();
frameTable[(m + 0)] = paramString.readShort();
frameTable[(m + 1)] = paramString.readShort();
frameTable[(m + 4)] = paramString.readShort();
frameTable[(m + 5)] = paramString.readShort();
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
m = paramString.readShort();
animationTable = new short[m];
j = 0;
if (j >= m) {
break;
}
int n = paramString.readShort();
arrayOfShort = animationTable;
arrayOfShort1 = new short[n + 2];
arrayOfShort[j] = arrayOfShort1;
k = 0;
if (k >= n + 2) {
break label1215;
}
arrayOfShort1[k] = paramString.readShort();
k += 1;
continue;
paramString.skip(k);
break;
try
{
label1144:
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
}
catch (Throwable localThrowable)
{
continue;
}
break label156;
label1160:
j += 1;
continue;
label1167:
while (j < k)
{
m = j * 7;
switch (8)
{
}
label1208:
j += 1;
}
break;
label1215:
j += 1;
}
}
java android
I'm working re-spriting this android game and the sprites are all in one file called gt, this is the code from the apk that converts what I assume is the byte code file into actual images.
It takes one parameter which is the path to that file.
Java isn't really my language so I was hoping someone could help me figure out what this code is doing and how I can use it to convert the file into something that I can edit like a png.
This is the corresponding source code:
public static void readGraphicsTable(String paramString)
{
InputStream localInputStream = Util.getResourceAsStream(paramString);
if (localInputStream == null)
{
HG.logWarning("Config file not found: " + paramString);
return;
}
int j;
int k;
for (;;)
{
try
{
paramString = new DataInputStream(localInputStream);
j = paramString.readShort();
k = paramString.readShort();
if ((j != 18260) && (k != 1281))
{
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
createFontOffsets();
}
}
catch (Throwable paramString)
{
label156:
paramString = paramString;
HG.handleError(paramString, "Gfx.readGraphicsTable()");
try
{
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
k = paramString.readShort();
colors = new int[k];
j = 0;
if (j >= k) {
continue;
}
colors[j] = paramString.readInt();
j += 1;
continue;
k = paramString.readShort();
fonts = new Font[k];
fontOffsets = (int)Array.newInstance(Integer.TYPE, new int { k, 4 });
j = 0;
if (j >= k) {
continue;
}
m = paramString.readByte();
if (m != -1) {
continue;
}
fonts[j] = Font.getDefaultFont();
fontOffsets[j][0] = paramString.readByte();
fontOffsets[j][1] = paramString.readByte();
fontOffsets[j][2] = paramString.readByte();
fontOffsets[j][3] = paramString.readByte();
j += 1;
continue;
fonts[j] = Font.getFont(m & 0x60, m & 0x7, m & 0x18);
continue;
}
finally {}
j = paramString.readShort();
if (j == -1) {
break label1144;
}
k = paramString.readShort();
switch (j)
{
case 17231:
paramString.skip(k);
}
}
for (;;)
{
int m;
try
{
localInputStream.close();
throw paramString;
k = paramString.readShort();
imageTable = new short[k + 4];
images = new Image[k + 4];
j = 0;
if (j < k)
{
m = (short)paramString.readByte();
if (m == -1) {
break label1160;
}
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort[j] = arrayOfShort1;
m = (short)(m << 8);
if ((m & 0x200) != 0)
{
int i = paramString.readShort();
System.arraycopy(imageTable[i], 0, arrayOfShort1, 0, arrayOfShort1.length);
arrayOfShort1[7] = ((short)(arrayOfShort1[7] | m));
arrayOfShort1[10] = i;
break label1160;
}
n = paramString.readByte();
int i1 = paramString.readByte();
arrayOfShort1[7] = ((short)(m | n));
arrayOfShort1[2] = ((short)(i1 >> 4 & 0xF));
arrayOfShort1[3] = ((short)(i1 >> 0 & 0xF));
arrayOfShort1[4] = ((short)paramString.readByte());
arrayOfShort1[5] = paramString.readShort();
arrayOfShort1[6] = paramString.readShort();
arrayOfShort1[8] = paramString.readShort();
paramString.readUTF();
if ((m & 0x100) == 0) {
break label1160;
}
arrayOfShort1[10] = paramString.readShort();
arrayOfShort1[11] = ((short)paramString.readByte());
break label1160;
}
short arrayOfShort = imageTable;
short arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 4;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
arrayOfShort = imageTable;
arrayOfShort1 = new short[12];
arrayOfShort['?'] = arrayOfShort1;
arrayOfShort1[7] = 0;
arrayOfShort1[10] = 0;
arrayOfShort1[2] = 1;
arrayOfShort1[3] = 1;
arrayOfShort1[4] = 3;
arrayOfShort1[5] = 0;
arrayOfShort1[6] = 0;
arrayOfShort1[8] = 0;
break;
k = paramString.readShort();
frameTable = new short[k * 7];
j = 0;
break label1167;
frameTable[(m + 2)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 3)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 0)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 1)] = ((short)paramString.readUnsignedByte());
frameTable[(m + 4)] = ((short)paramString.readByte());
frameTable[(m + 5)] = ((short)paramString.readByte());
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
frameTable[(m + 2)] = paramString.readShort();
frameTable[(m + 3)] = paramString.readShort();
frameTable[(m + 0)] = paramString.readShort();
frameTable[(m + 1)] = paramString.readShort();
frameTable[(m + 4)] = paramString.readShort();
frameTable[(m + 5)] = paramString.readShort();
frameTable[(m + 6)] = ((short)paramString.readByte());
break label1208;
m = paramString.readShort();
animationTable = new short[m];
j = 0;
if (j >= m) {
break;
}
int n = paramString.readShort();
arrayOfShort = animationTable;
arrayOfShort1 = new short[n + 2];
arrayOfShort[j] = arrayOfShort1;
k = 0;
if (k >= n + 2) {
break label1215;
}
arrayOfShort1[k] = paramString.readShort();
k += 1;
continue;
paramString.skip(k);
break;
try
{
label1144:
localInputStream.close();
return;
}
catch (Throwable paramString)
{
return;
}
}
catch (Throwable localThrowable)
{
continue;
}
break label156;
label1160:
j += 1;
continue;
label1167:
while (j < k)
{
m = j * 7;
switch (8)
{
}
label1208:
j += 1;
}
break;
label1215:
j += 1;
}
}
java android
java android
edited Nov 11 at 1:02
Bsquare
1,9801625
1,9801625
asked Nov 10 at 21:09
Cs Bvi
21
21
2
Did you see the number of lines ? No one will reverse it for you^^ If you really to do that, take time
– azro
Nov 10 at 21:12
@azro - A more accurate statement would be that nobody is likely to do it unless you paid them some money to do the work for you. Especially since, there is some doubt that what the IP is doing is legal ....
– Stephen C
Nov 11 at 4:40
add a comment |
2
Did you see the number of lines ? No one will reverse it for you^^ If you really to do that, take time
– azro
Nov 10 at 21:12
@azro - A more accurate statement would be that nobody is likely to do it unless you paid them some money to do the work for you. Especially since, there is some doubt that what the IP is doing is legal ....
– Stephen C
Nov 11 at 4:40
2
2
Did you see the number of lines ? No one will reverse it for you^^ If you really to do that, take time
– azro
Nov 10 at 21:12
Did you see the number of lines ? No one will reverse it for you^^ If you really to do that, take time
– azro
Nov 10 at 21:12
@azro - A more accurate statement would be that nobody is likely to do it unless you paid them some money to do the work for you. Especially since, there is some doubt that what the IP is doing is legal ....
– Stephen C
Nov 11 at 4:40
@azro - A more accurate statement would be that nobody is likely to do it unless you paid them some money to do the work for you. Especially since, there is some doubt that what the IP is doing is legal ....
– Stephen C
Nov 11 at 4:40
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243430%2fhow-do-i-reverse-engineer-this-code-to-convert-a-binary-graphic-table-to-a-edita%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Did you see the number of lines ? No one will reverse it for you^^ If you really to do that, take time
– azro
Nov 10 at 21:12
@azro - A more accurate statement would be that nobody is likely to do it unless you paid them some money to do the work for you. Especially since, there is some doubt that what the IP is doing is legal ....
– Stephen C
Nov 11 at 4:40