1. 慎用壓縮選項
當驅動有匯出函式時,需慎用壓縮選項。系統並不一定會呼叫模組的入口函式,導致沒解壓就訪問匯出函式。此時很大概率匯出函式所在位址不可訪問,或內容奇異。
2.絕逼不要啟用comdat摺疊
該選項會將內容完全相同的函式就儲存乙份,一般情況下也不會出現內容完全相同的函式。但是當使用
__try
__except(1)
時,__except(1)中的1 會被編譯器翻譯成乙個返回1的函式,這個自動生成的函式想必不會少。當vmp加密使用__try __except的函式時,會修改這個返回1的函式,試了幾個版本的vmp,發現都是將這個函式全寫成了0xcc。這會導致其他沒被保護的函式發生異常時,異常不能正確的處理。正常函式會發生異常時會呼叫這個0xcc,然後再異常,然後再0xcc.... 直到堆疊用完後藍屏,錯誤**7f(double fault)。
說起這個double fault,大部分情況都是棧被用完了...
深思數盾使用指令碼加密(加殼)踩的坑
商業化軟體要盈利離不開加密,目前專案上選擇的加密軟體是深思數盾。一般來說加密都是由實施人員來做的,但是本專案又個特殊的地方,需要和二次開發者寫作開發,這樣就需要將debug編譯的dll也加密到。專案的編譯採用jenkins自動化編譯,在此前,加密的工作由開發人員手動加密替換dll。為了提高工作效率,...
Mongo 後台加索引踩坑
背景,隨著mongo資料量變大,查詢效率變低,要對索引進行優化,所在公司對mongo依賴比較嚴重,而dba並不對mongo的許可權做控制,所以每個後端開發都有mongo的讀寫許可權,通常每個人各自管理自己的模組的資料。由於筆者所負責的模組資料增長較快,使用者的關鍵業務資料都存在mongo裡面,很快m...
nvidia 驅動重灌踩坑之路
本來用gpu用的好好的,有一天系統軟體自動更新手賤點了確定,裡面包含nvidia字眼,當時看到就感覺有點不妥,仍然點了確定。恩,直覺真準,但是手快啊!於是開啟了踩坑之路。使用gpu版本的tensorflow,執行session時會出現如下問題 於是乎gpu就不能用了,nvidia smi也報錯說類似...