[ NrmMyth @ 17.04.2006. 23:02 ] @
Sto radi "strip executable"? |
[ NrmMyth @ 17.04.2006. 23:02 ] @
[ z@re @ 18.04.2006. 00:58 ] @
Poz suside ;) Evo ovaj kod
Code: #include<stdio.h> #include<stdlib.h> int main() { printf("Hello World!\n"); system("PAUSE"); return EXIT_SUCCESS; } sa standardnim compile&link opcijama u DevC++ - na kraju se generira izvrsni file velicine approx. 19kb. S ukljucenim "strip executable", velicina izvrsne datoteke je ~ 5kb. Sad ti je valjda jasno sta radi. Generira manje fileove. S tehnicke strane, a vjerujem da te to isto zanima, strip komanda (referirat cu kao komandu, jer to i jeste komanda na UNIX sistemima, koja se koristi zasebno od kompajlera / IDE-a) skida simbole iz izvrsnih fileova. Najcesci simboli su kompajlerski, debuggerski, realokacijski...uglavnom simboli sluze kao definicija dijela koda. Prilikom debagiranja, moras ostavit simbole pri ulazu u funkcije, inicijaliziranje varijabli... Uglavnom, mozes ih i ne moras koristit. U production okruzenju se uvijek koriste, a prilikom releasanja programa se skidaju. Kobno moze bit kad komercijalni program ostavi debug simbole u svojim exec-ovima - tad je stvarno macji kasalj napravit crack ;) [ Dragi Tata @ 18.04.2006. 02:18 ] @
Citat: z@re: Uglavnom, mozes ih i ne moras koristit. U production okruzenju se uvijek koriste, a prilikom releasanja programa se skidaju. Kobno moze bit kad komercijalni program ostavi debug simbole u svojim exec-ovima - tad je stvarno macji kasalj napravit crack ;) To je tačno za tradicionalne aplikacije i biblioteke koje se šalju direktno korisnicima. Međutim, ako praviš server aplikaciju koja trči na tvom serveru a korisnici joj pristupaju posebnim klijentima (ili čak web browserima) često je bolje ostaviti debug simbole i u produkcijskoj verziji. Ako crkne server, samo pogledaš core fajl i lako rešiš problem. [ z@re @ 18.04.2006. 03:29 ] @
Istina, ja sam samo dao primjer...tesko da ce se u bilo kojoj mainstream komercijalnoj aplikaciji nac debug simboli. To o cemu ti pricas je ipak klijent-server aplikacija, a takve se cesto specijalizirano narucuju. Tako da nema govora da ce netko ic krekovat itd...
[ NrmMyth @ 18.04.2006. 11:31 ] @
I mislio sam da se radi o nekakvom guljenju simbola, ali bolje je pitati.
Hvala. Pozdrav splico! :) [ leka @ 21.04.2006. 08:59 ] @
Ako se ne varam, niko zapravo coveku nije odgovorio sta radi komanda strip.
Posto odgovaram sa posla, i nemam puno vremena pokusacu da lakonski odgovorim na pitanje. "strip" komanda obrise sve "debug" simbole iz izvrsnog fajla, i u njemu ostavi samo onaj masinski kod koji je potreban i dovoljan za uspesno izvrsenje aplikacije. strip se uglavnom izvrsi na tzv. "release" verziji programa, dok traje razvoj nemojte izvrsavati strip, da bi mogli da koristite "debugger". [ X Files @ 21.04.2006. 10:14 ] @
Evo jos malo zanimljivosti oko 'malih' EXE fajlova:
http://www.catch22.net/tuts/minexe.asp http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx [ NrmMyth @ 21.04.2006. 21:19 ] @
Citat: leka: Ako se ne varam, niko zapravo coveku nije odgovorio sta radi komanda strip. Posto odgovaram sa posla, i nemam puno vremena pokusacu da lakonski odgovorim na pitanje. "strip" komanda obrise sve "debug" simbole iz izvrsnog fajla, i u njemu ostavi samo onaj masinski kod koji je potreban i dovoljan za uspesno izvrsenje aplikacije. strip se uglavnom izvrsi na tzv. "release" verziji programa, dok traje razvoj nemojte izvrsavati strip, da bi mogli da koristite "debugger". Bez uvrede, ali shvatio sam to iznjihovih postova. Svejedno hvala. [ z@re @ 21.04.2006. 21:28 ] @
Citat: leka: Ako se ne varam, niko zapravo coveku nije odgovorio sta radi komanda strip. Citat: z@re: ... S tehnicke strane, a vjerujem da te to isto zanima, strip komanda (referirat cu kao komandu, jer to i jeste komanda na UNIX sistemima, koja se koristi zasebno od kompajlera / IDE-a) skida simbole iz izvrsnih fileova. Najcesci simboli su kompajlerski, debuggerski, realokacijski...uglavnom simboli sluze kao definicija dijela koda. Prilikom debagiranja, moras ostavit simbole pri ulazu u funkcije, inicijaliziranje varijabli... Uglavnom, mozes ih i ne moras koristit. U production okruzenju se uvijek koriste, a prilikom releasanja programa se skidaju. Kobno moze bit kad komercijalni program ostavi debug simbole u svojim exec-ovima - tad je stvarno macji kasalj napravit crack ;) Leka, mora da te tlace na poslu, kad ne mozes procitat topic kako treba :D Uglavnom, nije ni covjeku na odmet da dobije par istih odgovora napisanih malo drugacije, moze se stvorit bolja "slika". [ leka @ 02.05.2006. 09:57 ] @
Izvinjavam z@retu, uopste nisam video njegov tekst... :(
[ z@re @ 04.05.2006. 01:40 ] @
Uff covjece, odavna nisam vidio ispriku, previse vremena trosim na Advocacy ;)
[ cynique @ 04.05.2006. 01:56 ] @
Citat: z@re: Kobno moze bit kad komercijalni program ostavi debug simbole u svojim exec-ovima - tad je stvarno macji kasalj napravit crack ;) AEGIS klijent, linux verzija, radi baš to (bar je radila prije 1.5 god kad sam taj program koristio). Disasm u IDA-i pokrenutoj preko wine-a, konvertiran jedan jnz u jz i vozi bato. Još sam naletio na jedan komercijalni FTP server (ne sjećam se točnog imena) na windowsima koji je bio distribuiran sa uključenim debug simbolima. Pravi užitak za reversati :D [ IDE @ 04.05.2006. 20:40 ] @
sta bi bilo ekvivalentno u borland builderu?
mozda Project->Options->Compiler->Release ?? bas sam razmisljao kako na najbolji nacin zastititi ( ha, prvi put sam obratio paznju i vidjeo kako je ovo smijesna rijec: zasTITITI :-)) komercijalnu aplikaciju.... [ z@re @ 04.05.2006. 21:10 ] @
Project -> Options -> Compiler
Imas taman dva botuna, jedan za debug i jedan za release verziju, koji ce automatski podesit sve one opcije za tebe. [ cynique @ 05.05.2006. 02:02 ] @
Citat: fucking voodoo: bas sam razmisljao kako na najbolji nacin zastititi ( ha, prvi put sam obratio paznju i vidjeo kako je ovo smijesna rijec: zasTITITI :-)) komercijalnu aplikaciju.... Hehe, ovo me podsjetilo na ovaj članak (čija je poanta da i čak i debug simboli mogu leakati informacije!): Information leakage through PDB files PDB fileove za cijeli Windows OS možete skinuti besplatno sa MS stranica.. :D Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|