簡體   English   中英

拖放應用程序構建器許可。 如何確保源代碼不會被反編譯和重用?

[英]Drag & Drop app builder licensing. How do I make sure the source code won't be decompiled and re-used?

我正在開發拖放應用程序構建器。 這個概念很簡單:用戶可以可視化地構建他們的應用程序,然后應用程序的設置變成一個配置文件,應用程序將使用它來決定如何構建自己(應該顯示哪些視圖,導航應該是什么樣子等) .)

我主要擔心的是,一旦用戶下載了 apk(或 ipa)文件,他們就可以反編譯它,更改配置文件中的內容並重新編譯/重新簽名以發布為全新的應用程序。

我正在考慮將部分邏輯放在服務器端,但這會給我帶來以下問題:

  • 如果 1000 人使用我的軟件構建並發布了一個應用程序,並且每個應用程序每天只向我的服務器發送 10,000 個請求,那么每天已經有 10,000,000 個請求,這將非常昂貴。

  • 如果我的服務器因任何原因停機,我將有很多憤怒的用戶來找我。

有什么想法嗎?

沒有確切的方法可以停止android app 或 apk 的反編譯/逆向工程過程

但是有一些機會在反編譯/逆向工程過程后減少代碼可見性的范圍

以下是我分享的一些習慣

1) 將重要的代碼放在服務器上:您可能依賴於對受保護良好的服務器的遠程過程調用 這減少了您的代碼被盜的機會,因為代碼將始終保留在服務器上,只能看到結果。

2) 調試器檢測技術:使用硬塗層值或字符串使用一些有助於隱藏實際值的公式或加密方法

3)用C/C++編寫代碼重要部分:您也可以用C/C++編寫代碼重要部分,並將它們作為編譯庫添加。 雖然它可以反匯編成匯編代碼,但從匯編逆向工程一個大型庫是非常耗時的。 與 C/C++ 相比,Java 更容易反編譯。

這些是優秀開發人員應注意的一些關鍵習慣,您也應該查看這個答案

嗯,我知道不可能停止任何 Android 應用程序上的反編譯/逆向工程過程。 但是,我想也許一切皆有可能! 就像,也許從那時起有些事情發生了變化,但沒有。 基本上,我使用與 Nisarg Jani 描述的相同的步驟。 但是,您必須特別注意 C++ 代碼。 任何錯誤都會摧毀你在那一刻建立的一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM