不久之前我整瓜咗一隻 Xamarin project,手頭上淨低未瓜之前嘅 apk,因為 apk 可以 decompress 攞番隻 dll 出嚟,咁,我可以試下用 decompiler 去搵番啲 source codes,以前試過 decompile 一隻 Windows Forms 嘅 program,都算幾成功㗎,有 九成幾嘅成功率,今次係 Xamarin,Android project,唔知得唔得?😬
我㨂咗:
- JetBrains 嘅 dotPeek,同埋
- Telerik 嘅 JustDecompile
先試 dotPeek:
搵頁複雜啲嘅嚟對比下:
![]() |
![]() |
啲 code 應該係咁樣嘅:
namespace xFilm5.Mobile.Staff.ViewModels { public class OrderViewModel { private System.Net.Http.HttpClient client; public List<vwOrderPkPrintQueueVpsListEx> Items { get; private set; } public OrderViewModel() { client = new HttpClient(new NativeMessageHandler()); client.MaxResponseContentBufferSize = 256000; client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + SettingsHelper.Token); } public async Task<List<vwOrderPkPrintQueueVpsListEx>> GetReadyJobItemsAsync() { var tokenUrl = ConstantsHelper.BaseUrl + "cashier/ready"; try { var response = await client.GetStringAsync(tokenUrl); var jobs = JsonConvert.DeserializeObject<List<vwOrderPkPrintQueueVpsListEx>>(response); return jobs; } catch { return null; } } } }
都算: 估佢唔倒!如果一定要揀一隻 winner,我選 dotPeek:
- dotPeek 唔使安裝
- dotPeek decompile 出嚟啲 code 位置嘅保持原本嘅接近,冇自動跟 naming 排過
- dotPeek 有個 export 功能,可以重組成一個 solution 跟 project
*** 完 ***
後記:
我隻 Xamarin app 最終花咗差不多兩個星期,我估計如果一開始我就重寫會花差唔多嘅時間,隻 De-Compiler 幫唔倒忙,反而要浪費時間喺佢 de-compile 出嚟啲 codes 度!唔好誤會,我唔係話佢哋冇用,用喺 Xamarin project 冇咩效用啫,我曾經用喺 Windows program 就非常幫到手。