記錄一次繞過檔案防多開的思路

2021-10-08 07:29:09 字數 926 閱讀 9125

此文章僅記錄當時思路,不具備通用性。且本人所學甚淺,必有諸多不足,如若有誤或更好的思路,希望能不吝指教。

目標程式有防多開限制,需求繞過防多開。

通過行為監控、分析,發現目標程式有可疑檔案(某特殊檔案字尾)的建立和鎖檔案(lockfile)的操作。

進一步分析,發現與鎖檔案的操作無關。

關注並分析建立的可疑檔案:發現該檔案在程式啟動時被建立並占用,程式退出時刪除,且處於公共目錄下(c:\user\pubulic\…)

嘗試通過相關api斷點下斷分析,但此程式建立檔案諸多,斷點觸發頻繁,需進一步過濾,遂嘗試條件斷點。

在觸發檔案api(createfile)斷點時,暫存器【rcx】儲存的是檔案的完整路徑,可以通過引數比較來過濾無用的斷點觸發。

構建條件斷點:bp kernelbase!createfilew "j(poi(@rcx)='【檔案路徑】') '命令1' ;『命令2』"

嘗試執行命令,無法觸發,遂分析:

1.createfilew為寬字元版,自己輸入的檔案路徑不知被解析為什麼樣式

2.poi()解析,不知被解析為什麼樣式,獲取的多少位元組的資料

在windgb內申請一塊記憶體,先將需比較的資料以特定的格式寫入,通過poi()取值比較。

斷點命令

.dvalloc 0x100	// 申請空間,會返回申請空間的首位址

ezu [申請的位址] [檔案路徑] // 以零結尾的寬字元版格式向申請的記憶體內寫入資料

bp kernelbase!createfilew "j(poi(@rcx)=poi([申請的位址])) '命令1';'命令2'"

成功過濾無關斷點觸發,並在關鍵處斷下,通過修改建立的檔名(修改記憶體),成功繞過多開。

一次網路安防記錄

一 前言 簡單top一下,乙個明顯的不能再明顯的程序引起了我的注意。先kill再說,然後我就直接find name obamal 找到檔案路徑rm了。就在我以為已經解決的時候,睡了個回籠覺回來,這個程序又出現啦!看來還挺狡猾哈,雖然linux用了不短時間,但網路安全還真是第一次搞,所以就有了這篇博文...

記錄一次core檔案除錯

今天發現伺服器掛了,自己除錯了一下core,只能知道是迴圈解包引起的,卻不知道怎麼看到底是哪個包,以及包的內容。就請教了下阿里雲的同學,他幫我處理了問題。做下筆記 1.gdb home titan2 engine bin gateway 進入gdb除錯。2.core file core.gatewa...

記錄一次多開關多狀態情況下結果的設計

最近碰到乙個需求,有乙個頁面有三個認證,這三個認證會變更.就是說可能這期是認證a,認證b,就可以進行下一步.但是下期就變成b,認證c了.需求希望針對這三個開關做成這樣,開關a,開關b,開關c,都有三種狀態.1,2,3.1為必須做,2,為選做乙個.3為不做.如果三個開關配置成 1,2,3 那就代表開關...