作者hotdogee (hotdog)
看板WOW
標題[閒聊] WOW抓圖浮水印暗藏帳戶名稱等資料
時間Tue Sep 11 23:48:27 2012
來源(www.ownedcore.com):
http://goo.gl/kW2Cw
三天前Sendatsu在OwnedCore網站的論壇上說他在魔獸世界的抓圖上發現了奇怪的圖案,
經過三天來若干人的努力已經成功解碼並證實這些圖案其實是Blizzard暗藏的
數位浮水印,浮水印的內容包含抓這張圖的
帳號名稱、精確到分鐘的伺服器時間、
伺服器名稱、伺服器IP等資料,且至少早在2008年的遊戲程式內就有發現這段
浮水印程式碼。
=如何看到浮水印=
這個浮水印只會出現在JPEG格式裡且品質設為1到9時,品質10的JPEG則沒有浮水印,
TGA格式的抓圖也沒有。
想自己要看到這個浮水印,請在遊戲內打:
/console SET screenshotQuality "9"
最好找一個純色的乾淨畫面,用alt+z隱藏介面後抓圖:
http://i.imgur.com/HyGGl.jpg
用任何影像處理軟體(IrfanView, Photoshop)的銳利化濾鏡,即可看到以下圖案:
http://i.imgur.com/ZK5l1.jpg
=浮水印解讀範例=
以下是經過處理的1680*1024的圖:
http://i.imgur.com/dwqJ9.jpg
可以看到分成三排,第一排有4塊重複的圖案,第二排有3塊,第三排有4塊
把重複出現的那塊分離出來:
http://i.imgur.com/Kx3tm.jpg
可以看到每5x4個pixel其實是一個bit。
以上圖浮水印為例,由最左上角開始往下數八格就是帳號名稱的第一個字母:
白
黑
黑
黑
白
白
黑
黑
在二進位是00110001也就是ASCII Code的數字"1"
在接下去:
黑
黑
黑
黑
白
白
黑
黑
在二進位是00110000也就是ASCII Code的數字"0"
如此繼續下去就可以得出這張抓圖的使用這帳號名稱是107642169 (這是個試玩帳號)
=反編譯程式結果=
_Mike在MacOS X上用反編譯軟體IDA Pro將wow.exe反編譯後確實發現有相關的函式名稱:
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
;
ScrnScreenshot(void (*)(int), unsigned char *, unsigned int, char const*,
char const*, char const*)
__Z14ScrnScreenshotPFviEPhjPKcS3_S3_ proc near
; CODE XREF: Script_Screenshot(lua_State *)+37
; sub_76C3C0+36
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
mov ds:__ZL15s_captureScreen, eax ; s_captureScreen
mov eax, [ebp+arg_4]
mov ds:__ZL16
s_pWatermarkData, eax ;
s_pWatermarkData
mov eax, [ebp+arg_8]
mov ds:__ZL21
s_uWatermarkDataBytes, eax ;
s_uWatermarkDataBytes
mov eax, [ebp+arg_C]
mov ds:__ZL18s_screenshotFolder, eax ; s_screenshotFolder
mov eax, [ebp+arg_10]
mov ds:__ZL24s_screenshotNameOverride, eax ; s_screenshotNameOverride
mov eax, [ebp+arg_14]
mov ds:__ZL19s_depthNameOverride, eax ; s_depthNameOverride
leave
retn
__Z14ScrnScreenshotPFviEPhjPKcS3_S3_ endp
==========================================================================
用Mac版的原因是因為Windows版的機器碼反編譯後看不到函式名稱。
其中s_pWatermarkData總共是88個Byte,其中包含64個Byte是帳號名稱、
4個Byte的時間,與20Byte的其他東西。
_Mike四小時前寫了一個工具可以在一些處理過的圖檔讀出浮水印資料:
https://dl.dropbox.com/u/12654979/WatermarkTool.png
但是要在任何抓圖都讀得出來還需要寫一些影像處理的程式,目前還沒有人寫出來。
如此Blizzard可以從網路上大部分的wow截圖找到原拍照的使用者。
要避免截圖產生浮水印只要將JPEG品質設為"10"即可:
/console SET screenshotQuality "10"
JPEG品質我在5.0.5看到的預設值是"3",用以下指令即可顯示你目前的品質設定:
/run print(GetCVar("screenshotQuality"))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.28.73
推 daren7451:快推 不然 09/11 23:49
推 Rivendare:嗯嗯 我懂了 (? 09/11 23:50
推 miayao417:原來是這樣,跟我想得差不多。 恩恩 09/12 00:06
推 mountainn:原來如此 恩恩 09/12 00:08
推 ofnfline:魔獸都營運幾年了才被抓出來,BZ可真會藏 09/12 00:11
推 elizas1201:orz...... 09/12 00:11
推 reaturn:我記的最早的wow抓圖下來全是TGA 09/12 00:13
→ farst:誇張XDDDDDDDDDDDDDDD 09/12 00:24
推 wildbloodcat:但是這也只限於沒修改的圖吧 09/12 00:29
這個數位浮水印的設計其實是可以抵抗一定程度的放大、縮小與裁減
推 mike0327:高手拿來玩的玩具QQ 09/12 00:37
※ 編輯: hotdogee 來自: 140.112.28.73 (09/12 00:43)
推 iceonly:那還真強韌._. 再做一次破壞性壓縮呢? 09/12 00:44
推 bgrich:官方抓非法玩家的工具? 09/12 00:46
推 Allen0315:原po熱狗大@@!!!RatingBuster超好用的啦!!! 09/12 00:51
推 pssjim:看到這個id,一定要推一下 09/12 00:53
推 PTTco:挖屋@@ 09/12 01:08
推 wildbloodcat:咦? 對喔! 更新! (敲碗) 09/12 01:25
推 iamhog:只好用相機拍螢幕啦 XD 09/12 01:26
推 CHOCOLA1983:靠么!我要檢查一下我以前上傳那些圖... 09/12 01:59
推 PTTco:樓上 FBI已經在你家門口了 09/12 02:27
推 reaturn:汁液不當散佈…早就被盯上了 09/12 03:01
推 raygod:真鳥 偷隱私也不是這樣.... 09/12 03:52
→ raygod:BZ這種行為有點惡心阿... 09/12 03:53
推 ak147:原來鎖帳號還可以直接從這邊鎖 ((超大尾浮出來了 09/12 06:32
推 emip:這有什麼好隱私的xd 09/12 08:08
推 ak147:重點ownedcore bz應該從這邊鎖不少人 XDDD 09/12 08:16
→ ak147:小時候改貼圖改模組都在wowned發文 現在改ownedcore 09/12 08:18
→ ak147:像上次釣魚傳單npc 其實更之前暴風城下面也一隻無限交任務 09/12 08:19
→ ak147:也是這邊傳出來的 09/12 08:19
→ ak147:印象中好像可以無限交清涼泉水 農場那邊 09/12 08:20
推 yukinoba:不是抓非法玩家,這原本是用來抓散佈beta截圖的 09/12 09:14
→ yukinoba:不過後來Bz對於beta情報的態度比較開放後就沒什麼用了 09/12 09:16
※ 編輯: hotdogee 來自: 114.32.100.178 (09/12 11:39)
→ deathson:意思是TGA跟Rank 10 JPG都不會有這浮水印提供資訊嗎? 09/12 11:43
是的
※ 編輯: hotdogee 來自: 114.32.100.178 (09/12 11:44)
推 HQ1030:其實,原文讀完,這些獲取資訊的行為也有可能是要抓私服的 09/12 11:57
→ HQ1030:另外ToS裡面的aknowledgment有允許bz拿資料 09/12 12:02
→ HQ1030:不過這掩蓋不了他們浮水印資訊沒加密的粗糙手法就是了... 09/12 12:03
推 elizas1201:我找了自己之前喵喵王和MoP beta裡的抓圖,都有出現 -_- 09/12 15:23
推 jrshiun:意思就是 你遇到BUG又愛現, 運氣不好的話 就會被抓包 09/12 15:48