2012-05-24 92 views
0

背景:在Google App Engine上訪問Win32 dll?

我在一家大公司的一個小團隊在哪裏工作我目前正在改造的許可證制度的一套,我每年更新混合.Net和Win32的產品。每個產品都引用一個用於產品驗證的win32.dll。我只有授權模塊的二進制文件和頭文件(所以沒有散列算法)。不知何故,客戶可以在我們的網站上購買軟件,並通過串行密鑰接收郵件中的磁盤。密鑰或特定產品以及磁盤和密鑰可以輕鬆共享。

目標:

  • 修改散列輸入,所以按鍵現在基於主版本號(完成)。
  • 使用App Engine實現一個Web服務(它只是我所以我不想維護任何硬件),用戶可以購買一個自動生成並通過電子郵件發送的序列。
  • 使用現有的授權模塊或複製散列/ API(我希望發送序列密鑰的任何人繼續這樣做,除了可能對其工作流程進行小的更改(如添加版本號))。

問題:

  • 有沒有什麼辦法來寫一個Python模塊在包裝這個win32的庫,並使用它在谷歌的App Engine?
  • 是否有任何工具可以發現正在使用的哈希算法?該庫導出generatekey函數?

任何其他意見或建議,非常感謝。

乾杯,

湯姆

+0

郵件中的磁盤?多麼古怪。 –

+0

要回答第二個問題,最好的辦法是反編譯DLL並檢查代碼以嘗試確定算法。即使得到一個符號列表,也可能會根據函數的調用給出一些提示。 –

+0

對不起,我的第二個問題是畸形的。我有頭文件,所以我知道外部符號。我的問題是,是否有人知道可以使用其輸入和輸出來確定算法的應用程序,即INPUT:2 4 6 + KEY:12 => HASH:x1 + x2 + x3。我猜想我正在設想一個數據或者其他數據的立方體擬合,這可能取決於算法的強度,或者值得付出努力。 –

回答

6

不,App Engine的Python運行時只支持純Python模塊。包裝的本地代碼模塊不起作用。

+2

只能在Windows機器上運行的原生代碼,非常重要。 – geoffspear

+0

如果你想運行在雲提供商上,你可以看看Azure。 – dragonx

+0

謝謝,我已經開始了90天的Azure試用版,它看起來是將原生win32二進制文件推送到雲端的好方法。 –