㈠ 我用java反編譯工具把.class文件轉為.java文件,其中有些這種字元,請問一下這種是怎麼回事啊
不會! if ((l3 = (System.currentTimeMillis() - l2) + 10L) < 62L)
try
{
Thread.sleep(62L - l3);
}
catch (Exception )
} while (true);
if (a_byte == 1)
b();
a_Bobby.notifyDestroyed();
}
private final void d()
{
byte abyte0[] = a();
boolean flag = false;
String s1 = "BC5Data";
a a1 = this;
try
{
RecordStore recordstore;
(recordstore = RecordStore.openRecordStore(s1, false)).setRecord(1, abyte0, 0, abyte0.length);
recordstore.closeRecordStore();
return;
}
catch (Exception )
try
{
RecordStore.deleteRecordStore(s1);
}
catch (Exception )
······
看到了吧~這就是格式!匯編語言!!!
編譯連接之後,再用txt打開~就只能看到亂碼啦。
㈡ 為什麼Java反編譯後帶有匯編代碼
那個不是匯編。。。是反編譯工具無法識別的位元組碼(bytecodes,java中間代碼),因為無法識別,自然只能直接把位元組碼打出來給你看了。
你多試幾種反編譯工具,並不是所有的都會出的,也不是所有的都在同一個地方出。這個取決於反編譯工具的作者對位元組碼的理解。
㈢ Java反編譯後得到的不是Java源代碼。
估計你得到的是java虛擬機指令,因為.class文件與java源代碼不是一一對應的,但與虛擬機指令卻是一一對應的,就像exe文件中的機器指令與匯編指令是一一對應的,要看懂這些代碼可以參考java虛擬機指令集
㈣ java反編譯出來的代碼求解,解出後可追加50分
為什麼不用Java Decompiler反編譯呢?
不會出現這樣的情況
唯一不足的就是反編譯後原來的變數會變成數值
㈤ java反編譯後問題奇怪。
這只能說明兩點
1、你的反編譯工作很弱;
2、別人的代碼寫的很好。
㈥ java 代碼反編譯錯誤
換個軟體試試。可能原代碼已加密,你需要能解密的反編譯軟體去編譯。
㈦ java反編譯class文件後出現PUSH、POP怎麼理解
以下是同一CLASS文件反編譯出來的代碼:
可以看出:
1、JODE出來的代碼的可讀性最好,不過有CLASS文件代碼用JODE是反編譯不出來出現異常;
2、JAD出來的代碼經常要進行大量整理;
3、JODE和JAD對混混淆過的代碼,變數的順序可能會不一樣,自變數的命名,JODE會好一些。
4、對於PUSH和POP,左修整時候,可以自己加自變數,臨時存儲;
5、JAVA對於表達式或函數參數,是從右到左進行解釋的。函數參數,最後PUSH的,是最右邊的參數;對於
等號賦值也是先右後左進行出棧。
㈧ java的class文件,經過反編譯以後獲得的源代碼是L(小寫),1,i(大寫),o(大寫和小寫),0的組合,是怎麼回事
你看到的已經是源碼了,沒有辦法看到開發時候寫的代碼,因為通過加密混淆軟體,已經把原來寫的代碼中的變數、類名、方法都改成了混亂的組合方式了,所以你看到的都是很混亂的東西,你其實可以自己做一次對自己Java代碼的混淆測試,看看源代碼,再看看混淆後的,你就知道了,根本還原不了
㈨ 為什麼反編譯class出來的java再轉化為class會出現字元報錯
是這樣子的,因為當你編寫java程序代碼的時候,運行程序會生成.class文件,但是當你後期保存再次運行的時候,其中有些代碼沒有同步到位,導致代碼有所缺失...
㈩ java反編譯工具 出了問題 該怎麼辦
可以將看不懂的.class文件轉換成看得懂的.java文件,這樣一來就能很方便的讀懂別人編寫的java代碼。
java反編譯工具有多種,推薦使用jd-gui