導航:首頁 > 源碼編譯 > 禁止反編譯的程序怎麼看

禁止反編譯的程序怎麼看

發布時間:2023-05-13 04:14:07

android如何做到防止反編譯,保護自己的資源圖片拜託了各位 謝謝

1.進行源碼保護檢測。檢測DEX文件保護,查看DEX文件是否做了保護,避免法分子 反編譯得到程序源碼,從而杜絕惡意插入廣告、惡意植入扣費代碼等行為,保證用戶體驗以及APP的功能完整。 2.源碼混淆保護檢測。該項目主要用來彌補程序開發人員利用混淆源碼做程序的漏洞,因為混淆源碼作為一種常見的基礎保護措施,並不嚴密,如果被專業人士利用,還是會造成相當程度的破壞。 3.資源文件保護檢測。APP程序中的各種音頻、視頻、圖片、文字等文件資料如果缺乏有效的保護,很容易被惡意篡改、替換和盜竊。比如程序中的音頻格式或文字內容,如果被篡改,做成廣告畫面或違禁色情圖片等,也是對開發人員和用戶的權益侵害。 4. Android主配文件保護檢測。該免費源碼檢測平台可以有效對Android主配置文件中的各個組件進行安全保護,預防其他人員在XML文件中插入代碼,破壞和盜取相關信息,篡改應用程序的功能設定。 5.APK防二次打包保護檢測。二次打包就是程序人員對下載的程序進行解壓,刪除原有的簽名,自己設定一個簽名工具在安裝包上簽名,這是一種盜用行為,侵害了原版程序設計人員的權益和利益。通過免費檢測平台,可以有效查看安裝包簽名是否有過改動,可以有效防止二次打包的出現。 6、so文件保護,防止APP應用被第三方修改打包。 7.愛加密http://www.ijiami.cn/

⑵ c#如何防反編譯

基本上無法防止反編譯,但是可以控制發編譯的效果,讓反編譯出來的代碼無法正常查看。
大都使用混淆器,譬如.NET Reactor等等。
.NET Reactor 是一款強大的 .NET 代碼保護和許可管理系統,安全可靠、簡單易用,主要用來幫助開發人員保護他們的 .NET 軟體產品。開發人員從此不必擔心如何保護他們的知識產權,可以將更多精力放在產品功能的開發上。與模糊工具(Obfuscator)相比,.NET Reactor 可以完全阻止對 .NET 程序集(由 C#, VB.NET, Delphi.NET, J#, MSIL... 等語言編寫)的反編譯。通俗的講,.NETReactor 在破解者和您的 .NET 代碼之間構建了強大的防破解保護屏障,生成一個基於 Windows 的而不是基於 MSIL 的兼容格式文件。原始的 .NET 代碼完整的封裝在本地代碼內,無論何時都不會釋放到硬碟,對於破解者是不可見的,目前還沒有任何工具可以反編譯 .NET Reactor 保護過的程序集。
使用方法:
將本地.NET程序集放在.NET Reactor程序中保護即可。

⑶ android app怎麼防止反編譯

APK在PC上面就被看作一個壓縮格式文件,在手機上面它就算一個可執行格式文件。兩種格式對它的讀取要求也有區別,所以說利用這個區別來實現偽加密。對PC端來講偽加密的APK沒法被解包無法被反編譯,但是對android系統來說它完全不會影響正常的安裝運行(對4.2以前的系統)。

偽加密的原理:讀取APK的位元組,找到連續4位位元組標記為」P K 01 02」的後第5位位元組,如果是0表示不加密,如果是1就表示加密(偽加密就強行改成1 反偽加密就是把1改成0就可以了)。
2
偽加密前和偽加密後的對比圖如下:
偽加密前:

3
偽加密後:

END
使用第三方平台加密

步驟如下:
登錄/注冊→上傳APK→等待系統加密→完成後下載APK→給APK簽名→完成!

2
愛加密作為移動安全行業的第三方平台,為Android APP移動應用提供專業的加固保護方案,包括DEX文件保護、資源文件保護、XML主配文件保護、防二次打包保護、so文件保護、內存保護、高級混淆等,全方位保護Android App,防止被反編譯、破解等,維護廣大開發者朋友的切身利益!

⑷ 怎麼防止java開發出來的程序被別人反編譯

防止Java開發出來的程序被別人反編譯有很多種方法,下面給你介紹幾種:

1、隔離Java程序

最簡單的方法就是讓用戶不能夠訪問到Java Class程序,這種方法是最根本的方法,具體實現有多種方式。例如,開發人員可以將關鍵的Java Class放在伺服器端,客戶端通過訪問伺服器的相關介面來獲得服務,而不是直接訪問Class文件。這樣黑客就沒有辦法反編譯Class文件。目前,通過介面提供服務的標准和協議也越來越多,例如 HTTP、Web Service、RPC等。但是有很多應用都不適合這種保護方式,例如對於單機運行的程序就無法隔離Java程序。

2、對Class文件進行加密

為了防止Class文件被直接反編譯,許多開發人員將一些關鍵的Class文件進行加密,例如對注冊碼、序列號管理相關的類等。在使用這些被加密的類之前,程序首先需要對這些類進行解密,而後再將這些類裝載到JVM當中。這些類的解密可以由硬體完成,也可以使用軟體完成。

3、轉換成本地代碼

將程序轉換成本地代碼也是一種防止反編譯的有效方法。因為本地代碼往往難以被反編譯。開發人員可以選擇將整個應用程序轉換成本地代碼,也可以選擇關鍵模塊轉換。如果僅僅轉換關鍵部分模塊,Java程序在使用這些模塊時,需要使用JNI技術進行調用。

4、代碼混淆

代碼混淆是對Class文件進行重新組織和處理,使得處理後的代碼與處理前代碼完成相同的功能(語義)。但是混淆後的代碼很難被反編譯,即反編譯後得出的代碼是非常難懂、晦澀的,因此反編譯人員很難得出程序的真正語義。從理論上來說,黑客如果有足夠的時間,被混淆的代碼仍然可能被破解,甚至目前有些人正在研製反混淆的工具。但是從實際情況來看,由於混淆技術的多元化發展,混淆理論的成熟,經過混淆的Java代碼還是能夠很好地防止反編譯。

不同保護技術比較希望能給大家帶來參考:

⑸ C#如何防止被別人反編譯

C# 編寫的代碼通過VS編譯器生成 dll 或 exe ,很容易被一些反編譯工具查看到源碼或對源碼進行修改。
為防止代碼被反編譯或被篡改,我們可以進行一定的防範措施。但不能杜絕,因為DotNet編寫代碼運行必須編譯成IL 中間語言,IL是很規則,同時也很好反編譯。

反編譯防範措施:

⑹ visual foxpro程序防止反編譯

在「項目」-「項目信息」中切換到「項目」選項卡,勾選「加密」,這樣可以防止通過分離提取出app文件以非常方便地看到源代碼了,最少地保障安全。
VFP程序如果連編成exe,那麼exe本質上是外層一個解釋器,內層是需要解釋的app文件,所以,也可以採取更換解釋器的方法來防止反編譯。以前有高手開發過,現在找不到了。
但是要真的完全防止反編譯,那從某些方面來講,就是非常傳統的加殼了——但是,加殼也沒法保證100%安全。

⑺ C#寫出來的代碼,反編譯之後能看到源代碼,怎麼樣防止別人的反編譯。求高手指點

C#代碼最終會被編譯為 IL,對 IL 進行逆向工程比較簡單,因此一種辦法是向第三方購買一個混淆器(obfuscator),能通過打亂程序集元數據中的私有符合名稱,讓人難以閱讀。但本質上,這種保護是有限的,只是難以閱讀,而不能從根本上避免。
另一種辦法是,在非託管模塊中實現你比較重要的演算法,然後通過 CLR 的平台互操作,來使託管代碼調用它,這樣程序仍然能夠正常工作,但對非託管的本地代碼進行反編譯,就很困難。
一般來說,除非你的這部分代碼非常重要,或涉及核心機密,才需要考慮防止反編譯的做法。一般來說,混淆器也足夠了。

⑻ dll如何防止反編譯

1
將你要破解的DLL文件放在C盤
2
執行 開始》所以程序》Microsoft Windows SDK v6.0A》tools》IL 反匯編程序
3
找到放在C盤的DLL文件
4
然後 文件》轉儲》確定位置並確認
5
好了 看看C盤是否多了 兩個文件 xxx.il xxx.res
6
修改 xxx.il 文件內的代碼
7
修改完成後將xxx.il和 xxx.res 把這兩個文件復制到 C:\Program Files\Microsoft Visual Studio 9.0\VC這個目錄下
8
然後執行:開始》所以程序》Microsoft Visual Studio 2008》Visual Studio Tools》Visual Studio 2008 命令提示
9
執行:ilasm /dll /resource=xxx.res xxx.il xxx代表你取的名字
10
然後去看看C:\Program Files\Microsoft Visual Studio 9.0\VC 這個目錄下是不是多了一個xxx.dll文件 把編譯出來的文件拿去使用就OK了

注意事項
一定要確定文件名稱和位置不能有錯!

⑼ 維綸觸摸屏設置禁止反編譯如何破解

打開eb8000軟體,然後打開你的工程。點擊
工具,選擇編譯,打開後裡面就有禁止反編譯的選項,勾選即可。
滿意請及時採納哦!

⑽ 如何防止JAVA程序源代碼被反編譯

我們都知道JAVA是一種解析型語言,這就決定JAVA文件編譯後不是機器碼,而是一個位元組碼文件,也就是CLASS文件。而這樣的文件是存在規律的,經過反編譯工具是可以還原回來的。例如Decafe、FrontEnd,YingJAD和Jode等等軟體。下面是《Nokia中Short數組轉換演算法》
類中Main函數的ByteCode:0 ldc #162 invokestatic #185 astore_16 return其源代碼是:short [] pixels = parseImage("/ef1s.png");
我們通過反編譯工具是可以還原出以上源代碼的。而通過簡單的分析,我們也能自己寫出源代碼的。
第一行:ldc #16
ldc為虛擬機的指令,作用是:壓入常量池的項,形式如下ldc index這個index就是上面的16,也就是在常量池中的有效索引,當我們去看常量池的時候,我們就會找到index為16的值為String_info,裡面存了/ef1s.png.
所以這行的意思就是把/ef1s.pn作為一個String存在常量池中,其有效索引為16。
第二行:2 invokestatic #18
invokestatic為虛擬機指令,作用是:調用類(static)方法,形式如下
invokestatic indexbyte1 indexbyte2
其中indexbyte1和indexbyte2必須是在常量池中的有效索引,而是指向的類型必須有Methodref標記,對類名,方法名和方法的描述符的引用。
所以當我們看常量池中索引為18的地方,我們就會得到以下信息:
Class Name : cp_info#1
Name Type : cp_info#19
1 和19都是常量池中的有效索引,值就是右邊<中的值,再往下跟蹤我就不多說了,有興趣的朋友可以去JAVA虛擬機規范。
這里我簡單介紹一下parseImage(Ljava/lang/String;)[S 的意思。
這就是parseImage這個函數的運行,我們反過來看看parseImage的原型就明白了
short [] parseImage(String)
那麼Ljava/lang/String;就是說需要傳入一個String對象,而為什麼前面要有一個L呢,這是JAVA虛擬機用來表示這是一個Object。如果是基本類型,這里就不需要有L了。然後返回為short的一維數組,也就是對應的[S。是不是很有意思,S對應著Short類型,而「[」對應一維數組,那有些朋友要問了,兩維呢,那就「[[」,呵呵,是不是很有意思。
好了,調用了函數,返回的值要保存下來吧。那麼就是第三行要做的事情了。

閱讀全文

與禁止反編譯的程序怎麼看相關的資料

熱點內容
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:217
程序員職場第一課2正確的溝通 瀏覽:677
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:77
大智慧均線源碼 瀏覽:371
單片機排阻的作用 瀏覽:213
滴滴金融app被下架如何還款 瀏覽:210
jpg轉換成pdf免費軟體 瀏覽:741
范里安pdf 瀏覽:443
偽造pdf 瀏覽:75
能刪除android文件夾嗎 瀏覽:446
LINUX使用V2ray 瀏覽:797
找人幫忙注冊app推廣是什麼 瀏覽:820
獨立伺服器如何恢復初始化 瀏覽:11
優秀到不能被忽視pdf 瀏覽:316
導遊程序員家政 瀏覽:586
22乘28的快速演算法 瀏覽:338
軟通動力程序員節2021 瀏覽:846
安卓系統如何卸載安裝包 瀏覽:870