2010年3月8日 星期一

有關Windows 7 x64的支援

這兩天終於弄到x64玩了...

大致試了幾個差別。
發現想要讓目前的EFix能夠支援x64可能有一點難度....

雖然說目前測試跑的x86程式單獨跑大多都OK
原本執行到建立還原就中斷的問題是因為命令提示字符的關係
但因為目前碰到的一些差別讓我不是很敢下去測試0rz

主要問題就是在x86程式和x64程式所建立的位置問題
比如打包的pv

pv本身是x86程式
在執行的時候也只能抓到執行中的x86程式
x64的一率抓不到0rz

而reg也是x86程式
同樣的假設去抓HKLM\SOFTWARE\ABC登錄值
也會去抓取HHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ABC底下的資料

然而x86和x64一般安裝的Program Files資料夾也不同
x86的是Program Files (x86)
然而環境變數會讓x86程式執行時自動轉換到x86對應的環境下
所以在抓%ProgramFiles%環境變數資料夾內的數據,原本應該是:\Program Files資料夾
結果變成:\Program Files (x86)

這樣變成部分資料會抓不到
如果就這樣隨便貿然將資料庫加上去鐵死

所以目前基本上應該是沒機會支援x64了...

那使用x64的使用者怎麼辦?
由於我目前也無法得知有中x86惡意程式的話資料會怎麼寫入系統
所以目前也沒得處理。

還好目前看到x64使用者碰到惡意程式的機率比較低一些
大多都是一些首頁綁架問題而已,一般手動處理即可。

我這邊可能會編寫一個x64用的系統檢測工具 ( 用純AUTOIT撰寫,這樣就可以比較完整支援x64 )
但不做自動清除只做偵測,因為運作機制我還完全不懂
必須要多做研究才行...

以上是自我碎碎念
結論就是要支援x64...還早啦~

------------------------------------------------------
本來還以為改一些特殊字元的檢測就好了,一跑過之後發現完全不是那麼一回事0rz