-
Posts
2099 -
Joined
-
Last visited
-
Days Won
17
Everything posted by pyth0n3
-
Cei care vor sa participe la cursurile discutate in acest topic sunt rugati sa completeze in mod civilizat urmatoarea tabela.In final dupa ce se va cunoaste numarul exact al partecipantilor se vor lua decizii in legatura cursurilor, spre exemplu unde si cand.Course Subscription Table Note: Pentru cei care aleg cursul Ansi C este important sa cunosc exact numarul participantilor deoarece vor putea partecipa doar persoanele care s-au inscris in acest tabel , sunteti rugati sa va lasati si adresa de mail chiar daca nu este required.Evident va puteti inscrie la mai multe cursuri nu doar la unul singur. O idee cu ceea ce vom face in Ansi C desi ar putea fi cateva schimbari pe parcurs. Vom intelege diferenta intre OOP si Structured Programming inainte de a incepe , nu in ultimul rand diferenta intre un compilator si un interpreter fiind lucruri importante. 1.O mica introducere despre C si Dennis Ritchie 2.Definitia unui compilator (gcc , vom vedea diferenta dintre compiler si interpreter) 3.Data types ( declararea variabilelor de diferite tipuri) 4.Operators(Logical && Aritmethic) 5.Flow(IF/ELSE/SWITCH/LOOP/GOTO) 6.Function/Procedures 7.Pointers/Arrays 8.I/O && Input/Output 9.Memory (Stack/Heap) 10.C Inline Assembly (Intro) Acest thread va fi sters in momentul in care se va conclude ceea ce a fost propus.
-
Nytro credea ca mi-au corupt contul dupa ce am deschis acest thread si ma intreba cine sunt , un ratat de pe rst mi-a scris cateva versuri dupa cum se vede mai sus intrun spreadsheet pe care l-am facut pentru a crea o tabela cu userii care vor participa la cursurile C,PHP si Linux.Asta a fost atat de ratat incat a lasat o gramada de informatii si uite eu l-am gasit si i-am dedicat un thread unde mi-am exprimat sentimentele fata de el.Acum il vom lasa in continuare in pace pe forum cu conditia sa il iau in suturi ori de cate ori va deschide gura.E mult mai satisfacator decat sa il dai afara.Eu nu am nimic cu nimeni deobicei dar ori de cate ori un copil prost crescut imi calca in fata o pune.Inainte sa scoti membrul din pantaloni trebuie sa te gandesti de 2 ori si sa fi sigur ca pantalonii nu ti spala "mata" ca s-ar putea sa ii dai iar de munca.
-
Acum nu mai conteaza cine e ratatul si eu il las in continuare pe aici sa il iau in suturi ori de cate ori este nevoie deoarece satisfactia e mai mare .Prostia se plateste, asta pentru versurile pe care mi lea dedicat deoarece a crezut ca iese cu fata curata
-
Ti-am dedicat acest topic sa iti spun ca ai fost atat de ratat incat nu ai reusit sa te ascunzi atunci cand mi-ai dedicat cateva versuri.In primul rand trebuia sa faci log-out de pe rst si sa iti schimbi ip-ul.Dar tu ai vrut sa te joci cu focul si ai mai intrat o data sa imi citesti topicul pe forum, asadar iti urez sezare placuta de acum inainte pe forum si in intregul World Wide Web pentru ca de cate ori o sa ma impiedic de tine o sa te strivesc ca un chistoc de tigara doar pentru faptul ca ai avut limba lunga si pentru ca esti un cacat care inca pute pe langa saraca "mata" care trebuie sa iti spele zilnic chilotii. Acum te las in continuare sa vad cum te simti atunci cand cineva stie cine esti si in care topicuri scrii. (Apropo citeste-mi topicul cand ai facut log-out ca iar iti lasi nickname-ul prin sectia "Members who have read this thread" )Iar pentru cei care vor sa creeze un spreadsheet care logheaza ip-urile atunci cand cineva face un post trimiteti-mi un mesaj.
-
Pentru cronaca, probabil inca puti pe langa mata in casa , (si uite ca mam coborat la nivelul tau de ratat al noii generatii)Apropo , daca ai ceva de spus deschide gura , ca google spreadsheet ofera si posibilitatea de a salva ip-ul celui care face submit + timestamp 7/14/2012 21:48:47 , poi sunt sigur ca erai logat pe forum cand completai deoarece nu poti vedea link-ul daca nu esti logat ,si esti unul din lista de mai jos "Members who have read this thread 118 " dar probabil in momentul in care ai completat chestionarul erai in urmatoarea lista "There are currently 7 users browsing this thread" si daca excludem pe cei care au completat in mod educat raman 3 , unul din care esti tu un ratat deoarece intrun oarecare topic te-am ranit spunandu-ti ca esti un copil prost crescut .Data viitoare inchide browser-ul si nu deschide documentele de pe google cu acelasi ip cu care te loghezi pe forum , incearca sa fi un ratat mai putin ratat din punct de vedere informatic.Acum ca sa te ascunzi printre ceilalti nu iti ramane decat sa completezi si tu in mod inteligent tabelul crezand ca nu imi voi da seama cine esti.
-
Mda probabil ai o problema. Ce problema ai ?
-
Exista CMS-uri pentru asa ceva, cel mai cunoscut fiind Moodle Moodle Learning Management System For Requirements Read The Fucking Manual Dar sunt si alternative.Open Source LMS – 10 Alternatives to Moodle
-
In C vom face urmatoarele lucruri: 1.O mica introducere despre C si Dennis Ritchie 2.Definitia unui compilator (gcc , vom vedea diferenta dintre compiler si interpreter) 3.Data types ( declararea variabilelor de diferite tipuri) 4.Operators(Logical && Aritmethic) 5.Flow(IF/ELSE/SWITCH/LOOP/GOTO) 6.Function/Procedures 7.Pointers/Arrays 8.I/O && Input/Output 9.Memory (Stack/Heap) 10.C Inline Assembly (Intro)
-
Asta e de vazut,n-as fi asa sigur , uneori despartirea e grea si la 40 de ani si unele putori nu parasesc casa, ba chiar isi obliga parintii sa le creasca copiii. De cand au construit internetul , routerele pe acelasi principiu functioneaza, fresh e doar materialul din care au fost facute dispozitivele de routing.Pun pariu ca mai exista inca sisteme OSF/1 si vin folosite la greu.Totul functioneaza la fel, si apropo au aparut mai multe bugg-uri in ultimele versiuni de Kernel decat in vechile sisteme.Fresh e noua generatie care sa nascut intrun Ipad dupa ce sa facut wrapping peste wrapping in rest totul functioneaza la fel.Principiul e acelasi doar ca nimeni nu vrea sa se murdareasca pe maini si cauta ceva mai usor.Si nu trebuie sa conving pe nimeni ,puteti sa va convingeti fiecare ca e asa doar ca multi s-au nascut dupa ca si istotria cu pestele care s-a nascut in apa care era deja inaintea lui.
-
The Doors - Riders on the storm
-
is not a random process
-
Rezolvarea a fost deja postata pe forum impreuna si codul sursa trebuia doar facut copy && paste , probabil memory addressing e un lucru neinteresant si plictisitor.(ar fi trebuit sa postez ceva mai cool ,spre exemplu cum sa obtii mai multe like-uri pe un portal de social network avand in vedere faptul ca nu exista o pagina pe acest forum in care sa nu existe un topic despre asa ceva) Solved && Closed!
-
Ori esti in stare sa faci ceva ori esti varza , nu avem nevoie de incepatori si e neinteresant faptul ca unii vor sa faca asa ceva.Toti ratatii isi merita soarta si nu e nevoie sa le explici cum sa faca deoarece nu vrem sa umplem caruta de ratati.E clar si logic ca sistemele sunt facute sa reziste singure impotriva ratatilor,doar de asta au fost programate de oameni inteligenti.Nu poti obtine access la un site , sa deschizi sacul si sa iti intre user-ul din database.Pana si database-urile au fost programate cu o logica in asa fel incat nu fiecare ratat sa puna mana usor pe date.Si faptul ca unii nu reusesc e deoarece e total stupid modul in care vor sa ajunga la obiectiv.Daca ar exista tool-uri automate pentru orice tip de exploiting s-ar umple universul de amatori si fiecare ratat o sa inceapa sa obtina access neautorizat oriunde vrea.Faptul ca putini cunosc atrage atentia celorlalti care trebuie sa se sbata pentru a demonstra ca pot face mai mult decat un simplu ratat.Asadar cei care merita cu adevarat vor putea face in asa fel incat sa curga date prin pahare in loc de sampanie.Restul si anume majoritatea vor fi doar un gunoi deoarece nu si-au dat intereseul sa cunoasca mai mult .Iar noi pe forum nu toleram gunoaiele deoarece nu vrem sa il transformam forumul intrun gunoi.Daca ai intrebat cum si ti-au spus ca poti face un reverse connection inseamna ca esti total ratat daca mai intrebi ce inseamna reverse connection deoarece urmatorul tau obiectiv este sa perfectionezi acest punct si anume cum sa faci un reverse connection.Daca iti dau sintaxa si intrebi in care mod sa aranjezi parametrii sunt eu ratat daca iti voi arata cum deoarece mam coborat la nivelul tau.Deci fara scuze de tipul "eu vreau sa invat" deoarece nu se dau diplome si oricum nu pot absolvii toti ratatii deoarece aici e diversa strategia desvoltarii invatamantului.Daca vrei sa inveti mergi la scoala deoarece cand vii aici trebuie sa detii studiile necesare.(E neinteresant daca nici la scoala nu te invata cum sa faci diverse lucruri deoarece metoda sistemului de invatamant e ratata precum si ratatii care au creato.)Sper ca am clarificat inca o data lucrurile.Ratatii cu gunoiul si gunoiul inafara forumului.
-
Scuza-ma putin, ai urcat un shell si nu stii de ce anume e capabil?Pai ce crezi ca e gradinita pe serverurile externe?Pai cine naiba tia dat dreptul sa parasesti localhost ?Sper din tot sufletul ca esti constient ca nu meriti sa fi ajutat deoarece ai gresit din start si ca in acest domeniu nu trebuie sa faci asemenea greseli.Adica sa stea baza de date a unui server in mainile unuia care habar nu are ce face?Voi va imaginati ca e stupid ceea ce faceti? Nu stiu daca va raspundeti la asemenea intrebari sau macar atunci cand te uiti in oglinda nu tie rusine?(Probabil nu dealtfel nu ai fi deschis acest topic)Power Fail!!!
-
In acest articol voi vorbi despre memory segmentation.voi defini intrun mod destul de clar cum vine impartita memoria in segmente atunci cand vine creat un executabil.Avand in vedere faptul ca exista mai multe tipuri de memorie pentru a clarifica lucrurile main memory se refera la RAM.In acest tutorial am vorbit despre memorie hysical && Virtual Memory Explained iar aici voi vorbi despre modul in care memoria RAM vine impartita in segmente.Dupa acest tutorial se va putea intelege conceptul de stack si heap.Voi explica doar lucrurile esentiale iar ceea ce e mai complicat il veti intelege dpe parcurs doar daca veti programa in C sau Assembly. Un alt tutorial care va poate fi de ajutor pentru a intelege ceea ce va fi descris aici este Basic GAS AT&T Assembly Syntax [Tutorial] .Daca vati saturat sa auziti de PUSH,POP,ESP,EBP,EIP,STACK,HEAP,BUFFER atunci lasati-o balta deoarece acest tutorial nu e pentru voi. Voi incepe cu urmatoarea definite:Memoria ram vine impartita in segmente pe care le putem definii sectii de memorie.Cand si unde poate fi observat acest lucru?In momentul in care vine scris un executabil datele din codul sursa impreuna cu instructiile vin salvate in memorie.Ei bine fiecare data din executabil vine salvata intro anumita sectie de memorie.La ce ajuta sa cunosti acest lucru?Ei bine raspunsul e simplu , deoarece iti permite sa ai controlul asupra executabilului si a sistemului.Cum? Veti observa si va veti da seama doar daca veti continua sa studiati acest principiu.Voi prezenta sectiile in care poate fi impartita memoria iar in momentul in care voi face un exemplu cu o bucata de cod voi explica unde vine pusa fiecare instructie. RAM ------------- - stack - <-segment de memorie dinamic ------------- - - - - - NULL - <-segment de memorie nealocat - - - - ------------- - heap - <-segment de memorie dinamic ------------- - BSS - <-variabile care nu sunt initializate ------------- - data - <-variabile initializate ------------- - text - <-instructiile executabilului ------------- - - - OS - <- spatiu alocat pentru sistemul operativ - - ------------- Sectiile sau zonele de memorie contin anumite adrese , ceea ce este important sa cunoasteti este faptul ca numerotarea adreselor vine facuta de la valoarea cea mai mare plecand in decrement spre 0 , iar segmentul OS ajunge la prima memoria disponibila in RAM.Inca un aspect important , in momentul in care vin introduse date in segmentul stack acesta incepe sa alocheze spatiu din segmentul NULL , iar cand datele vin extrase elibereaza segmentul NULL, acelasi lucru se intampla cu segmentul Heap, atunci cand vin stocate date acesta va ocupa spatiu in Null.(Note:Am chemat acest segment null dar de fapt nu are nici un nume generic ci e doar un spatiu de memorie care nu e folosit)In momentul in care vine scris un executabil variabilele, functiile si instructiile definite vin stocate in aceste segmente.Aici vom face cateva exemple:Urmatoarul exemplu demonstreaza in care segment vor fi stocate anumite variabile #include<stdio.h> #include <stdlib.h> void function() { int first; //stack printf("Introdu un caracter: "); scanf("%d",&first); printf("[+] int %d (va merge in segmentul stack la adresa addr %p)\x0a",first ,&first); return; } int main() { static int second; // va merge in segmentul BSS static int third = 2; // va merge in segmentul data //int *fourth; // urmatoarea variabila este alocata in segmentul stack dar e un pointer in segmentul heap int *fourth = (int*)malloc(sizeof(int)); //heap int *fifth; // un pointer care merge in segmentul stack printf("[+] int second addr %p (va merge in segmentul bss)\x0a",&second); printf("[+] int third addr %p (va merge in segmentul data)\x0a",&third); printf("[+] int fourth addr %p (va merge in segmentul heap)\x0a",&*fourth); printf("[+] int fifth addr %p (va merge in segmentul stack)\x0a",&fifth); function(); return 0; } Va trebui doar sa compilati si sa executati codul, asadar in output veti putea observa fiecare variabila la care adresa se gaseste si in care segment vine stocata.Dupa cum observati istructiile programului vor fi stocate in segmentul text Contents of section .text: 80483a0 31ed5e89 e183e4f0 50545268 20850408 1.^.....PTRh ... 80483b0 68308504 08515668 98840408 e897ffff h0...QVh........ 80483c0 fff49090 90909090 90909090 90909090 ................ 80483d0 5589e553 83ec0480 3d289804 0800753f U..S....=(....u? 80483e0 a12c9804 08bb2097 040881eb 1c970408 .,.... ......... 80483f0 c1fb0283 eb0139d8 731e8db6 00000000 ......9.s....... 8048400 83c001a3 2c980408 ff14851c 970408a1 ....,........... 8048410 2c980408 39d872e8 c6052898 04080183 ,...9.r...(..... 8048420 c4045b5d c38d7426 008dbc27 00000000 ..[]..t&...'.... 8048430 5589e583 ec18a124 97040885 c07412b8 U......$.....t.. 8048440 00000000 85c07409 c7042424 970408ff ......t...$$.... 8048450 d0c9c390 5589e583 ec28b8e0 85040889 ....U....(...... 8048460 0424e801 ffffffb8 f6850408 8d55f489 .$...........U.. 8048470 54240489 0424e80d ffffff8b 55f4b8fc T$...$......U... 8048480 8504088d 4df4894c 24088954 24048904 ....M..L$..T$... 8048490 24e8d2fe ffffc9c3 5589e583 e4f083ec $.......U....... 80484a0 20c70424 04000000 e8cbfeff ff894424 ..$..........D$ 80484b0 1cb83c86 0408c744 24043098 04088904 ..<....D$.0..... 80484c0 24e8a2fe ffffb874 860408c7 44240424 $......t....D$.$ 80484d0 98040889 0424e88d feffffb8 ac860408 .....$.......... 80484e0 8b54241c 89542404 890424e8 78feffff .T$..T$...$.x... 80484f0 b8d88604 088d5424 18895424 04890424 ......T$..T$...$ 8048500 e863feff ffe84aff ffffb800 000000c9 .c....J......... 8048510 c3909090 90909090 90909090 90909090 ................ 8048520 5589e55d c38d7426 008dbc27 00000000 U..]..t&...'.... 8048530 5589e557 5653e84f 00000081 c3c11200 U..WVS.O........ 8048540 0083ec1c e8bffdff ff8dbb18 ffffff8d ................ 8048550 8318ffff ff29c7c1 ff0285ff 742431f6 .....)......t$1. 8048560 8b451089 4424088b 450c8944 24048b45 .E..D$..E..D$..E 8048570 08890424 ff94b318 ffffff83 c60139fe ...$..........9. 8048580 72de83c4 1c5b5e5f 5dc38b1c 24c39090 r....[^_]...$... 8048590 5589e553 83ec04a1 14970408 83f8ff74 U..S...........t 80485a0 13bb1497 04086690 83eb04ff d08b0383 ......f......... 80485b0 f8ff75f4 83c4045b 5dc39090 ..u....[]... Vom continua cu 2 segmente de memorie importante si anume Stack si Heap ------------- - stack - <-segment de memorie dinamic ------------- - - - - - NULL - <-segment de memorie nealocat - - - - ------------- - heap - <-segment de memorie dinamic ------------- Recapituland , ori de cate ori vor fi stocate date in stack acesta va cobora in jos luand spatiul necesar pentru a stoca aceste date din segmentul NULL, acelasi efect se va intampla daca datele for fi stocate in segmentul heap.Probabil intrebarea voastra este urmatoarea , ce se intampla daca ambele segmente preiau spatiul disponibil din NULL?Ei bine segmentul stack este dinamic iar o data ce datele au fost procesate elibera spatiul din null ,acelasi lucru face si segmentul heap doar ca aici depinde de programator deoarece memoria in acest segment vine alocata prin functia malloc() si vine eliberata folosind functia free()Evident daca careva va aloca o gramada de memorie fara sa fie eliberata folosind-use de segmentul heap vom avea un memory leak.Segmentul stack este divers de heap si o data ce nu mai are nevoie de date va alibera memoria in mod dinamic si automat. Cum functioneaza segmentul stack?In stack vin alocate diverse avariabile in mod dinamic.Spre exemplu daca noi stocam in stack valorile 1,2,3 , pentru a elibera sau extrage valorile se va face in mod invers , si anume prima valoare pe care o vom extrage afara din stack este 3 dupa care 2 si unu.Acest concept vine chemat LIFO (Last In First Out).O mica demonstratie: Avem urmatorul cod: int main() { int var1; //declar o variabila var1 int var2; //declar o variabila var2 int var3; //declar o variabila var3 } Aceste date vin alocate in segmentul stack exact in modul in care au fost declarate si anume: STACK ---------- <-EBP - var1 - ---------- - var2 - ---------- - var3 - ---------- <-ESP Segmentul de stack va creste in jos ocupand spatiu din segmentul NUll Aici voi introduce 2 noi aspecte, in assembly vin folositi doi registrii Registrul ce contine ultima adresa de memorie din stack care se numeste ESP /Extended Stack Pointer), un alt registru ce va contine primul record de memorie din functia sau procedura in care ne aflam si se numeste EBP(Extended Base Pointer)Momentan exista doar o singura functie si anume main. Dupa cum am precizat numerotarea adreselor vine facut de sus in jos in mod invers, nu vom avea niciodata un stack care pleaca de la 0 deoarece intotdeauna in sistem vor exista deja alte processe care se vor folosi de aceste adrese.Asadar presupunem ca in momentul in care vrem sa introducem o valoare in stack ESP se afla la adresa 0xbffff9e8 ,deci pentru a stoca 4 byte in stack va trebui facut un decrement de 4 byte. Deci 0xbffff9e8 - 4 = bffff9e88.Acum ESP se va afla la adresa 0xbffff9e8.De cate ori vine introdusa o valoare vine facut un decrement.Acum in momentul in care eu fac urmatoare operatie matematica si anume bffff9e88 + 4 = 0xbffff9e8 voi sterge 4 byte din stack iar registrl ESP se va afla acum la adresa 0xbffff9e8.Avand in vedere faptul ca pleaca de la ao adresa superioara in decrement spre 0 cand se va face o adunare se vor sterge elemente iar in momentul in care se vor pune elemente se va face un decrement iar adresa stack-ului va creste in jos spre 0.Assembly pune la dispozitie doua instructii pentru a stoca si extrage date din stack, acestea sunt PUSH si POP.PUSH Va stoca o valoare in segmentul stack iar POP va extrage o valoare.Mai exista un aspect foarte important a acestui segment de memorie pe care il voi incerca sa explic cu urmatorul exemplu de cod: #include <stdio.h> int doprint() { printf("Hello\n"); } int main () { doprint(); return 0; } Avem un simplu executabil care chiama o functie care face un print.Vom analiza datele din stack in momentul in care vine chemata functia doprint. Deci in momentul in care vine chemata functia print se intampla acest lucru MAIN chiama doprint 0x080483de <main+6>: call 0x80483c4 <doprint> 0x080483e3 <main+11>: mov $0x0,%eax In acest moment urmatoarea adresa care va trebui sa fie executata dupa ce doprint isi termina treaba va fi stocata in stack ca adresa de return.Can doprint termina treaba se intoarce aici si main continua. Vine pusa valoarea registrului EBP in stack 0x080483c4 <doprint+0>: push %ebp Valoarea EBP 0xbffff9a8 Valoarea actuala din ESP vine pusa in EBP 0x080483c5 <doprint+1>: mov %esp,%ebp In stacK vine facut un decrement de 24 byte pentru a aloca spatiul necesar pentru variabile. 0x080483c7 <doprint+3>: sub $0x18,%esp Note 0x18 este echivalent cu 24 in hex Vin incarcate si stampate datele din functia doprint 0x080483ca <doprint+6>: movl $0x80484b0,(%esp) 0x080483d1 <doprint+13>: call 0x80482f8 <puts@plt> Urmatoarea instructie este importanta deoarece aici functia doprint a terminat treaba si va trebui sa se intoarca in main ca sa termine programul 0x080483d6 <doprint+18>: leave 0x080483d7 <doprint+19>: ret Instructia leave face in asa fel incat registrii ESB si EBP sa isi preia locul initial pe care il aveau inainte sa intre in doprint.Instructia ret va copia adresa 0x080483e3 in EIP asadar procesorul va executa instructtia care se gaseste la aceasta adresa si anume return 0; Stack -------------- - 0x080483e3 - <-Return Address -------------- - EBP (OLD) - -------------- <-EBP - 0xbffff980 - -------------- - 0xbffff990 - -------------- <-ESP In debugger segmentul de stack pentru aceste instructii poate fi reprezentat in acest mod 0xbffff980: 0xb7fc5304 0xb7fc4ff4 0x08048400 0xbffff9a8 0xbffff990: 0xb7eb3365 0xb7ff1040 0xbffff9a8 0x080483e3 Momentan inchei aici tutorialul, voi continua cu alte articole unde voi discuta despre buffer overflow.Daca aveti intrebari , le puteti face.Multe alte lucruri nu au fost explicate pentru a nu pune in confuzie user-ul. Scopul acestui tutorial era sa explice faptul ca memoria poate fi impartita in segmente si ca in aceste segmente pot fi stocate diverse date.
-
Pai tot la flautul lui Bill canti si acum asa ca obijnuiestete sa canti in continuare deoarece lucrurile nu se vor schimba.Ai dreptul la o revolta cateodata poti sa ii bagi cateva puli la Bill in gat, sa inchizi calculatorul 2 ore, sa faci o greva da tot windows ai sa folosesti pe viitor si tot la flautul lui Bill ai sa canti asa ca asta e nu vei conclude nimic divers, virusi o sa mai mananci la greu asta nu a fost ultimul oricat de multi bani ai sa cheltui pe software-urile antivirus si orice s-ar intampla, oricat de rebel vei fi , tot windows vei folosi.
-
Sa recapitulam putin cateva lucruri.In primul rand necuntostinta duce la presupuneri si asa alti membrii isi pierd din timpul pretios sa explice celor care ignora informatia sub forma de manual cum stau lucrurile. Incepem de la cuvantul "formatat" , un user care nu citeste manualul crede ca exista miracole si a formata o partitie inseamna a sterge date.Ei bine cand formatezi nu stergi datele ci creezi un nou filesystem peste datele existente asadar exista probabilitatea ca antivirusul sa iti gaseasca diverse threat-uri din vechiul sistem.Pentru a formata in adevaratul sens al cuvantului o partitie de 250 de GB ar trebui aproximativ 8 ore ca sa fie rescris fiecare sector din disc.Pana aici am pierdut iar timp si am raspuns la ignoranta unor persoane care insista si afirma doar presupuneri. Sistemul operativ Windows are un sistem de protectie pentru a inlatura orice tip de virus, virusii sunt doar deoarece userii vor ca sa fie.Cum vine demonstrat acest lucru?In internul sistemului exista o protectie care face in asa fel ca in sistem sa fie instalat doar software certificat de Microsoft.Acum care este politica.Microsoft a facut un sistem sigur cu scopul sa isi ruleze viitoarele programe care le pun in vanzare, acest sistem nu a fost creat cu scopul sa fie rulat software extern , care nu a fost certificat de catre Microsoft.Protectia a fost inchisa de default si sistemul permite instalarea oricarui tip de software care nu este certificat Microsoft deoarece userii prefera sa instaleze virusi si sa dea vina pe Microsoft ca a creat un sistem de cacat deoarece tot acesti useri nu sunt in grad sa ruleze altceva in computer.Fiecare incepe sa faca polemica deoarece windows nu merge sau are diverse probleme dar nu e asa.Daca microsoft decide sa ruleze doar software microsoft in sistemele lor are dreptate deoarece doar asa se poate mentine integritatea sistemului .Acum cu cat mai multi se plang in legatura sistemelor Microsot cu atat mai multi folosesc Windows.Cum am mai precizat de cate ori stapanul Bill lasa putin mai lung lantul, cainii incepe sa latre iar daca strange lantul cainii latra iar deoarece se sufoca dar pana la urma se potolesc.Oricum chiar dace te-ai plans in acest topic sunt sigur ca vei continua sa rulezi windows si vei continua sa instalezi virusi si mai sunt sigur de un lucru , ai sa formatezi si ai sa faci reboot la calculator ori de cate ori iti va cere stapanul Bill sa ii canti la flaut.Acum e evident in loc sa iti depui plangerile la casa stapanului tau Bill , tu vi pe acest forum extern si incepi sa depui o plangere.E ca si cum ar fi sa mergi la cofetarie si sa te plangi ca berea e fara alcool.Tu si toti ceilalti useri accepta sa instaleze de buna voie si nesiliti de nimeni software virus.Daca ai fi acceptat sa rulezi in windows doar ceea ce vine certificat de Microsoft nu ai fi avut probleme.Daca nu iti place aceasta regula impusa de catre Bill esti liberi sa iti instalezi in continuare virusi pana la adanci batraneti.Dami doua sisteme microsoft sa le le rulez aproximativ un an fara software antivirus si iti garantez ca sunt disponibil sa iti scanez sistemul cu orice software oricand si pun pariu ca nu vei gasi nimic.Acum inchei cu un singur lucru Ori esti in grad sa administrezi un sistem, ori esti sclavul sistemului si nu trebuie sa iti fie rusine la cate milioane de sclavi exista pe acest pamant , vei fi si tu doar unul din ei.Daca nu iti mai place o jucarie o arunci , iar daca spui ca nu iti place si o folosesti esti unul dintre ratatii care nu este in grad sa se joace cu altceva.Bafta cu virusii in continuare, sper ca nu te-am jignit pentru ca ti-am spus adevarul.
-
Oricum scuzati-ma putin dar cand a infruntat careva on obiectiv vreodata inafara sa se planga sau sa intinda cu degetul asupra altuia pentru a il face vinovat.Poate trebuie acordate premii nobel pentru cei care se plang asadar romania ar lua de 10 ori premiul intai.Uite acest concept nu reusesc sa il inghit eu din mentalitatea romaniei faptul ca nu este in grad sa faca altceva decat sa planga de mila.Eu consider ca esti sarac deoarece esti prost sau nu poti lucra si esti ratat deoarece nu ai facut nimic altceva mai bun pentru a nu fi inafara de faptul sa intinzi degetul catre alte persoane ratate.Confirm ca noua generatie este generatia pulii asta este si va ramane parerea mea personala.Esti ratat pentru ca singurul lucru pe care l-ai facut era sa te plangi in mod public pentru faptul ca esti ratat.Bafta la examen pentru amatori!
-
OK, acum ca sa nu te plictisesti , creaza un executabil disarm care face automat acest lucru atunci cand chemi executabilul pe care l-am creat eu ca argument.Ceva de genul ./disarm ./atomic
- 6 replies
-
- assembly
- bomb.atomic
-
(and 1 more)
Tagged with:
-
Obiectivul este sa faceti in asa fel incat sa nu explodeze bomba Asta e putin mai lunga, codul l-am scris in Ansi C folosind si cateva linii de Inline Assembly AT&T Syntax -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 begin 755 atomic.gz M'XL("`L0]T\``V%T;VUI8P"=6'ML%,<9GUV?'Q"@9P/%$(H.U01CP?&H`;LJ M+7[QBL$.&$)X+>>[M>_@[O9TMQ>."*G`Q:E<QRIJ*E,IJ`455:VJJHFJM*C0 MRLE%1$BI1%/^0!6JJ`K2(=R*2`FJU)3K[YN9W9M;C%1UI6]G?O/]YON^><_N MMWMZMVB:QIQ'9U6,T,6\KZZ5TCI1WLH"K)8ULR7L>5;#,>0T.)"[R)-40WR0 M*L@\&)EWQE=',A=XKM1I4OB#NB11&"2A^LPO]+QL`CJ('P6-D!JIUY&<`C@% M'<E-8)(:Z8.D&?QF^";I!NY6="_=MR-LFL>IOSH>&UP=CZR*QY+97#!C!=>) M<K^,?>NNO;*O1)T&66^>;#OIN\,/9[SWPO6)G?,_W?N+]*/`QKJ?]Y.N5G*K M)=?K7Y-V5?N:Y&,(`@[OER_^?=(;OZ;D`[+-SD,Q;O+@%1[<YL&+(+/>\-51 MO/74>L,83EA)(V.'TK9A,'13F+IG`S.V]Z$T$DL:V8P9`2^6L<+M[48F'$H. ML536SK!4.I:TAZ"B6M)$(A1+LJV]VSN[C'7!C6YNC6P]S44=K=+P]LO^IV=! M+#:;>F^?+/-SK+.C4M][WE=7@\XXA+06Z5%*T9D12M'I44K1J#BEZ-B]H_?W MY*=\1:I[\$QA,\9Q[*TO2J72R"=V=7$)2HO5,%,\!QO[#]XHE-8/H&9IV7Z\ MJ4YI&7F*4O;!750K+2./4=(]N,DQ>8Y2J`\F.:8(HHV$W^&8(HG2D#VX"*B. MZ=I_'!G]6_[>H_Z!W='^$;".XO72OF@+DN);(']VKN*1;3F]*4?!9;]UZ132 MJS96R9F'*;S?_[>>?ZBUW\XL&?\-V<]/:C\A2FG>"*DYO?UVNGB]F@QH^0]] M!P\7QNT7V/BUY<2'_?Q4XZ4<N".3=L,5*D-FQD>^)BHKW;Q1."<X*/%C\A27 M(,@K--5O%%S%0E)4D\)7J5A.BJDG4+!*!3?U9U)4<\7HW4W43]G#?SQ=R?E5 MF5.IF"!%;5G1=J4#Q:.^IN(ATNP%&-][>W2@R4=E^U%VHW"%EM15"D6XN?<H M/^4O_AZ!P^I^LKJY'*O3_][^>GG?GF(?LF<*]^O1X5.+BV/_*97&KS;"S'B> MWBL^>K^DCY3LIK6/QWK\H]U-=6,]LY#XQGHHP-(/?DVL_'6M_4GZK_D/%Q\\ M8APNC"UN*KCC?8GVR?R_2O;<JY0;.I=_Z"O='*M"4?8S,8@NUYGG^Q%-\6.$ M\@KF=!7?/W36TM+2:5F)I6R790<BL4PHG3`C2UFGE1@LPT#8BIB!=5]K;]L@ M-!U4/#-D6XE8^)L!MBS#[?3U[432PN=Q2<[KDC*_-;E^9T%\.&^PB-G4B-AO MXMBW/W]2LBX@I=%<>19K&NDUX)E(CT&>D_7G2WO4AG[,6MHWFYG8C^MIOX#< M07W*WT)*>QLMSKDRQ1!:EU&.T"R*Z1'2B;.^.O9_/'0>.?D=:-,!R#'(:Y#O MYLNZK5U=7P\T=YN#L5`RT!IL#:Y?U;9"9*;3K5WC*%DP<S)AAP:1VFF11IT< M=E@SG6+!I&6;P8[.[:OLT+!$P\EL<#`;PZD6BS".HJ%,E`4C)Y.P)U([+32O MFNE,S$I6``.ZM!DGGLBDXC8YC.%MFSF\AP"@LB(A.\2"9M082H<2)@N&;2N= M@0.1'`NGN;,09@H<6#9_"6NBYF`&M+"52)A)^W_O]^=9^>SD]PY-C*_S.&?C M5YDX@_D<H?N!)LY*Y_')=*W"VP;>-O":IN%M8^)L)A[-V3AX='[5*#P2.HL? M8UX1C^;T!>G7R]O%Q+PF'LWU:^"E9"P:*]]#Z.RKDCQ:&RMUL2:\[3W"^)KC M?FE.3R`S1_&K2SG.Q#J@/*V%R[IHA^J7GM<@,V0=6DNW=+&&U'80SBL\6GMW M=+$FB3=;X;TI[?.[%]:'KTKX]?;S=Q1>*]U-P3OJX9%\7^'1'?8B>+UZF>?< M(7ZH\&C/F<(@+I[&[X]8>5[58<.G3>C0-+R?*KP(>)&:LD[EO2-Y-';\?ELC M^L'+^ZW"HX,Y]0S>'Q0>'<"Y9_@MR+82C]^;:\2=N5;AD?V/%7MTC^JM?=H> MR9\4'NVY_;5/KR.2OZCM`"]5.WT[[DK_O!W@Y9[!NR_M.7.$>.T*S_F^J&>5 M]^MWP?NGA^>DRO1@_9B<DW#V%>17L_)ZF^&QY\<A<D"IJ-Z]O0_M1XS7%ZQF M%PL#VUPL/,1=+%I]P<7\*X#O"P*+5;?RK(/%:$ZX6/3@91?/X/B6BV=R?,?% MSW'LRSMX%L>M+I[-\447S^&8UH_`7^*8UHG`8K5%7%S/<73"P0T<IUPL=NR< MB^=Q?,K%XJ3O/>_@+W/<[^(%PIZ+&X4]%R]DZE.%+QQUW'SLT](L)3X-\2U2 MXM,07[,2GX;X<""SF[(_=/3'B]*?F(<+V0&*_[RXTQ"FKX0UKY?Y7O]TY,45 M_V>4_M/0?]_S^'\;Z>1(V=Z['GMT-[WRNG/OF,/WBR4C9?R!TG^:OH#=5MK/ M]`;VP(._4,9#T^<S^C!R^CN`_J9O=?I.H9G:`/L!K3Q?""\'_C'B62CQ*J4# M`I!O>'"_)N:3\PWZ,O"`4O^@5IY_#9A_(>`[BCZFV*/9]@;PY]"OD/HWM<IO MW+>5]OC1GI\!VQ+7ZXWL/<(3#I[+/J#O2_@_(.U]XO%W3RO//S_&XQ%P08GO ML8?OQY9P6N'/!TXH_$5Z);\%^`U%OU:O]-<&_#NG?_0YK`^8OAV72OZ`7E[O M#;3>PVD[8V>'AH)A?*MW#?3M-GJW[QG`U[YA=%>@'5T*B%C&<-P:#,4-?L\S M0MD<PQTN%3=M,Q)<W]ZVCI'"B$5RA%H9OQP:D6PB<=+QT[.KF]O:LKMC9X^+ MR(V3+WL)NUXB9L)"K"=B:3/#[#2L;>WMZ^SH-?JV;-G3,V`,='3V]E!ENJL: MH70Z=-(PDY'*`OX[@AG=K^SJV+F]B]%%U"D3_RO"F:S!+[BR>#AMFDGO_Q!C MQZO&;G,XEL$MO"L>RF00D3&4,J(G6)K^BG`#9BX5Q]?3TS]"-F\N___@GUE/ M_U6IB"N2L8QH*!F)F\[0.-WD1LROY^+'BVK=,'#'EG8&XZ'P<<\/FS)W(^-] M-1C/FOPOCFKEI!F/6R=`X-=V6-C0MB$X;-I&*FS8T6SR>'`PQ_@?'A''?P&3 '&T4?:A0````` ` end -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iF4EAREIAAYFAk/3EEIACgkQiOFy19RY1SC2gQD/XaoNjS8SRkLVcOGUiUzAOmRc wNBqEzVl896RaPmexGoBAJyJpYCmcG4qlVJUzOw4/87Q13QKxNgi+H4u/kUQhAt1 =J10j -----END PGP SIGNATURE----- Faceti in asa fel incat bomba sa nu explodeze, [pyth0n3@mc]$ ./atomic Bomb Armed atomic> test ***BOOM**** Atentie: Nu modificati datele ci doar fluxul. Download the key, check signature, decode and open archive wget -q -O - http://sprunge.us/dgLH | gpg --import wget http://sprunge.us/XWQT -O atomic.asc && gpg --verify atomic.asc uudecode atomic.asc && gunzip atomic.gz Probabil nu va rula in 64 biti deoarece m-am folosit de registrii Intel 32 biti in cateva linii de Inline Assembly Fiecare este rugat sa publice doar rezultatul , nu si metodele.Nu trebuie sa va inventati rezultatul deoarece executabilul il contine deja.
- 6 replies
-
- assembly
- bomb.atomic
-
(and 1 more)
Tagged with:
-
Reversing the bomb by example
pyth0n3 replied to pyth0n3's topic in Reverse engineering & exploit development
Nu sunt sigur daca in fiecare sistem parametrii vor fi executati cu drepturi de root -
Reversing the bomb by example
pyth0n3 replied to pyth0n3's topic in Reverse engineering & exploit development
@em mi-am dat seama acum cum ai rescris valorile de return -
Pai nu inteleg , in a/ti fute in cur aproapele nu trebuie inteligenta , creierul nu trebuie sa proceseze acest lucru deoarece e un instinct.Idea e simpla .Din punct de vedere psihologic sa demonstrat ca nu e nevoie de creier ca sa pui penisul in erectie deoarece este un instinct a omului care ii pregateste membrul pentru a isi fute aproapele.Evident cercul se va inchide pe undeva doarece la un moment dat fiecare o sa se umple de puli si o sa isi puna centuri de castitate.Cand vor veni acele vremuri vom traii fericiti deoarece oamenii nu se vor mai fute intre ei in cur ci vor folosi alte gauri.Pana atunci vom privii spre viitor cu speranta sa alargam cate mai multe gauri in curul altora.Sper sa fie o sursa de inspiratie pentru amatori.