2008年5月2日 星期五

HTPC

        ##CONTINUE##
Posted by Picasa

2008年1月9日 星期三

DBX4 transaction

dbxconnections.ini的Connecton Settings加上Multiple Transaction=True

2007年12月5日 星期三

認識病毒的映像劫持技術(Image File Execution Options)

映像劫持的定義
所謂的映像劫持(IFEO)就是Image File Execution Options,位於註冊表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
由於這個項主要是用來調試程序用的,對一般用戶意義不大。默認是只有管理員和local system有權讀寫修改。
通俗一點來說,就是比如我想運行QQ.exe,結果運行的卻是FlashGet.exe,也就是說在這種情況下,QQ程序被FLASHGET給劫持了,即你想運行的程序被另外一個程序代替了。
映像劫持病毒
雖然映像劫持是系統自帶的功能,對我們一般用戶來說根本沒什麼用的必要,但是就有一些病毒通過映像劫持來做文章,表面上看起來是運行了一個程序,實際上病毒已經在後台運行了。
大部分的病毒和木馬都是通過加載系統啟動項來運行的,也有一些是註冊成為系統服務來啟動,他們主要通過修改註冊表來實現這個目的,主要有以下幾個方面:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
更多啟動項請參考:系統啟動時所有可能加載啟動程序的方式&&&系統加載方式一文。

##CONTINUE##
但是與一般的木馬,病毒不同的是,就有一些病毒偏偏不通過這些來加載自己,不隨著系統的啟動運行,而是等到你運行某個特定的程序的時候運行,這也抓住了一些用戶的心理,一般的用戶,只要發覺自己的機子中了病毒,首先要察看的就是系統的加載項,很少有人會想到映像劫持,這也是這種病毒高明的地方。
映像劫持病毒主要通過修改註冊表中的HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution options 項來劫持正常的程序,比如有一個病毒 vires.exe 要劫持 qq 程序,它會在上面註冊表的位置新建一個qq.exe項,再這個項下面新建一個字符串的鍵值 debugger 內容是:C:\WINDOWS\SYSTEM32\VIRES.EXE(這裡是病毒藏身的目錄)即可。當然如果你把該字符串值改為任意的其他值的話,系統就會提示找不到該文件。
映像脅持的基本原理
WINDOWS NT系統在試圖執行一個從命令行調用的可執行文件運行請求時,先會檢查運行程序是不是可執行文件,如果是的話,再檢查格式的,然後就會檢查是否存在。如果不存在的話,它會提示系統找不到文件或者是「指定的路徑不正確等等。把這些鍵刪除後,程序就可以運行!
映像劫持的應用
★ 禁止某些程序的運行
先看一段代碼:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\qq.exe]
"Debugger"="123.exe"
把它保存為 norun_qq.reg,雙擊導入註冊表,打開你的QQ看一下效果!
這段代碼的作用是禁止QQ運行,每次雙擊運行QQ的時候,系統都會彈出一個框提示說找不到QQ,原因就是QQ被重定向了。如果要讓QQ繼續運行的話,把123.exe改為其安裝目錄就可以了。
★ 偷樑換柱惡作劇
每次我們按下CTRL+ALT+DEL鍵時,都會彈出任務管理器,想不想在我們按下這些鍵的時候讓它彈出命令提示符窗口,下面就教你怎麼玩:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\taskmgr.exe]
"Debugger"="C:\\WINDOWS\\pchealth\\helpctr\\binaries\\msconfig.exe"
將上面的代碼另存為 task_cmd.reg,雙擊導入註冊表。按下那三個鍵看是什麼效果,不用我說了吧,是不是很驚訝啊!精彩的還在後頭呢?
★讓病毒迷失自我
同上面的道理一樣,如果我們把病毒程序給重定向了,是不是病毒就不能運行了,答案是肯定的!下面就自己試著玩吧!
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\sppoolsv.exe]
"Debugger"="123.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\logo_1.exe]
"Debugger"="123.exe"
上面的代碼是以金豬報喜病毒和威金病毒為例,這樣即使這些病毒在系統啟動項裡面,即使隨系統運行了,但是由於映像劫持的重定向作用,還是會被系統提示無法找到病毒文件(這裡是 logo_1.exe和sppoolsv.exe)。是不是很過癮啊,想不到病毒也有今天!
當然你也可以把病毒程序重定向到你要啟動的程序中去,如果你想讓QQ開機自啟動,你可以把上面的123.exe改為你QQ的安裝路徑即可,但是前提是這些病毒必須是隨系統的啟動而啟動的。
映像劫持的應用也講了不少了,下面就給大家介紹一下如何防止映像劫持吧!
關於映像劫持的預防,主要通過以下幾個方法來實現:
★權限限制法
如果用戶無權訪問該註冊表項了,它也就無法修改這些東西了。打開註冊表編輯器,進入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Image File Execution Options ,選中該項,右鍵——>權限——>高級,將administrator 和 system 用戶的權限調低即可(這裡只要把寫入操作給取消就行了)。
★快刀斬亂麻法
打開註冊表編輯器,進入把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options項,直接刪掉 Image File Execution Options 項即可解決問題。

以上文章轉貼自賽迪網

2007年11月29日 星期四

dbExpress(DBX4) AS400 Driver

在安裝RAD Studio DELPHI 2007後,C:\Documents and Settings\user\My Documents\RAD Studio\5.0\Demos\database\projects\dbx\driver\as400資料夾中有提供連接AS400的Driver。

Installation instructions for dbexpca400 (dbExpress driver)

##CONTINUE##

-----------------------------------------------------------

0) set up your iSeries or AS/400 connection in iSeries Access, for this example the connection is called "MYAS400" (usually this is already configured)

1) copy dbexpca400.dll to a directory that is in your path, make sure only one version of dbexpca400.dll is on your system. The Windows\system or WINNT\system32 directory is a good place for the driver.

(optional) copy dbexpca400.obj and iseriesaccess.obj to $(BCB)\Lib for C++Builder 6 (optional) copy dbexpca400.dcu and iseriesaccess.dcu to $(Delphi)\Lib for Delphi 7 or 6

2) modify dbXDrivers.ini, depending on your Delphi version in

Delphi 2007: %Public%\Documents\RAD Studio\dbexpress Delphi 2005: %CommonProgramFiles%\Borland Shared\BDS\dbExpress Delphi 2006: %ProgramFiles%\BDS\4.0\dbexpress Delphi 6, Delphi 7, C++Builder 6: %CommonProgramFiles%\Borland Shared\DBExpress\

[Installed Drivers] CA400=1

[CA400] GetDriverFunc=getSQLDriverCA400 LibraryName=dbexpca400.dll VendorLib=cwbdb.dll Database=MYAS400 User_Name= Password= ServerCharSet= ErrorResourceFile= LocaleCode=0000 BlobSize=-1 RowsetSize=-1 RoleName= CA400 TransIsolation=DirtyRead CommitRetain=True AutoCommit=True Custom String=/trace=0 Connection Timeout=-1 Trim Char=False

[CA400 TransIsolation] DirtyRead=0 ReadCommited=1 RepeatableRead=2

3) drop a TSQLConnection on a form, double click the TSQLConnection then choose "+ Add Connection", select driver name "CA400" and give your connection a name, for example "MYCA400CONN". Check that Database is set to the connection you defined in iSeries Access (MYAS400)

4) set the "LoginPrompt" property of SQLConnection to false if you don't want to be prompted for a password (the connection security is maintained by iSeries Access)

5) drop a TSQLQuery on your form, set it's SQLConnection property to your SQLConnection. Set the SQL property to for example 'select * from "QIWS"."QCUSTCDT"' (QIWS.QCUSTCDT is a standard table on every iSeries system)

Borland Database Engine (BDE) 移植到DBX4方法

首先下載http://www.bluetrainsoftware.com/developersinc/dbx_bde.zip套件。

解壓縮到目錄,開啟dbx4_bde_wrapper.dproj,先build,然後install。

 

打開目錄中的dbxdrivers.ini,複製下列文字

DBX4BDE=1

[DBX4BDE]
DelegateDriver=False
DriverName=DBX4BDE
DriverUnit=dbx4_bde_wrapper_unit
DriverPackageLoader=TDBX4BDEDriverLoader
DriverPackage=dbx4_bde_wrapper.bpl
Database=DBDEMOS

加到到C:\Documents and Settings\user\My Documents\RAD Studio\dbExpress\的dbxdrivers.ini檔中。

作法:

1. 打開或新增專案,放上BDE的TDatabase元件,設定好參數,name=myDemos。

2. 放上dbExpress的TSQLConnection元件,Edit Connection Properties,Add Connection。

3. Driver Name = DBX4BDE,Connection Name 自行命名。

4. Connection Setting的Database = myDemos。

5. 按Test Connection,Successfully Connectioned。

完成。

 

Demo Video參考連結:http://www.bluetrainsoftware.com/developersinc/DBXBDEDemo/dbx_bde_project.html

2007年11月23日 星期五

如何在Data Explorer建立Blackfishsql新資料庫?

如何在新DBX_DEMO_JDS connection建立bfdmeo.JDS:

打開Data Explorer, 選擇dbExpress | BlackfishSql | 右鍵 | Add New Connection

輸入 connection name, 例如: "dbx_demo_jds" 按 "Ok"

在這新的 connection 按右鍵, 選擇 "Modify Connection"

打開Connection對話方塊

輸入新的database參數:

  • the server name : localhost
  • the database name: 資料庫完整路徑名稱, 例:

      C:\programs\us\db\blackfishsql\data\bfdemo.jds

  • the user name : SYSDBA
  • the password : masterkey


按 "Advanced" 按鈕打開進階參數設定, 將 "Create" 設成 True:

按 "Ok"

按 "Test Connection"

顯示 "Connection Succeeds" 
按 "Ok"
新的database 成功建立完成.

2007年11月12日 星期一

Delphi Vcl for Web(intraweb)由StandAlone改為ISAPI