不久之前我整瓜咗一隻 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 就非常幫到手。


















