2012-01-01 41 views
2

Security and Design文檔Android的應用內結算狀態的祕訣是:當涉及逆向工程時,「入口點」和「出口點」是什麼?

特別是,攻擊者尋找已知切入點出口 點在應用程序中,所以它是你重要修改與示例應用程序相同的代碼的這些 部分。

因爲我要使用應用內結算的第一次,我很感興趣,瞭解這意味着什麼究竟,在確保我的基於訂閱的應用方面:

  1. 什麼正是那些「已知入境/出境點」?
  2. 我需要在這些部分修改什麼,才能讓攻擊者的任務變得更加困難?
  3. 鑑於事實上沒有任何東西能夠被最終的逆向工程所保護,真的值得這麼長時間去保護 應用程序/服務嗎?
+4

這可能會說明一些:https://www.owasp.org/index.php/Application_Threat_Modeling#Entry_Points – 2012-01-01 18:11:45

+0

@Jason Down +1已經。感謝您的鏈接。 – 2012-01-01 18:13:46

回答

3

我認爲,文件是談論的是標準的Android中用於啓動應用程序,即activity lifecycle方法(onCreate等)的方法。這些攻擊者很容易找到它們,因爲它們沒有被混淆(因爲框架需要能夠找到它們)。

+0

+1是特定的,這有助於我專注於目標,確實是Android特定的目標。 – 2012-01-01 18:29:08

2

在一個相當基本的高層次上,入口點是應用程序啓動的地方,出口點是結束的地方。其中每一個(如上所述)都是不受保護的,並且還傾向於撥打一些不在其他地方撥打的電話,這使得它們很容易找到並更改。

3

鑑於這一事實,沒有什麼能最終 逆向工程的保護,是不是真的值得去這樣大篇幅 保護的應用程序/服務?

這確實是一個有趣的問題!要回答它也必須問:的預期成本不是保護應用程序?

如果通過IAP銷售的產品會導致供應商/開發商的實際成本(例如,假設每個下載的供應商可能必須自行支付許可證費用才能銷售MP3),這變得更加重要。這通常表明對手可能獲勝,因此他可能願意投資逆向工程。

但是,我的印象是,破解/盜版/ ...應用程序只有一個邊緣的「黑市」,理由是無法通過Google的市場提供這些破解或破解的應用程序,這是這是唯一預裝在所有Android手機上的。普通用戶永遠不會看到任何其他應用程序源。因此,如果您希望銷售更多的應用,那麼您可能會忍受1%的「高級用戶」欺詐行爲。如果您的應用程序有點特別和昂貴,並且您期望只出售幾十或幾百個應用程序,那麼您將對保護您的知識產權更感興趣。

保護的第一步始終是模糊處理,這會使您的應用程序的安全性變得相當差(幾乎沒有)額外的努力。如果沒有強烈的理由反對它,我建議混淆應用程序(例如,堆棧跟蹤可能在混淆的應用程序中變得完全無用)。