kRestoreSSDT.jpg
程式作者:kLoEr
程式下載:Download
編寫環境:Visual C++ (MFC) / WDK

心血來潮突然想寫一個這樣的東西, 以前都是直接用別人現成的
檢測 inline hook 那邊我暫時是用最簡單的方式 ... 參考就好
Windows XP / Vista / 7 的 x86 版都能夠使用
至於這個程式的用途, 我就懶得說明了, 應該不少人知道

kloerhe 發表在 痞客邦 留言(9) 人氣()

程式下載: Download
這是將 Sitos 大的 uLan32 Client 重新改寫。
原本的版本會需要安裝 Winpcap 才能使用。
所以我就寫了一個 Kernel Mode 的 Intermediate Driver,
將原本的 Winpcap 部分替換掉。
作業系統為 Windows Vista && Windows 7 的人請使用管理員權限執行程式
第一次使用的話程式會要求安裝驅動程式, 會在背景中安裝
安裝過程網路會斷線一陣子, 這是正常現象, 不用擔心
若日後想將驅動程式移除的話, 執行 uLanDrv\\uninst.exe 即可移除
接下來的使用方法就跟原本的 uLan 操作一樣了
附註 : 64 Bits 的作業系統我沒有實際安裝測試過, 因為找不到機器測試
       不過我想應該也是可行才對。

kloerhe 發表在 痞客邦 留言(2) 人氣()


程式作者:kLoEr
編寫環境:Assembly
程式用途:Garena 2010 版的自動擠房間程式
1. 打開 Garena 登入帳號完畢在遊戲室列表那點選 Get Handle
2. 在要進入的房間點一下左鍵 ,使其被選中
3. F9 啟動 / F10 停止
4. 進入房間後若有提示 "您仍在房間裡, 要離開房間嗎?" ,請多按幾次 F10

kloerhe 發表在 痞客邦 留言(26) 人氣()

kRoomAgent.jpg
程式作者:kLoEr
編寫環境:Visual C++ 6.0
程式用途:用來提醒 Lazy 的人 ....
程式下載:Download
有點類似 Warcraft III Easy Wait, 看了他的 Idea 不錯, 就想自己寫一個.
功能就兩個部份, 自動提醒以及額外功能, 以下是各個功能的簡單介紹.
自動提醒 -> 遊戲開始時 : 此選項若打勾, 則不管是不是房主, 都會於遊戲
                                    開始時發出音效提醒.
                 房間已滿時 : 此選項若打勾, 則不管是不是房主, 都會於房間
                                   已滿時發出音效提醒.
                 離開房間時 : 此選項若打勾, 則不管是不是房主, 都會於離開
                                   房間時發出音效提醒.
額外功能 -> 房間滿後 5 秒自動開始 : 是房主的話房間滿就會於 5 秒鐘之後
                                                    自動開始倒數  (5, 4, 3, 2, 1, 0, 0, 0), 然後
                                                    在開始遊戲進入魔獸系統倒數階段, 在此階段中若
                                                    是有人跳, 程式會判斷出來並關閉遊戲室.
                 自訂房間人數上限 : 多做這個是因為有些地圖中會有<電腦>這種欄位,
                                            將會導致判斷滿房人數的時候有問題, 因而增加此設置.
                                           (有<電腦>欄位的地圖必須自訂滿房的數量, 若是沒有
                                            <電腦>欄位的地圖, 程式將會自動偵測滿房正確人數)
Vista / Windows 7 使用者請按右鍵 -> 以管理員權限執行
Updated Log :

kloerhe 發表在 痞客邦 留言(5) 人氣()

Y3fW.jpg
心血來潮試了一下, 挺不錯的, 能把原本的小地圖英雄點隱藏起來
再透過一些另類手法把英雄點描繪出來, 不過程式暫時應該不會發出來
這篇文章證明了此版 AMH 仍然有漏洞可以繞過, 有心人士自己去試吧 (it's possible)
有圖有真相

kloerhe 發表在 痞客邦 留言(2) 人氣()

程式作者:kLoEr
編寫環境:Assembly
程式下載:Download
程式用途:可以在 GGC 中踢除指定玩家 ( 限定房主 )
使用方法:然後點擊 Garena 房間內的 "開始遊戲" 後, 會跳出 Warcraft III 的視窗
       然後跳回桌面打開 kGK_v2.exe, 會跳出一個視窗
               當視窗的標題名稱會隨機改變代表成功了, 此時請勿關閉此視窗
               之後遊戲中對想踢的人用密語頻道打個 bye 他就會斷了 (一定要小寫)

kloerhe 發表在 痞客邦 留言(6) 人氣()

在 Phate 上看見了 asusp4b533 大大的對於 Handle Tree 的文章後
便想自己實際演練一次並存起來, 當作日後我可以方便的複習
首先每一個 Process 都會有一個叫做 _EPPROCESS 的 Structure
( 當然你可以使用 !process 發現 _EPPROCESS 實際的 Address )
而在這個 _EPPROCESS + 0x0c4 就指向了一個 ObjectTable
其實這個 ObjectTable 也就是 Handle Table
假設 Handle Table 上 的位置是 0xe1a4f178
則我可以 dt _HANDLE_TABLE 0xe1a4f178 得到下面的結果

kloerhe 發表在 痞客邦 留言(0) 人氣()


期中考剛過完挺閒的, 也好久沒碰 Warcraft 3 了
心血來潮就想知道 AMH 有沒有跟之前不一樣了
所以就抓了最新的三國地圖來實際看看
分析過後發現有兩個地方需要突破
第一個就是 AMH 會讓開圖中的 Warcraft 3 Crash ( Exception )
這個是挺好突破的, 隨便改寫一下 Warcraft 3 的 Code Segment 就搞定
關鍵就在第二個突破的方法, 這版本的 AMH 應該使用了類似 dota 的技巧
會在反地圖駭客系統初始化後, 在小地圖上產生 n 個類似英雄的大紅點, 並且隨機移動
所以這時候就必須想辦法讓這些紅點消失, 但是敵方英雄或者我方英雄必須能正常顯示
經過大約半天的研究後, 我找到了 Solution
我可以直接透過分析魔獸的 Memory 找出真正的敵方或我方英雄的代碼 ( 白名單 )
然後在小地圖顯示的功能上, 稍微做些修改
讓不在這些代碼裡面的 Unit 都 Invisible
這樣就完美的突破 AMH 系統了, 經過實做並測試後, 可行.
當然大部份人看了這篇文章也是不太可能做出來的, But Genius
此文的主要目的是希望下次的 AMH 能夠更強大囉
有圖有真相 ( 點圖可完整顯示 )
-------------------------------------------------------------------------------
這是未突破第二個部份的小地圖實況, 可以看見有數十個點在小地圖亂跑
特製的程式初始化 與 三國地圖載入前
剛讀完地圖的時候, 此時會進行第一部份的偵測, 但是繞過也挺容易的, 時間點 : 00:00:08
反地圖駭客系統初始化時, 之後就會初始化第二個部份, 時間點 : 00:00:52
成功突破第二個部份, 敵方英雄紅點正常顯示, 並且亂飄的 n 個點已經被幹掉, 時間點 : 00:01:43

kloerhe 發表在 痞客邦 留言(1) 人氣()

這個算是我寫 Windows Driver 的 Hello World
以下是驅動的代碼 , 僅供參考用
原理也只是透過 Hook IofCallDriver 而已
不過我沒使用 inline hook 的方法
因為似乎要配合 xde 之類的反彙編引擎
有點麻煩

kloerhe 發表在 痞客邦 留言(1) 人氣()

MysqlBatch(1).jpg
編寫語言 : C / C++
程式作者 : kLoEr
程式下載 : Download
預覽圖片 :
 
最近在做 Database homework 時需要一次執行蠻多的 SQL Statements
但是在使用 Mysql Query Browser 時發現竟然一次只能執行一個
又懶得找其他可以達到我的目的的 Application, 只好動手寫一個
此程式需要 Mysql 的一個 DLL 檔才能運行, 由於蠻大的我就不附上了, 自己找吧.
存放 SQL Statements 的文字檔裡面, 每一個語句可以用多行去表示, 只要確定一個語句的最後一行最後一個字是分號就行了

kloerhe 發表在 痞客邦 留言(1) 人氣()

今天拿到了一個 Delphi 的小程序來練習, 首要目標就是斷下提取 Text 的 API
首先我第一個直覺下就是在 GetWindowText & GetDlgItemText 下 breakpoint
後來竟然發現這兩個都失敗, 證明了 Delphi 沒有使用以上兩個 API
再來我嘗試斷下 SendMessage 並做 Condition, 依然失敗
後來在 pediy 中見到 Delphi 處理 Text 的特殊方法
就是直接去呼叫 WndProc, 忽然恍然大悟
於是我 bp CallWindowProcW, Condition : [esp+C]==000D && [esp+8]==004408D4
立刻斷下來了, 大功告成 .. 分享給各位

kloerhe 發表在 痞客邦 留言(1) 人氣()

原作者:yogle
#define _WIN32_WINNT 0x0400
#include <windows.h>
typedef LONG NTSTATUS, *PNTSTATUS;
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)

kloerhe 發表在 痞客邦 留言(0) 人氣()

1 2
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。