Porque o WTK nao compila meus codigos descompilados do JD-GUI?

porque eu nao consigo compilar meus codigos descompilados do JD-GUI de volta para class? eu descompilo minhas classes com JD-GUI e eu coloco meus codigos na pasta src do WTK e depois eu abro o WTK e depois eu abro meu projeto criado no WTK e quando eu clico no botao Build ele me mostra 100 erros ou varios erros ou avisos isso acontece em todos os codigos no formato java porque isso acontece comigo? eu estou fazendo algo de errado? até o eclipse ou netbeans me mostra 100 erros e muitos avisos entao como posso obter um codigo limpo e original sem dar estes erros e avisos? é que eu baixei muitos jogos em java da gameloft no formato jar e dai eu nao consigo compilar para class com WTK ou eclipse aparece 100 erros e avisos como falei alguma ajuda?

Então coleguinha, o erro já começa em fazer engenharia reversa de uma aplicação de terceiros, sem o consentimento da mesma.

Até o momento nenhuma ferramenta de engenharia reversa consegue criar um código-fonte perfeito, isso se dá ao fato que, durante a compilação, o byte code é otimizado e modificado. Isso sem contar que provavelmente o byte code dos jogos que você tentou descompilar foram ofuscados, o que torna o processo de descompilação mais difícil ainda.

Comprando o código fonte original da empresa que fez os jogos, ou baixando o código fonte de jogos open source.

meu codigo nao é ofuscado e esta bem escrito por favor eu quero muito compilar meus codigos em java mas a droga do eclipse e o Wireless toolkit nao me deixa compilar aparece os malditos 100 erros e avisos amarelos segue o log do Wireless toolkit

Project settings saved
Building "Real Football 2017"
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\a.java:107: not a statement
60xFFjdField_b_of_type_Int = (paramArrayOfByte + ((7[(paramInt++)] & 0xFF) << 8));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\a.java:107: ‘;’ expected
60xFFjdField_b_of_type_Int = (paramArrayOfByte + ((7[(paramInt++)] & 0xFF) << 8));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\b.java:176: not a statement
60xFFjdField_a_of_type_Int = (arrayOfByte12 + ((7[(arrayOfByte5++)] & 0xFF) << 8));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\b.java:176: ‘;’ expected
60xFFjdField_a_of_type_Int = (arrayOfByte12 + ((7[(arrayOfByte5++)] & 0xFF) << 8));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\b.java:1259: not a statement
214213jdField_q_of_type_Int = ((arrayOfShort1 = tmp214_213).j(2) - arrayOfShort1.j(1));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\b.java:1259: ‘;’ expected
214213jdField_q_of_type_Int = ((arrayOfShort1 = tmp214_213).j(2) - arrayOfShort1.j(1));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\b.java:1262: not a statement
231230jdField_s_of_type_Int = tmp232_231.i(tmp232_231.m(32));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\b.java:1262: ‘;’ expected
231230jdField_s_of_type_Int = tmp232_231.i(tmp232_231.m(32));
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:583: not a statement
616613jdField_o_of_type_Int = (jdField_z_of_type_C616613jdField_t_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:583: ‘;’ expected
616613jdField_o_of_type_Int = (jdField_z_of_type_C616613jdField_t_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:587: not a statement
668665jdField_o_of_type_Int = (jdField_A_of_type_C668665jdField_t_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:587: ‘;’ expected
668665jdField_o_of_type_Int = (jdField_A_of_type_C668665jdField_t_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:591: not a statement
721718jdField_t_of_type_Int = (jdField_B_of_type_C721718jdField_o_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:591: ‘;’ expected
721718jdField_t_of_type_Int = (jdField_B_of_type_C721718jdField_o_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:594: not a statement
767764jdField_t_of_type_Int = (jdField_C_of_type_C767764jdField_o_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:594: ‘;’ expected
767764jdField_t_of_type_Int = (jdField_C_of_type_C767764jdField_o_of_type_Int = ‘?’);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1294: illegal start of expression
if (jdField_a_of_type_ArrayOfG1jdField_a_of_type_G.jdField_f_of_type_Int)].jdField_a_of_type_Boolean) {
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1294: not a statement
if (jdField_a_of_type_ArrayOfG1jdField_a_of_type_G.jdField_f_of_type_Int)].jdField_a_of_type_Boolean) {
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1294: ‘;’ expected
if (jdField_a_of_type_ArrayOfG1jdField_a_of_type_G.jdField_f_of_type_Int)].jdField_a_of_type_Boolean) {
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1296: ‘else’ without ‘if’
} else {
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1322: illegal start of type
if (((jdField_i_of_type_Int != 18) || (jdField_a_of_type_Boolean)) && (jdField_i_of_type_Int != 19))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1322: expected
if (((jdField_i_of_type_Int != 18) || (jdField_a_of_type_Boolean)) && (jdField_i_of_type_Int != 19))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1322: expected
if (((jdField_i_of_type_Int != 18) || (jdField_a_of_type_Boolean)) && (jdField_i_of_type_Int != 19))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1322: expected
if (((jdField_i_of_type_Int != 18) || (jdField_a_of_type_Boolean)) && (jdField_i_of_type_Int != 19))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1375: illegal start of type
if ((jdField_i_of_type_Int == 18) && (jdField_j_of_type_Int == 13))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1375: expected
if ((jdField_i_of_type_Int == 18) && (jdField_j_of_type_Int == 13))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1375: expected
if ((jdField_i_of_type_Int == 18) && (jdField_j_of_type_Int == 13))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1383: class or interface expected
public static boolean a(int paramInt1, int paramInt2, int paramInt3)
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1387: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1390: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1392: class or interface expected
return h.a(paramInt1, paramInt2, jdField_a_of_type_ArrayOfInt[(paramInt3 - 1)], jdField_b_of_type_ArrayOfInt[(paramInt3 - 1)], jdField_a_of_type_ArrayOfInt[paramInt3], jdField_b_of_type_ArrayOfInt[paramInt3], 1280);
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1393: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1395: class or interface expected
public static boolean a()
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1398: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1400: class or interface expected
public static boolean b()
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1408: class or interface expected
int i1 = h.jdField_b_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1409: class or interface expected
int i2 = h.jdField_c_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1410: class or interface expected
i2 -= 7;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1411: class or interface expected
if ((i1 - 2122) * 40 < (i2 - 596) * 122) {
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1414: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1418: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1424: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1428: class or interface expected
label199:
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1430: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1432: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1437: class or interface expected
int i2 = jdField_n_of_type_CjdField_u_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1438: class or interface expected
int i3 = jdField_n_of_type_CjdField_v_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1439: class or interface expected
int i4 = jdField_n_of_type_CjdField_A_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1440: class or interface expected
int i5 = jdField_n_of_type_CjdField_B_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1441: class or interface expected
int i6 = jdField_n_of_type_CjdField_C_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1442: class or interface expected
int i7 = jdField_n_of_type_CD;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1443: class or interface expected
int i8 = jdField_n_of_type_CE;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1444: class or interface expected
int i9 = jdField_n_of_type_CF;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1445: class or interface expected
boolean bool1 = jdField_n_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1446: class or interface expected
boolean bool2 = jdField_k_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1447: class or interface expected
int i10 = -1;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1448: class or interface expected
for (int i11 = 0; i11 < 200; i11++)
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1448: class or interface expected
for (int i11 = 0; i11 < 200; i11++)
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1448: class or interface expected
for (int i11 = 0; i11 < 200; i11++)
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1451: class or interface expected
jdField_n_of_type_Boolean = false;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1452: class or interface expected
jdField_n_of_type_C.h();
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1453: class or interface expected
jdField_n_of_type_CjdField_t_of_type_Int += jdField_n_of_type_CjdField_A_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1454: class or interface expected
jdField_n_of_type_CjdField_u_of_type_Int += jdField_n_of_type_CjdField_B_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1455: class or interface expected
jdField_n_of_type_CjdField_v_of_type_Int += jdField_n_of_type_CjdField_C_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1456: class or interface expected
if ((i11 < 5) && (f.i == null))
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1459: class or interface expected
jdField_n_of_type_CjdField_u_of_type_Int -= jdField_n_of_type_CjdField_B_of_type_Int * jdField_o_of_type_ArrayOfInt[i11] / 100;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1460: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1464: class or interface expected
jdField_a_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_t_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1465: class or interface expected
jdField_b_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_u_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1466: class or interface expected
jdField_c_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_v_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1467: class or interface expected
jdField_b_of_type_ArrayOfBoolean[i11] = jdField_k_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1468: class or interface expected
jdField_a_of_type_ArrayOfBoolean[i11] = jdField_n_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1469: class or interface expected
break;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1470: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1474: class or interface expected
i10 = i11;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1475: class or interface expected
jdField_a_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_t_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1476: class or interface expected
jdField_b_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_u_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1477: class or interface expected
jdField_c_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_v_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1478: class or interface expected
jdField_b_of_type_ArrayOfBoolean[i11] = jdField_k_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1479: class or interface expected
jdField_a_of_type_ArrayOfBoolean[i11] = jdField_n_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1480: class or interface expected
if ((J != 10) && (J != 1)) {
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1482: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1484: class or interface expected
jdField_n_of_type_CH = jdField_n_of_type_CjdField_u_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1485: class or interface expected
break;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1486: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1488: class or interface expected
jdField_b_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_u_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1489: class or interface expected
jdField_c_of_type_ArrayOfInt[i11] = jdField_n_of_type_CjdField_v_of_type_Int;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1490: class or interface expected
jdField_b_of_type_ArrayOfBoolean[i11] = jdField_k_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1491: class or interface expected
jdField_a_of_type_ArrayOfBoolean[i11] = jdField_n_of_type_Boolean;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1492: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1502: class or interface expected
break label650;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1503: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1512: class or interface expected
break label650;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1513: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1515: class or interface expected
break label650;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1516: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1520: class or interface expected
break label650;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1521: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1528: class or interface expected
break label650;
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\c.java:1529: class or interface expected
}
^
C:\Users\1\j2mewtk\2.5.2\apps\Real Football 2017\src\h.java:20037: warning: unmappable character for encoding Cp1252
jdField_bd_of_type_Int = jdField_ba_of_type_Int = ‘?’;
^
100 errors
1 warning
com.sun.kvem.ktools.ExecutionException
Build failed

vc deveria olhar pra natureza dos erros ao inves de jogar uma pergunta dessas num forum sem nenhuma amostra de codigo.

eu imagino que vc pode ter problemas de classpath. mas ja adianto: todas as vezes que eu decompilei eu tive 0 sucessos em recompilar. isso não é uma ciencia exata.

1 curtida

Desde quando um código não ofuscado vai ter um arquivo fonte chamado a.java?

O que há de bem escrito em uma instrução como essa abaixo?
60xFFjdField_b_of_type_Int = (paramArrayOfByte + ((7[(paramInt++)] & 0xFF) << 8));

Coleguinha, sinceridade é uma característica importante no desenvolvimento.

Posta o código fonte da sua “bem escrita” classe chamada a.

Vamos ver por que “a droga do eclipse e WTK” estão apontando “100 malditos erros”.
Essas ferramentas que não sabem programar sozinhas… Vou te contar…

Rá… de cara da pra imaginar que tem um “encoder” ou “decoder” - talvez pra Base64

isso parece ser codigo de uma função que calcula um hash ou algo criptografico, talvez usado para lidar com alguma parte importante de um sistema ( senha? verificar integridade? ).

e se for o caso, em geral este tipo de codigo, quando feito por profissionais, passa por algum processo que dificulta a decompilação. o codigo mesmo pode ter sido obfuscado de proposito.

em varios sistemas é comum até encontrar loaders especificos que se vc não usar as credenciais certas vc jamais vai executar o sistema. o sistema em si fica obfuscado e o loader passa por varias mutretas pra não evitar engenharia reversa.

1 curtida

entao como faço para obter um codigo limpo e sem erros?

vc ja parou pra pensar que essa galera justamente não quer que vc consiga isso?

existem tecnicas avançadas de engenharia reversa, vc pode analisar o bytecode, etc, mas assim de mão beijada o codigo bonito e funcional, SE VC CONSEGUIR talvez vc fique rico ao descobrir como.

1 curtida

Como Assim?

Quem desenvolve software e cobra por isso, não quer que ninguém consiga, ou que tenha o máximo de dificuldade, para fazer engenharia reversa em seu produto.

Será que é possível recompilar codigos java para class mesmo ofuscado? Ou precisa remover a ofuscação sozinho? Alguma ajuda

Não vejo como, o fonte gerado a partir de engenharia reversa de um .class ofuscado estará léxica e sintaticamente errado.

Boa sorte!

é possivel descobrir os nomes métodos e campos originais de um class ofuscado? é que reescrever todo codigo inteiro de novo dá muito trabalho para mim entende muitos jogos java em jar de sites wap da internet tipo de empresas como Gameloft ou EA Mobile ou até GLU Mobile usam muito o ofuscador ProGuard para Ofuscar os class de jogos j2me da internet estou certo ou errado? exemplo de uma classe de um jogo j2me aberto e descompilado no jd gui com nomes métodos e campos renomeados com o ofuscador ProGuard

Não, a ideia de ofuscar o código é justamente para que você não consiga fazer isso!

É justamente essa a ideia de ofuscar o código, evitar que piratas façam engenharia reversa.

Qual o propósito de você querer descompilar e recompilar estes jogos?

Não é melhor você comprá-los e pronto?

minha ideia é gerar os arquivos de recursos que estao dentro do jar destes jogos na pasta chamada res do WTK como eu faço isso? por exemplo imagens ou sons ou qualquer outro arquivo recurso que está dentro do jar é possivel entao recompilar os recursos para pasta res no WTK sem ter um codigo fonte java? é que tem um arquivo chamado icon.png que eu gostei e queria recompilar ele para pasta res do WTK

Compilar significa pegar um código fonte e transformar em código de máquina, no caso do java é processar um arquivo de código fonte com extensão .java e gerar bytecode para a máquina virtual em arquivos .class.

Os arquivos que você citou não são compilados em momento algum, são apenas recursos lidos pela aplicação…