發表文章

[C][ASM]微軟的函數頭定義要mov edi,edi的原因

在C的規範下的組語,函數頭形式會做 push ebp mov ebp,esp sup esp, n//stack資料轉區域變數空間 /*...接著就可以存取[ebp+4*k]的參數...*/ add esp, n ( or ret n)//平衡堆疊 pop ebp ret 幾個比較神奇的事情: 1. MASM為啥頭函數要多一個mov edi,edi 該不會是為了湊足五個字節方便我們破解者Hook吧XD? 2. 為啥wsprintf要使用者自己平衡堆疊? 3. 有些函數明明就不需要參數 為啥還是需要做enter跟leave?

XTab新型惡意瀏覽器插件病毒手法紀錄

圖片
可惡...本來只是想下載一個國外的殼破解版,結果又中菜花了T___T 我覺得這樣下去總有一天我會中過每種毒然後都解過一次毒XD XTab新形態的惡意瀏覽器病毒會做的事情: 會安裝一個叫做XTab的安裝包 啟動一個叫做Au__.exe的東西一直檢測各種瀏覽器首頁有沒有被流氓綁架 (如果沒被綁架 它會幫你在綁架一次) 接著又是老梗的在各個瀏覽器上安裝流覽器插件 設定你的瀏覽器啟動參數額外增加綁架網址 設定你的瀏覽器啟動首頁成綁架網址 你的windows的程式集內的瀏覽器的路徑也會被下綁架網址 你的桌面上如果有瀏覽器的捷徑也會被下綁架網址 你的工作列上如果有對程式"釘選"(固定程式ICON在工作列上)被下綁架網址 會在XTab資料夾內找到三個DLL...用DLL Injection方式注入到explorer.exe (你剛中毒的時候會發現資料夾管理員會崩潰一次就是這個原因,可能病毒作者沒寫好導致的,有夠蔡逼巴...雷....) 大致上提一下解毒方法: 把所有流覽器從工作列上"釘選"給取消 工作管理員打開,找到公司名稱是"XTab"的,通通強制關閉並且刪除/反安裝 到開始->程式集->找到你的瀏覽器,右鍵內容把後面的網址全部刪掉 開啟工作管理員把explorer.exe給強制關閉,然後刪掉XTab下三個DLL. 最後,去瀏覽器把首頁/開啟頁面之類設定通通改回來 最近的病毒真的是花招越來越多惹T___T

[筆記]逆向.NET需要的技術

NT Coure: http://www.ntcore.com/netunpack.php 從內存直接dump .NET的資料出來 .NET Reflector: 優異的反編譯.NET工具 IL Spy: http://ilspy.net/ 優異的免費反編譯.NET工具 De4Dot: http://de4dot.com/ 免費的解花工具

[C++Builder][VC++][DevC++]逆向分析for迴圈能否使用多重條件句

圖片
for迴圈標準寫法: for(int i = 0 ; (i < 10); i++); 或者可以用建構式初始化起始值 for(int i(0) ; (i < 10) ; i++); for迴圈在編譯器解釋上是把;;前中後三個拆解成三個block來處理 所以可以寫: for(int i(0),t(0),k(0), (i<10); i++); 這樣for迴圈"內"就可以一次使用三個變數 所以當然也可以在最後一個尾巴的block加上額外的運算方法: for(int i(0),t(0),k(0), (i<10); t = i+1, k = t*2; i++); 理論上既然for迴圈內以逗號隔開應該是會被解析的, 那麼for(; 條件句1,條件句2,條件句3;); 應該這麼寫編譯器應該也是會過的 編譯一下,過了 來分析一下記憶體上是怎麼跑的 用Cheat Engine動態跟蹤一下很快就能找到存取點了(那個k值的地址) :P 跟蹤回去,可以找到int main()架構在這裡 看來Dev C++ 在組合語言上只保留了k == 99這個條件句了 (對於 i < 10這個條件句已經被無視了Otz) 為了避免是Dev C++對於for迴圈解析的問題 另外拿了Visual C++做了測試: 用Cheat Engine跟蹤一下int main()的結果: VC++的解析狀況也是選擇只保留最後一個條件句,把 i < 10條件句給遺忘了T__T 不信邪的再拿CBuilder測一下 用Cheat Engine跟蹤: C++Builder編譯後的結果也是選擇把條件句 i < 10做遺忘,只取最後一個 看起來各個版本的C++IDE做解析都會把 for (int i = 0 ; i < 10 , i < 9, i < 8; i++); 只解析最後一個條件句(意思是如這個for迴圈i只會跑0~7) 查了一下國外討論串 Are multiple conditions allowed in a for loop? 結論也是這樣Otz.

馬後炮式詳談英雄聯盟、流亡黯道網軍間諜病毒在幹嘛(下集)

圖片
此篇接續上集的 馬後炮式詳談英雄聯盟、流亡黯道網軍間諜病毒在幹嘛(上集)

馬後炮式詳談英雄聯盟、流亡黯道網軍間諜病毒在幹嘛(上集)

圖片
*注意:此篇文作者只略懂略懂資安,不是一篇專業分析文 *1/11:此文有下集囉~ 馬後炮式詳談英雄聯盟、流亡黯道網軍間諜病毒在幹嘛(下集) 閱讀此文須服用前置資訊: 12/31Garena 資訊安全聲明 HITCON Freetalk 20150109:Operation GG 台灣最熱門網遊安裝檔 驚見網軍後門 其實在一開始12/31, 魯宅我還在義大宿舍爽爽準備跨年,然後有看到Garena官方發出這份公告 不過我沒有多想XD 反正我宿舍電腦Windows都是裸奔沒有裝防毒的習慣再加上我每天無聊都會開封包工具跟一些資安有關逆向工具,都沒有發現有任何異狀,所以我應該是沒有事XD 接著我們進入正題吧。 我們看完HITCON大神們(說到這我正在跪著敲鍵盤)和 Garena官方公告後可以得知幾件事情: 這是一個安裝程序感染事件,主要問題應該是出在 完整安裝包 身上(這應該也能解釋為什麼魯宅我沒中毒...因為我都用版本升級的補丁做安裝)。 安裝包程序上綑綁上了病毒插件,執行完安裝包後安裝好的遊戲主程式會被Patch成一個後門木馬遊戲程式。當你正常開啟遊戲後,除了打開遊戲本身外,會在C:\Windows\System32\下生產兩個檔案,分別為 NtUserEx.dll、NtUserEx.dat 。 兩個藏在System32的後門文件檔案 從HITCON的FreeTalk大神口中我們可以得知,NtUserEx.dll其實幾乎是正常的dll Library(不過它來源好像因為是Windows NT的DLL所以自動被防毒當白名單?這不太清楚,Google找不太到);而整份NtUserEx.dll函數中 只Patch了兩個函數去存取NtUserEx.dat 。 NtUserEx.dat的內容物應該就是整隻病毒核心要幹的壞事,加密起來包在這個.dat文件內動態載入存取,然後監控整個你的Windows系統。 *附註:是說有問題的安裝包我是跑去跟HITCON的大神要的XD,點開了 有問題的遊戲主程式 後就會在System32下生產兩個病毒文件並且修改 有問題的主程式 回正常的主程式, 意思是有問題的遊戲主程式只要製造出病毒後就會恢復正常遊戲主程式了! (至於為啥要這樣幹...可能想避免引起注意吧?) 不過我是把這支病毒...

解除mystartsearch首頁綁架

圖片
寫這篇文章純粹因為我MacBook中的Windows沙箱首頁被綁架了T__T 然後到設定內可以看到它把預設開啟網頁設為流氓網站的網址. 把它更改回來之後,不過會發現無效....會自己被設定回來流氓網站的網址. 於是看了一下,有個流氓擴充套件在每次Chrome開啟都會修改我的首頁... 所以把它移除掉就可以了 不過移除掉之後每次開Chrome這個擴充套件又會被裝回來, 於是從桌面上的Chrome的捷徑查看一下.... 原來是目標被下了參數,詳細參數為:"C:\Program Files\Google\Chrome\Application\chrome.exe" http://www.mystartsearch.com/?type=sc&ts=1414216660&from=smt&uid=WindowsX7-0XSSD_47TN9V1WXRFMQ2QRRRH2X(意味著一啟動Chrome就跟著shell了www.mystartsearch.com的網頁) 把目標格子的值改為"C:\Program Files\Google\Chrome\Application\chrome.exe" 按確定,收工~ 下一次開啟就是乾淨的Chrome囉~