;Delphi---Virus.Win32.Induc.a [Anti感染解決方案]
;By:ZzAge
;Blog:http://hi.baidu.com/zzage
最近這個(gè)病毒火了..好多delphi寫(xiě)的正規(guī)的軟件也不幸中獎(jiǎng)了....
感染Delphi的SysConst.dcu文件,使編譯出來(lái)的程序,都帶了感染性的..不過(guò)這病毒也算不上有什么危害...但自己寫(xiě)的代碼,編譯多了一些莫名其妙的代碼,還是非常不爽的...
昨晚回家,看了下自己的delphi,也中獎(jiǎng)了.......
解決方案:
一:
先看看感染代碼!從這段代碼里,可以看得出來(lái),這病毒是先從注冊(cè)表的RootDir值讀取了Delphi的路徑,從而得到了SysConst.dcu的路徑,相信大伙已經(jīng)知道思路了,只要我們把RootDir值修改成別的,病毒不就獲取不到路徑了...當(dāng)然也就感染不了...這里做個(gè)例子:把RootDir這個(gè)注冊(cè)表項(xiàng)改成RootDDD
procedure st;
var
k:HKEY;
c:array [1..255] of char;
i:cardinal;
r:string;
v:char;
begin
for v:='4' to '7' do
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar('Software\Borland\Delphi\'+v+'.0'),0,KEY_READ,k)=0 then
begin
i:=255;
if RegQueryValueEx(k,'RootDir',nil,@i,@c,@i)=0 then
begin
r:='';
i:=1;
while c<>#0 do
begin
r:=r+c;
inc(i);
end;
re(r+'\source\rtl\sys\SysConst'+'.pas',r+'\lib\sysconst.','"'+r+'\bin\dcc32.exe" ');
end;
RegCloseKey(k);
end;
end;
二:
打開(kāi)Delphi目錄下的delphi32.exe文件,載入OD,找到"RootDir"這字符串,把"RootDir"這字符串改成"RootDDD",這樣很簡(jiǎn)單就解決了..Delphi也正常使用了....也解決了被感染問(wèn)題...(SysConst.dcu必須為正常的)..