Ⅰ 游戲代碼一幾千塊怎麼回事
游戲代碼太重要所以貴。
游戲源代碼是一個游戲最為核心的東西,如果源代碼遭到泄露,代表游戲的所有核心秘密都已經掌握在別人手中,不僅會導致同款游戲的大量盜版出現,還會導致私服泛濫,影響原游戲開發者的利益。
掌握了游戲代碼,你就掌握了一款游戲的命脈,就可以利用該游戲獲取巨額利益,所以市面上游戲代碼貴,但是盜用其他公司游戲代碼是違法行為,侵犯他人知識產權,而游戲開發者應保護好自己的游戲代碼,防止為自己帶來經濟損失。
需要的工具
jdk:必須的
baksmali:classes.dex反編譯為smali格式(文本文件,可修改)
smali:smali格式編譯打包為classes.dex
但由於smali格式類似匯編,比較難閱讀,所以用dex2jar進行輔助
dex2jar:classes.dex轉為jar包
jdgui:jar反編譯並閱讀
以上工具可以在 http://liye111111.ys168.com/ 下載
好了,順序就是把apk用zip解開,裡面的classes.dex分別用baksmali處理為smali,用dex2jar處理成jar,然後用jdgui看代碼,找好java文件中要改的位置後,在smali里找對應的位置修改,改完了用smali再編譯為classes.dex,覆蓋原來apk里的同名文件,最後重新簽名。注意安裝時要先刪除原來手機里的版本,因為簽名不同了,我第一次再這里卡了好久。
以「捕魚達人海底撈」為例
下載這個游戲的apk,fishing_joy_1.apk,和工具放在一起
用zip解開fishing_joy_1.apk
classes.dex到baksmali的同一目錄
用baksmali處理為smali
java -jar baksmali-1.2.6.jar -x classes.dex
得到out目錄,裡面是smali文件
用dex2jar處理classes.dex為jar包
dex2jar-0.0.7.10-SNAPSHOT\dex2jar.bat classes.dex
得到classes.dex.dex2jar.jar
這時我們的工作目錄下面是這樣
用jdgui打開classes.dex.dex2jar.jar
好了,可以看代碼,但還不能直接修改,需要對比著來修改smali文件
比如我們通過對比找到控制魚被打到幾率的代碼在FishLayer.smali
Java代碼
Ⅲ 如何反編譯一個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)是供玩家使用的
Ⅳ 將一個app反編譯又重新弄成可以運行的程序要多少錢
目前技術只能實現APP反編譯之後拿到資源文件和混淆後的代碼,那些代碼根本沒法看,類名、對象名、屬性名、方法名都是acb。
Ⅳ 有什麼軟體可以反編譯安卓apk游戲安裝包
一、Apk反編譯得到Java源代碼 下載上述反編譯工具包,打開apk2java目錄下的dex2jar-0.0.9.9文件夾,內含apk反編譯成java源碼工具,以及源碼查看工具。 apk反編譯工具dex2jar,是將apk中的classes.dex轉化成jar文件 源碼查看工具jdgui,是一個反。
Ⅵ Unity打包好的游戲可以反編譯得到源碼和資源嗎
可以,80%以上的Unity游戲都根本沒做代碼混淆和資源加密,簡直都對不起反編譯三個字。直接拿來用就可以。
工具的話,看代碼用reflector。
資源就是打好包的assetbundle,直接用就好了
Ⅶ 如何反編譯一個exe文件,並修改裡面一句代碼
1、首先打開瀏覽器,網路搜索「反編譯工具ILSpy」,選擇一個安全的網站進行下載。