阻止不了,任何一個程序都可以被反編譯 當然了,并不是說反編譯以后就是源代碼 不知道你用的什么語言,在.net里,一般都是用Dotfuscator之類的工具進行混淆干擾.NET有一種加密字節碼的方式是通過hook住JIT編譯器的入口來做的:字節碼經過加密/混淆存在文件里,等被CLR加載了,某個方法要執行而需要被JIT編譯時,hook住JIT編譯器的入口攔截住這個編譯請求,然后去把對應的字節碼解密之后再傳給JIT編譯器。
這種做法基本上只能唬唬小朋友,知道了原理之后很好解,可以輕松的獲取解密后的字節碼然后扔給常規的反編譯器去處理。
但現實的說,大部分用戶在“試圖解密”方面都是小朋友,所以倒也算是一種可行方案。