Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Api reversing and exploiting

[es] :: Security Coding :: Api reversing and exploiting

Strane: 1 2

[ Pregleda: 10081 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Api reversing and exploiting05.01.2007. u 15:27 - pre 210 meseci
Hmmm.. uvijek sam htio reversovat win32 api fje i pritom ih istrazivat i doc do eventualnog propusta, BO il nesto deseto...
Al recimo ExitProcess, MessageBox i sl. kada udjem u njih preko ollya tamo ima gromade koda.... ne mogu se opce snac, sad uleti u jedan dll, sad u drugi, sad u treci... sto tisuca CALL poziva i jmpova koji ne vode nikamo.... kako je zaeban taj api i sva ta sranja koja su "ispod programa", a da ne spominjem HAL i pisanje drajvera :D

Uglavnom dobro bi mi dosla koja uputa, a posebno link ka literaturi... informacije o reversingu apija, primjer takvog reversinga.. i sl..

pozz
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
194.106.187.*



+67 Profil

icon Re: Api reversing and exploiting05.01.2007. u 19:38 - pre 210 meseci
ne znam sta da ti kazem a da te ne razocaram :)

salu nastranu

pa nikako nije lako , prosto ne moze da bude,
za win nisam radio nista slicno , ali da te uputim cisto , uzmi IDA Pro , najkewl stvarcica , pogledaj www.openrce.org ima tamo kewl teksttova i svasta
neke uopsteno knjige o RE , ima ona nesto Disassembling using IDA Pro asn SoftICE ... ta je kewl

POZ
Aca
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting05.01.2007. u 21:34 - pre 210 meseci
Koristim vec dosta IDA 5 pro... al ne pomaze puno, citam trenutno onu "secrets of reversing eng.".. nije losa knjiga

Al strasni su ti apiji i sve te fje unutra, ma nemam rijeci, uzmi debugger i prodji po tom kodu... sick of det bulshits!!

I jos mi nesto ne ide u glavu, recimo kad u C-u napises MessageBox(), kompajler lijepi na tvoj program kod iz .lib fajlova, mada ne kontam zasto su opce potrebni .lib fajlovi kada je bitno da na mjestu gdje pokazuje import table data direktorij, tj. import table pokazuje na IMAGE_IMPORT_DESCRIPTOR strukturu a ona ima Name koji sadrzi adresu na ime DLL-a i ima OriginalFirstChunk koji pokazuje na prvi hint (2 bajta) od prve fje u tom dll-u, znaci ako program koristi 2 DLL-a, bit ce 2xIMAGE_IMPORT_DESCRIPTOR strukture +1xIMAGE_IMPORT_DESCRIPTOR koja je ispunjena nulama.. ok, i zasto sad kompajler ne upisi te podatke u taj dio i onda windows loader kad ucitava program ne popuni IAT vec su potrebni .lib fajlovi???
I jos nesto, zasto glupi kompajleri stavljaju svoj nepotrebni kod u program i tako samo zaseru cijeli kod i sam reversing.. zivio asm :) jer ono sto nakucas to i imas, a ne ovako..

z
 
Odgovor na temu

McKracken
Vladimir Jovanovic
HuxleyDev

Član broj: 465
Poruke: 2941
89.216.246.*

ICQ: 203079925


+7 Profil

icon Re: Api reversing and exploiting06.01.2007. u 00:30 - pre 210 meseci
Citat:
I jos nesto, zasto glupi kompajleri stavljaju svoj nepotrebni kod u program i tako samo zaseru cijeli kod i sam reversing.. zivio asm :) jer ono sto nakucas to i imas, a ne ovako..



Promasio si temu do koske jer si sve pogresno shvatio. Bolje uzmi citaj malo o arhitekturi OS-eva pa ce ti biti jasnije :)

 
Odgovor na temu

glupi

Član broj: 836
Poruke: 199
*.dsl.iskon.hr.



Profil

icon Re: Api reversing and exploiting06.01.2007. u 16:39 - pre 210 meseci
Microsoft Windows Internals, Reverse engeneering sectrets, http://www.uninformed.org/?v=1 + IDA
Nebi bilo lose da se malo spraksiras u reversanju i da proucis os na kojem reversas jer inace neces daleko dogurat...
Ako reversas neki api, nije na odmet znat cemu sluzi, lakse shvatis logiku koja stoji iza koda.
Po ovome sto si napisao sumnjam da ces daleko dogurat u trazenju propusta u api-jima, probaj prvo malo skuzit te propuste i sta se krije iza njih, onda uzmes idu, skines si loopdetection pluginove, dokumentaciju za pisanje ida pluginova i onda one stvari koje si skuzio da predstavljaju problem (movs*, rep*, add*, mul*,..., strcpy, strcat, memcpy...) dodas u jedan ida plugin koji ti javi i highlighta navedene potencijalne probleme...

Citat:
I jos nesto, zasto glupi kompajleri stavljaju svoj nepotrebni kod u program i tako samo zaseru cijeli kod i sam reversing.. zivio asm :) jer ono sto nakucas to i imas, a ne ovako..

LOL, no comment
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting06.01.2007. u 19:11 - pre 210 meseci
Citat:
glupi:
LOL, no comment


E pa uopce nije LOL, skini DEV-C++ i napravi u njemu program koji se sadrzavat samo MessageBox, i kompajliraj to i prouci iz debuggera pa ces vidjet da nije lol, a onda napravi to u assembleru, kompajliraj i otvori taj program sa debuggerom i vidjet ces o cem ti pricam :)
I otvori ta 2 programa u nekom hex vieweru tipa HIEW i pogledaj velicinu .data, .bss, .code sekcija, pogledaj i kolicinu importa pa ti nece bit lol :)
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting06.01.2007. u 19:22 - pre 210 meseci
Evo da vidimo:

1.)source code od programa napisanog u C++ -u iskompajliranog u Dev-C++ -u (GCC)
Code:

#include <windows.h>

using namespace std;
int main(int argc, char *argv[])
{
 MessageBox(0,"J*bem vas mutave!","Naslov",0);
}



Da vidimo to iz ollya (obratite pozornost na scrollabar):



2.)source code od istog gornjeg programa napisanog u assembleru (MASM32):
Code:

.386
.model flat, stdcall
option casemap:none


includelib ..\lib\kernel32.lib 
includelib ..\lib\user32.lib



ExitProcess PROTO uCode:DWORD
MessageBoxA PROTO p1:DWORD, p2:DWORD, p3:DWORD, p4:DWORD


.data
Naslov db "Naslov",0
Text db "J*bem vas mutave!",0

.code

start:
push 0
push offset Naslov
push offset Text
push 0
call MessageBoxA
push 0
call ExitProcess
end start



Da vidimo to iz ollya:



Znaci progami isto rade... a to je ono sto sam vas pitao u vezi dodavanja koda koji ubacuje linker i koji je bespotreban.. sad da cujem LOL :D ..
Prikačeni fajlovi
 
Odgovor na temu

glupi

Član broj: 836
Poruke: 199
*.dsl.iskon.hr.



Profil

icon Re: Api reversing and exploiting06.01.2007. u 19:53 - pre 210 meseci
LOL...
nekuzim jel se ti zajebavas ili??? u c++ ne pises aplikacije od 10 ili 100 linija koda, napravi nesto od 10000+ linija koda u c++-u i isto to u asmu...
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting06.01.2007. u 20:25 - pre 210 meseci
Mozda se malo zaebavam al opet.. poanta svega je (bez obzira sto iscakcem iz teme do kraja) sto su svi kompajleri jako lose dizajnirani i napravljeni.. recimo, napravi u delphiu obican program koji ce sadrzavat obican prozor (formu) preko VCL-a i dobit ces program od 300kb... :D
Dok to mozes dobit obicnim popunjavanjem WNDCLASSEX strukture i pozivanjem CreateWindowEx apija :P

I ne kontam zasto je potrebno ovo recimo:
Code:

ABORTPROC                   typedef DWORD
ACCESS_MASK                 typedef DWORD
ACMDRIVERENUMCB             typedef DWORD
ACMDRIVERPROC               typedef DWORD
ACMFILTERCHOOSEHOOKPROC     typedef DWORD
ACMFILTERENUMCB             typedef DWORD
ACMFILTERTAGENUMCB          typedef DWORD
ACMFORMATCHOOSEHOOKPROC     typedef DWORD
ACMFORMATENUMCB             typedef DWORD
ACMFORMATTAGENUMCB          typedef DWORD
NET_API_STATUS              typedef DWORD
API_RET_TYPE                typedef DWORD
APPLET_PROC                 typedef DWORD
BOOL                        typedef DWORD
CALINFO_ENUMPROC            typedef DWORD
COLORREF                    typedef DWORD
;;; CONST                       typedef DWORD   ; naming conflist with MASM reserve word
;;; CRITICAL_SECTION            typedef DWORD   ; naming conflist with structure 
CTRYID                      typedef DWORD
DATEFMT_ENUMPROC            typedef DWORD
DESKTOPENUMPROC             typedef DWORD
DLGPROC                     typedef DWORD
DRAWSTATEPROC               typedef DWORD
EDITWORDBREAKPROC           typedef DWORD
ENHMFENUMPROC               typedef DWORD
ENUMRESLANGPROC             typedef DWORD
ENUMRESNAMEPROC             typedef DWORD
ENUMRESTYPEPROC             typedef DWORD
FARPROC                     typedef DWORD
FILE_SEGMENT_ELEMENT        typedef DWORD
FONTENUMPROC                typedef DWORD
GOBJENUMPROC                typedef DWORD
GRAYSTRINGPROC              typedef DWORD
HACCEL                      typedef DWORD
HANDLE                      typedef DWORD
HBITMAP                     typedef DWORD
HBRUSH                      typedef DWORD
HCOLORSPACE                 typedef DWORD
HCONV                       typedef DWORD
HCONVLIST                   typedef DWORD
HCURSOR                     typedef DWORD
HDC                         typedef DWORD
HDDEDATA                    typedef DWORD
HDESK                       typedef DWORD
HDROP                       typedef DWORD
HDWP                        typedef DWORD
HENHMETAFILE                typedef DWORD
HFILE                       typedef DWORD
HFONT                       typedef DWORD
HGDIOBJ                     typedef DWORD
HGLOBAL                     typedef DWORD
HHOOK                       typedef DWORD
HICON                       typedef DWORD
HIMAGELIST                  typedef DWORD
HIMC                        typedef DWORD
HINSTANCE                   typedef DWORD
HKEY                        typedef DWORD
HKL                         typedef DWORD
HLOCAL                      typedef DWORD
HMENU                       typedef DWORD
HMETAFILE                   typedef DWORD
HMODULE                     typedef DWORD
HMONITOR                    typedef DWORD
HOOKPROC                    typedef DWORD
HPALETTE                    typedef DWORD
HPEN                        typedef DWORD
HRGN                        typedef DWORD
HRSRC                       typedef DWORD
HSZ                         typedef DWORD
HTREEITEM                   typedef DWORD
HWINSTA                     typedef DWORD
HWND                        typedef DWORD
;;; INT                         typedef DWORD; naming conflist with MASM reserve word
IPADDR                      typedef DWORD
LANGID                      typedef DWORD
LCID                        typedef DWORD
LCSCSTYPE                   typedef DWORD
LCSGAMUTMATCH               typedef DWORD
LCTYPE                      typedef DWORD
LINEDDAPROC                 typedef DWORD
LOCALE_ENUMPROC             typedef DWORD
LONG                        typedef DWORD
LPARAM                      typedef DWORD
LPBOOL                      typedef DWORD
LPBYTE                      typedef DWORD
LPCCHOOKPROC                typedef DWORD
LPCFHOOKPROC                typedef DWORD
LPCOLORREF                  typedef DWORD
LPCRITICAL_SECTION          typedef DWORD
LPCSTR                      typedef DWORD
LPCTSTR                     typedef DWORD
LPCVOID                     typedef DWORD
LPCWSTR                     typedef DWORD
LPDWORD                     typedef DWORD
LPFIBER_START_ROUTINE       typedef DWORD
LPFRHOOKPROC                typedef DWORD
LPHANDLE                    typedef DWORD
LPHANDLER_FUNCTION          typedef DWORD
LPINT                       typedef DWORD
LPLONG                      typedef DWORD
LPOFNHOOKPROC               typedef DWORD
LPOLESTR                    typedef DWORD
LPCOLESTR                   typedef DWORD
LPPAGEPAINTHOOK             typedef DWORD
LPPAGESETUPHOOK             typedef DWORD
LPPRINTHOOKPROC             typedef DWORD
LPPROGRESS_ROUTINE          typedef DWORD
LPSETUPHOOKPROC             typedef DWORD
LPSTR                       typedef DWORD
LPSTREAM                    typedef DWORD
LPTHREAD_START_ROUTINE      typedef DWORD
LPTSTR                      typedef DWORD
LPVOID                      typedef DWORD
LPWORD                      typedef DWORD
LPWSTR                      typedef DWORD
LRESULT                     typedef DWORD
;;; LUID                        typedef DWORD   ; name conflict with structure
MCIDEVICEID                 typedef DWORD
PBOOL                       typedef DWORD
PBOOLEAN                    typedef DWORD
PBYTE                       typedef DWORD
PCHAR                       typedef DWORD
PCRITICAL_SECTION           typedef DWORD
PCSTR                       typedef DWORD
PCTSTR                      typedef DWORD
PCWCH                       typedef DWORD
PCWSTR                      typedef DWORD
PDWORD                      typedef DWORD
PFLOAT                      typedef DWORD
PFNCALLBACK                 typedef DWORD
PHANDLE                     typedef DWORD
PHANDLER_ROUTINE            typedef DWORD
PHKEY                       typedef DWORD
PINT                        typedef DWORD
PLCID                       typedef DWORD
PLONG                       typedef DWORD
PLUID                       typedef DWORD
PROPENUMPROC                typedef DWORD
PROPENUMPROCEX              typedef DWORD
PSHORT                      typedef DWORD
PSTR                        typedef DWORD
PTBYTE                      typedef DWORD
PTCHAR                      typedef DWORD
PTIMERAPCROUTINE            typedef DWORD
PTSTR                       typedef DWORD
PUCHAR                      typedef DWORD
PUINT                       typedef DWORD
PULONG                      typedef DWORD
PUSHORT                     typedef DWORD
PVOID                       typedef DWORD
PWCHAR                      typedef DWORD
PWORD                       typedef DWORD
PWSTR                       typedef DWORD
REGISTERWORDENUMPROC        typedef DWORD
REGSAM                      typedef DWORD
SC_HANDLE                   typedef DWORD
SC_LOCK                     typedef DWORD
SCODE                       typedef DWORD
SENDASYNCPROC               typedef DWORD
SERVICE_STATUS_HANDLE       typedef DWORD
SOCKET                      typedef DWORD
TIMEFMT_ENUMPROC            typedef DWORD
TIMERPROC                   typedef DWORD
UINT                        typedef DWORD
ULONG                       typedef DWORD
WINSTAENUMPROC              typedef DWORD
WNDENUMPROC                 typedef DWORD
WNDPROC                     typedef DWORD
WPARAM                      typedef DWORD
YIELDPROC                   typedef DWORD
...
...
ne zelim nastavit jer ima na tone dalje


E sad, koja je poanta uvodjenja 10000000000000 razlictih imena tipova kada se sve temelji na DWORD-u? kao da sam windows, njegovi apiji i native apiji i samo programiranje za njega nije dovoljno komplicirano pa se tako uvodi 100000000000 razlicitih tipova za koje po mome nema potrebe jer uopce ne olaksavaju programiranje vec samo zbunjuju...

A za ovaj reversing apija.. nista od toga, odgodio sam to za par godina a do tada cu detaljno razradit windows internalije i rad kompajlera, linkera, i svega ostalog ..

hvala na pomoci al nema druge nego se prihvatit posla... i steta sto je ovaj dio foruma mrtav.. i to isto necu nikad shvatit al .. nije vazno :)

poz
 
Odgovor na temu

glupi

Član broj: 836
Poruke: 199
*.dsl.iskon.hr.



Profil

icon Re: Api reversing and exploiting06.01.2007. u 20:37 - pre 210 meseci
http://www.muppetlabs.com/~breadbox/software/tiny/

Citat:
Mozda se malo zaebavam al opet.. poanta svega je (bez obzira sto iscakcem iz teme do kraja) sto su svi kompajleri jako lose dizajnirani i napravljeni..


sa kolicinom traljavog koda koji ekipa pise dobro i da mogu skompajlirat to... i nebi se slozio sa tobom, neki kompajleri ce bolje optimizirat kod od tebe :P s tim da vrijeme do gotovog programa u visem programskom jeziku od asm-a je neizmjerno krace, portabilnost... a da ne spominjem skriptne jezike kao python...
a ti kao znas kako su dizajnirani pa znas da je los dizajn....?
svi smo svjesni cinjenice da je program pisan u asmu manji, ali isto tako svi cijenimo ovo malo vremena sto smo na zivotu...
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting07.01.2007. u 21:29 - pre 210 meseci
Citat:
glupi
a ti kao znas kako su dizajnirani pa znas da je los dizajn....?



Da, Angelina Jolie mi je rekla kako su dizajnirani
 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting09.01.2007. u 19:56 - pre 210 meseci
LOL, sta ste sad svi zasutili?
Kao ne palite se na nju ?
 
Odgovor na temu

Mitrović Srđan
bloodzero
Freelance
Majur //: Šabac

Član broj: 10261
Poruke: 2800
62.108.108.*

Sajt: freeshell-reviews.com


+4 Profil

icon Re: Api reversing and exploiting09.01.2007. u 22:27 - pre 210 meseci
wuz?
lamer.
Tony Melendez:
http://video.google.com/videoplay?docid=-
3819862628517136815&q=tony+melendez

NIKADA NE UZIMATI HOSTING NA GO DADDY!


 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
194.106.187.*



+67 Profil

icon Re: Api reversing and exploiting11.01.2007. u 17:44 - pre 210 meseci
hehehehhe , bas me lepo zasmeeja :)))

to mislis na andjelinu iz hackers ?
:)) kako bese , acid bur ili sta vec :)))


hahah


neko bi ovde rebalo malo da cita cika knuth-a i slicne stvari

zamisli samo kako bi bilo dobro da kompajler moze savrseno da interpretira tvoj program koji mu napises u dve linije koda
pa to bi bilo super , ali bi kompajler morao da bude superpametan , ili ti morao bi da zna za sve moguce kombinacije koda da bi odabrao najbolju (nekako se sve vrti oko halting problema ovde:)) ti izvoli pa napravi takav kompajler , napravi samo savrsen parser , bice dovoljno :))) ali pazi, nemoj da vidimo ui njemu gomilu if-ova :)))

jos jedna stvar, gcc recimo ima neke optimizacije odredjene , bez optimizacija kod ti se kompajlira brze, ali je neoptimizovaniji , sa optimizacijama naravno kompajliranje traje sporije , nekom logikom bi mogao da dodjes do rezultata da bi za savrsen kod imao nograniceno dug compile time (opet halting problem :))

bas pokvarena sorta bio onaj alan tjuring :)

ajd pozdrav
Aca

 
Odgovor na temu

de_c0der

Član broj: 127698
Poruke: 107
*.adsl.net.t-com.hr.



Profil

icon Re: Api reversing and exploiting11.01.2007. u 17:48 - pre 210 meseci
Zaebes kompajlere, sta je sa ph #7? deadline je vec odavno prosao..


edit:
imam u planu se bacit na proucavanje kompajlera (za pocetak samo jednog), znaci sve o njemu, sto god uspijem nac na netu, a zatim i kako organizira kod, koji sve kod dodaje, kako radi optimizaciju al bas ono sve o njemu... e sad pitanje na koje se dvoumim .... koji kompajler da to bude?
Razisljao sam o delphiu i zakljucio da nije najbolji izbor jer skoro nijedan server-side program nije u njemu napisan..
Znaci ostaje mi C/C++, a sad da cujem od vas koji je najzastupljeniji kod (ovdje ne mislim na soruce , nego rijec kod.. npr. bio sam kod Pere..) pravljenja server-side programima jer nisam upucen u to?

[Ovu poruku je menjao de_c0der dana 11.01.2007. u 19:37 GMT+1]
 
Odgovor na temu

Mitrović Srđan
bloodzero
Freelance
Majur //: Šabac

Član broj: 10261
Poruke: 2800
62.108.108.*

Sajt: freeshell-reviews.com


+4 Profil

icon Re: Api reversing and exploiting11.01.2007. u 19:27 - pre 210 meseci
GCC ->

gcc.gnu.org/

Medjutim sudeci po tvom fondu IT reci i izraza kao i same tematike
treba pre samog proucavanja rada kompajlera da proucis samu arhitekturu
racunara npr pa tek se onda bacis na neke druge teme.
Naravno poznavanje osnovnih pojmova ne bi skodilo.
Tony Melendez:
http://video.google.com/videoplay?docid=-
3819862628517136815&q=tony+melendez

NIKADA NE UZIMATI HOSTING NA GO DADDY!


 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
217.24.27.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Api reversing and exploiting11.01.2007. u 19:46 - pre 210 meseci
Definitivno za ES bisere...
 
Odgovor na temu

RooTeR
Rajko Nenadov
nema ga
Detelinara, NS

Član broj: 2386
Poruke: 385
*.ADSL.neobee.net.



Profil

icon Re: Api reversing and exploiting12.01.2007. u 00:00 - pre 210 meseci
Citat:
EArthquake:

nekako se sve vrti oko halting problema ovde



Aco, to o chemu ti prichas nema apsolutno nikakve veze sa halting problemom :)

mmmmmm.. aahhhhhh..
e, nije sex nego serem!
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
194.106.187.*



+67 Profil

icon Re: Api reversing and exploiting12.01.2007. u 00:07 - pre 210 meseci
o gcc, u sustini o bilo kom kompajleru , mozes celu knjigu da napises :)

imas gcc complete reference , mada to i ne zailazi u dizajn kompajlera , i samu teoriju iza svega toga , vec cisto vezano za gcc

a naravno i man gcc nebi bilo lose da vidis :)

al ja bi ti reko da se manes corava posla , pogledaj samo pocetak teme , ti si hteo da reversas win32 api i da trazis bugove u njemu !
a sad bi da pises knjigu o arhitekturi kompajlera ,

nebih voleo da ovo zvuci lose, divim se tako velokom entuzijazmu , ali polako , budi siguran da razumes sve te stvari , radi za sebe prvo, pa kad ih bas naucis, lako ces onda da napises nesto o tome ,

kad imas volju naucices sve sto ti treba

samo ti radi , pa za godinu dana , ako ne batalis sve to , videces gde ces biti

aj pozdrav
Aca
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
194.106.187.*



+67 Profil

icon Re: Api reversing and exploiting12.01.2007. u 00:11 - pre 210 meseci
rajko , samo malo drugacija interpertacija, hteo sma da kazem da se program u tom slucaju nikada nebi zavrsio

priznajem da sam dosta izkrivio smisao

my bad

znas da nisam skolski potkovan, kao pojedinci :)

pozdrav
 
Odgovor na temu

[es] :: Security Coding :: Api reversing and exploiting

Strane: 1 2

[ Pregleda: 10081 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.