2016-12-19 94 views
0

我已經制作了一個簡單的郵件應用程序,它接收電子郵件憑據並使用它發送特定類型的電子郵件到選定的地址。問題是,我不得不直接在代碼中輸入憑證,所以任何使用dex2jar的人都可以獲取源代碼並獲取用於轉發的電子郵件,並輕鬆地使應用程序過時。加密/隱藏部分源代碼

我想我不是唯一面臨此問題的人,那麼有什麼方法可以使我的代碼安全?

+0

相關:http://stackoverflow.com/questions/8611960/piracy-piracy-piracy-what-c​​an-i-do –

+0

我並不是特別在意盜版,因爲我說這個應用程序本身很簡單。我只想隱藏一行代碼,也許有更簡單的方法來做到這一點? – MilesWeirdo

+1

假設一個典型的計算機/操作系統,它固有地不能完成。爲了JVM做些什麼,它需要能夠知道該怎麼做。這意味着您需要以JVM可以讀取的形式寫出這些指令。除非你使用解密密鑰進行自定義硬件的開發,否則JVM/OS/etc將不會有任何黑客無法訪問的信息。這意味着沒有辦法從黑客中隱藏某些東西,但卻可以將其用於JVM。 – yshavit

回答

1

不管你用什麼技術來隱藏憑證,如果它在代碼中,那麼總是可以找到

而不是硬編碼他們,你可能可以讓用戶指定他們,當他啓動應用程序?如果無法避免這種情況,您可以使用遠程服務來完成發送請求並轉發請求。

+0

問題是,應用程序的整個邏輯是它只能接受輸入並將其發送到電子郵件,使用我指定的轉發電子郵件和收件人的電子郵件來接收這些電子郵件。 – MilesWeirdo

+0

唯一的解決方法是*避免*將這些細節存儲在客戶端即ie。在您分發的應用上。你可以有一個遠程服務,將發送和轉發您的請求到 –

+0

我在哪裏可以讀這個遠程服務? – MilesWeirdo

0

你不能同時連接到一個電子郵件帳戶,並保持這些用戶不在所述電子郵件帳戶。考慮使用託管服務器作爲項目的一部分,從服務器級安全連接到電子郵件帳戶並遠程處理這些電子郵件。

+0

我該怎麼做呢?任何教程可用? – MilesWeirdo

+0

就像這樣,只需建立你想提交數據的方式 - https://www.asp.net/web-pages/overview/getting-started/11-adding-email-to-your-網站 – pizzaslice

+0

http://stackoverflow.com/questions/18326738/how-to-send-email-in-asp-net-c-sharp/*編輯:更好的資源堆棧鏈接 – pizzaslice