當前位置:首頁 » 編程軟體 » 我的世界怎麼反編譯代碼

我的世界怎麼反編譯代碼

發布時間: 2023-08-18 11:34:37

❶ 如何反編譯一個MOD

這樣怎麼能夠放在一起運行呢:我們可以使用一套固定的名稱索引起來,而另一些名稱可能當時的猜測是錯誤的,後來進入Mojang參與Minecraft開發的Searge。

Minecraft Forge,一套主流的Minecraft Mod API,如果Mod開發者想要提供其他Mod的兼容支持,那麼就需要鏈接其他Mod的類,包括默許反編譯等行為。當然:畢竟這些名稱是從無到有猜測出來的,總有一些名稱當時猜不出來。

首先,Mojang並不為其開發的Minecraft游戲提供源代碼,同時,而非混淆的代碼(deobf和sources)是供開發者使用的。

詳細說來,此時因為開發環境使用的是未混淆名,所以引入的其他Mod也必須使用未混淆名,也就是題主所看到的deobf(提供編譯後的後綴名為.class的文件)和source(直接提供後綴名為.java的源代碼)兩個JAR,所以其實這個映射表,針對Minecraft的修改行為(也就是我們通常所說的Mod和插件)從Minecraft發布不久就有人著手去做了,後來Mojang在Minecraft的最終用戶許可協議(EULA)中明確表示了對Mod的支持。半混淆名又名SRG Name,以紀念MCP的領導者,運行Minecraft的時候把混淆名同樣變成半混淆名,這樣Mod就可以使用半混淆名正常工作了。

所以正如題主所見。這個映射表就應該是這個樣子的:

不過這樣就出現了一個問題,打包Mod和運行Mod的時候都使用這套名稱不就可以了?所以映射表就變成了這樣:

半混淆名有著形如func_xxxxxx_x或者field_xxxxxx_x的形式,我們要從Minecraft這一游戲本身說起。然而在開發Mod的時候:編譯並打包Mod的時候把其中的未混淆名變成半混淆名,在直接Mod文件並運行的時候,其中的代碼已經使用的是半混淆名了,其提供的游戲文件也是混淆過的,其中的類沒有包名,在運行的時候使用的正是這套方式,就把上面提到的一些無意義的字母組合(又稱Notch Name),一般情況下不會發生變動,類名方法名等也全都是abcdef這種無意義的字母組合。

不過。但是,舊的Mod使用的是修改前的名稱,而新製作的Mod使用的是修改後的名稱,Minecraft的Mod數量也非常之多,目前至少有上萬個Minecraft Mod活躍在各個論壇社區中。

在Minecraft發布不久就出現了專門反編譯和反混淆Minecraft代碼的組織,這一組織就是MCP(Mod Coder Pack),MCP提供的若干個映射表?機智的人民群眾很快就想到了一個辦法,變成了有意義的方法名類名(又稱MCP Name)等,是經常修改和補充的簡單來說,就是題主看到的混淆代碼(universal)是供玩家使用的

熱點內容
筆記本電腦如何設置鎖屏密碼 發布:2025-02-04 13:54:42 瀏覽:161
構成c語言程序的基本單位 發布:2025-02-04 13:49:53 瀏覽:988
如何修改已經更改的密碼 發布:2025-02-04 13:38:38 瀏覽:773
唐dm2021買哪個配置劃算 發布:2025-02-04 13:38:38 瀏覽:627
真空壓縮重 發布:2025-02-04 13:38:37 瀏覽:640
alias腳本 發布:2025-02-04 13:38:03 瀏覽:740
linux終端字元 發布:2025-02-04 12:52:40 瀏覽:737
c語言程序設計mobi 發布:2025-02-04 12:51:55 瀏覽:260
rsa演算法c語言 發布:2025-02-04 12:50:36 瀏覽:786
阿里雲伺服器託管破解 發布:2025-02-04 12:47:43 瀏覽:258