2015-11-12 98 views
-2

長的故事: 我的客戶希望讓第三方公司測試我的應用程序。 因爲我以前從未聽說過這家公司,所以我想讓我的應用程序不可複製/數據訪問,以防他們試圖複製我的程序或做一些奇怪的事情。 簡而言之,我給他們一個智能手機,該應用程序已經安裝並可用,但就是這樣,除了像普通用戶那樣測試它之外,他們無能爲力。或者如果他們嘗試訪問合理的數據,可以向他們詢問密碼。 有沒有辦法做到這一點?Android安全:如何使Android應用程序不可複製?

短故事:我需要使我的應用程序不可複製,並且其他人無法訪問其數據。

我希望我的explantion是詳盡:) 謝謝大家!

回答

1

A 確定黑客將打敗您設置的任何形式的版權保護。但是你可以做的是設置足夠的障礙來使他們的投資回報不值得花時間和精力。

沒有投入過重的安全組件或在可信安全平臺的投資,這裏有一些污垢簡單的事情,你可以把你的應用程序的特殊的一次性建設做。

  1. 將此應用程序的特定版本與您正與他們共享的手機相關聯。如果手機的序列號不匹配,則不起作用。請參閱this on getting a serial number of an Android device

  2. 如果超出了程序的編譯代碼的數據文件,您試圖保護這是一個自定義的二進制格式明文與否,只是加密。在運行時解密。也許密碼/密鑰是基於設備的序列號或手機特有的其他隨機數。這樣,他們就不能將數據和程序複製到另一部手機並使其工作。

  3. 把一個定時炸彈到位。也就是說,在特定的日期之後,該應用無法正常工作。

  4. 在啓動時,您的應用程序訪問某網站,並下載一個URL。根據網址的內容,應用關閉。

所有這些機制都可能被真正想要複製您的應用或獲取您的文件的人擊敗。但它足以阻止偶然的黑客,並在您的應用程序相關時花費時間。

+0

感謝您的答案:) 是否有指導要點3和4? – Dango

+0

這正是你會想到的。對於#3,調用Java數據/時間庫。如果當前日期已超過您編譯的到期時間,則應用程序不會運行(或彈出消息對話框)。對於#4,AsyncTask中的HttpUrlConnection是您所需要的。我唯一的建議是通過HTTPS進行數據下載。 – selbie

+0

對不起,但我是Android新手,有沒有一個完全解釋的指南? 我看着太第一個選項,所以基本上我可以要求在應用看設備ID的開始,如果它是不同於默認情況下,我可以阻止該應用程序的啓動,是否正確? 最後一個問題:如果條件不滿足,我該如何在啓動時阻止/強制取消應用程序? 非常感謝:) – Dango

0

通過Play商店和工具,比如Proguard的使用提供許可選項可以使難以

0

您可以嘗試的StarForce保護的Android是防止黑客攻擊和複製。他們提供一個月免費。它可以用於測試。如果需要,或者只是要求延長試用期。

相關問題