je li moguce datoteku koja je .exe nekako otvoriti i procitati joj kod u jeziku u kojem je napisana?
.exe u source code
- poruka: 33
- |
- čitano: 8.001
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
U pravilu, nije moguće. Postoje alati koji eventualno mogu rekonstruirati neke segmente coda, no rade samo za specifične programske jezike ili razvojna okruženja i uglavnom ono što daju je beskorisno. S druge strane, puno je lakše doći do resursa koji su u exe (ikone, dijalozi, slike itd.) no to sve ovisi da li aplikacija ima ikakvu zaštitu (kriptirani resursi, razne kompresije, detekcije debugera itd.) pa se i tu najčešće naleti na zid.
Nije moguće sve resurse pregledati, ali kod se u principu može rekonstriurati pomoću raznih dekompajlera i deasemblera. Kako bi ljudi inaće crackirali igre :)
Nije moguće sve resurse pregledati, ali kod se u principu može rekonstriurati pomoću raznih dekompajlera i deasemblera. Kako bi ljudi inaće crackirali igre :)
Source code nije potreban za crackanje igri.
nvm
Pa bas i tome sluzi .exe ...da se ne cita source kod programa
To nije stina!
tko je rekao da je potreban source...
Pa bas i tome sluzi .exe ...da se ne cita source kod programa
.exe je executable (izvrsna) datoteka. Sastoji se od programskog kôda koji je enkodiran u opcodove koje procesor moze direktno izvrsavati i jos nekih informacija koje operacijskom sustavu govore gdje u memoriju i na koji nacin smjestiti datoteku.
Recimo da imas ovakav C izvorni kôd:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a=3;
int b=4;
int c=a+b;
printf ("%d", c);
system("pause");
return 0;
}
On se prevodi u ovakav x86 Assembly kôd:
LC0:
.ascii "%d\0"
LC1:
.ascii "pause\0"
.text
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
push ebp
mov ebp, esp
sub esp, 24
and esp, -16
mov eax, 0
add eax, 15
add eax, 15
shr eax, 4
sal eax, 4
mov DWORD PTR [ebp-16], eax
mov eax, DWORD PTR [ebp-16]
call __alloca
call ___main
mov DWORD PTR [ebp-4], 3
mov DWORD PTR [ebp-8], 4
mov eax, DWORD PTR [ebp-8]
add eax, DWORD PTR [ebp-4]
mov DWORD PTR [ebp-12], eax
mov eax, DWORD PTR [ebp-12]
mov DWORD PTR [esp+4], eax
mov DWORD PTR [esp], OFFSET FLAT:LC0
call _printf
mov DWORD PTR [esp], OFFSET FLAT:LC1
call _system
mov eax, 0
leave
ret
A on se potom pretvara u enkodirane opcodove koji u heksadekadskom formatu izgledaju ovako:
55 89 E5 83 EC 18 83 E4 F0 B8 00 00 00 00
83 C0 0F 83 C0 0F C1 E8 04 C1 E0 04 89 45
F0 8B 45 F0 E8 8B 04 00 00 E8 26 01 00 00
C7 45 FC 03 00 00 C7 45 F8 04 00 00 8B 45
F8 03 45 FC 89 45 F4 8B 45 F4 89 44 24 04
C7 04 24 00 03 04 00 E8 5C 05 00 00 C7 04
24 00 33 04 00 E8 40 05 00 00 B8 00 00 00
00 C9 C3
je li moguce datoteku koja je .exe nekako otvoriti i procitati joj kod u jeziku u kojem je napisana?
Ne, .exe datoteka je kompajliran source kod, koji je zapisan u mašinskom jeziku.
Da li se može saznati u kojem jeziku je napisan? Da, vrlo lako.
Da li se može otkriti struktura, odnosno saznati source? Da, preko 90% toga se može "regenerirati" reverznim inženjeringom. Samo za to moraš biti vrhunski stručnjak u malo više područja.
je li moguce datoteku koja je .exe nekako otvoriti i procitati joj kod u jeziku u kojem je napisana?
ako imaš neku jednostavnu app i zanima te source, baci (na PM ako treba) pa da vidimo :)
ugl. nemožeš dobit točan source za tipa copy paste (nekad i prođe al uvjek trebaš neš...), ali sa malo truda kao što je rečeno RE(Reverzni inžinjering)-om može se dosta tog napraviti.
Večinom ideš na to da vidiš kako ta neka aplikacija nešto radi i onda prema tome dalje radiš svoj kod :D barem je tako u mom slučaju ^.^
@rustweaver
ima li kakva knjiga o tome ? :)
ima li kakva knjiga o tome ? :)
Knjiga o cemu? Zelis napisati compiler ili assembler?
Da ovo može ja bi kod od MS Office-a, Visual Studia, svih većih aplikacija, izmjenio ga i prodao ga kao svoju aplikaciju.
Da ovo može ja bi kod od MS Office-a, Visual Studia, svih većih aplikacija, izmjenio ga i prodao ga kao svoju aplikaciju.
Ajd dat ću ti ja source od jedne moje aplikacije a ti samo napravi da se korisnik ne mora autorizirati prilikom pokretanja. Dakle, par linija koda. Jel bi mogao?
Da ovo može ja bi kod od MS Office-a, Visual Studia, svih većih aplikacija, izmjenio ga i prodao ga kao svoju aplikaciju.
Ajd dat ću ti ja source od jedne moje aplikacije a ti samo napravi da se korisnik ne mora autorizirati prilikom pokretanja. Dakle, par linija koda. Jel bi mogao?
Nisi shvatio šta hoću reći, naravno da ja nebi, jer namam dovoljno znanja za to, ali ima ih mnogo što bi mogli izmjenjivati kodove aplikacija, usput zar moraš shvaćati za ozbiljno?
Da ovo može ja bi kod od MS Office-a, Visual Studia, svih većih aplikacija, izmjenio ga i prodao ga kao svoju aplikaciju.
Ne možeš to napravit, jer je zaštićeno autorskim pravima, a vjerojatno tu ima i patenata. M$ bi ti sjeo za vrat i cijeli život bi trebao rintati da platiš odštetu.
U pravilu, nije moguće. Postoje alati koji eventualno mogu rekonstruirati neke segmente coda, no rade samo za specifične programske jezike ili razvojna okruženja i uglavnom ono što daju je beskorisno. S druge strane, puno je lakše doći do resursa koji su u exe (ikone, dijalozi, slike itd.) no to sve ovisi da li aplikacija ima ikakvu zaštitu (kriptirani resursi, razne kompresije, detekcije debugera itd.) pa se i tu najčešće naleti na zid.
neki dan sam tražio taj program..
možeš li mi ga dati?
Resource hacker.
LoL hahahahha eeee ja imam tek 15 godina i znam puno vise neg ti ali ovako postoji jedan program i zove se Linux u njemu mozes raditi sta hoces i M$ te nebi ganjao jer nisi pravio taj program u win vec u linux. I da nemozes convertovati exe u source file jer je zasticeno a dok npr da si pravio taj file u linux mozes mu u terminalu procitati neke djelove :D
1 | TaCNO |
---|---|
15 | nEtACO |
LoL hahahahha eeee ja imam tek 15 godina i znam puno vise neg ti ali ovako postoji jedan program i zove se Linux u njemu mozes raditi sta hoces i M$ te nebi ganjao jer nisi pravio taj program u win vec u linux. I da nemozes convertovati exe u source file jer je zasticeno a dok npr da si pravio taj file u linux mozes mu u terminalu procitati neke djelove :D
-.- Vidi se da imaš 15 i po boldanom sumnjam da znaš išta.
Može se vidjeti exe u source code. Evo onima koji mi nevjeruju
Može se vidjeti exe u source code. Evo onima koji mi nevjeruju
Cek malo, kaj si ti tu dokazal? Da source kod izgleda isto u 2 različita editora!?!
Pogledaj da sam expando exe format. Sinoć sam pričao s frednom iz Amerike koji radi za jednu agenciju i pokazao mi je alat da se može vidjeti source code bez problema.
I da je editor onda bi otvaro CS format ne EXE
Pogledaj da sam expando exe format. Sinoć sam pričao s frednom iz Amerike koji radi za jednu agenciju i pokazao mi je alat da se može vidjeti source code bez problema.
I da je editor onda bi otvaro CS format ne EXE
Ok, sad sam tek skužio ovaj .exe. Ali ovo je trivijalan program. Zašto bi to netko išao dekompajlirati. Stavi neki kompliciraniji pa onda da vidimo kako će se snaći.
Možeš to i sam pogledat, naravno ako je program pisan u .Net platformi i nije zaštićen (obfuscated).
Aplikacija koja prikazuje izvorni kod iz izvršne datoteke imaš više, ali ti preporučam ovu:
Spices .Net Decompiler
http://www.9rays.net/Category/54-spicesnet-decompiler.aspx
ima još npr:
.NET Reflectoritd.
Možeš to i sam pogledat, naravno ako je program pisan u .Net platformi i nije zaštićen (obfuscated).
Aplikacija koja prikazuje izvorni kod iz izvršne datoteke imaš više, ali ti preporučam ovu:
Spices .Net Decompiler
http://www.9rays.net/Category/54-spicesnet-decompiler.aspx
ima još npr:
.NET Reflectoritd.
Tako je, samo radi u Net platformi.
da, samo, to što vi otvarate to nije .exe kod tj. nije nativni kod nego MSIL (MicroSoft Intermediate Language) koji .net kompajler stvara prilikom kompajliranja VB, C#, F# source kodova. MSIL je nesto slicno javinom Bytecode-u, i zbog toga su programi pisani u javi i .net-u prenosni tj treba im naknadni JIT kompajler (kod .net-a je potreban .net framework instaliran na kompu, a kod jave JRE), tako da to sto ti otvaras je obican MSIL preveden nazad u izvorni kod (što nije toliko teško) dok nativni kod nemozes tako da dekompajliras.
Možeš dekompajlirati i nativni kod, ali u asembler :-)
@naxeem nam se vratio?
Tako je, samo radi u Net platformi.
Pf, kompiliraj bez debug instrumentacije (ako je to uopce moguce u C#-u) ili ukljuci optimizacije = zaboravi na source.