Cant we hack closed source files?

Status
Not open for further replies.

naveen_reloaded

!! RecuZant By Birth !!
I am just having this doubt for years...we all know that .exe files in windows are right in front of us...even though why cant we just modify them just like open source files?what is open source then..they give yöü the code..am i right?
Why cant we just get the code from windows files and modify to our need?
May be its a stupid question but has been lingering in my mind for years.
Explain in understandable english..;-)
 

infra_red_dude

Wire muncher!
Reverse engineering is not always possible. Meaning, its not easy to get the source code from a binary.

However, wid stuff like Resource Hacker you can do small changes here and there in hex.
 
OP
naveen_reloaded

naveen_reloaded

!! RecuZant By Birth !!
Why cant we?
We have the total file ! Then whats the problem?
What are executable files?
Wont they have codes?
I dont get it.
 

The_Devil_Himself

die blizzard die! D3?
^^source code is what you write to make programs.Some languages don't need compiling but most do.Compiler turns your source code in machine understandable hex code\instructions.You cannot recover full source code from executibles.Though you can make small changes to it via some hex editor(this is how games\softwares are cracked).got it?
 
OP
naveen_reloaded

naveen_reloaded

!! RecuZant By Birth !!
So what comes out cant be recovered??
It sounds like some encryption thing...
Cant we just program a software to re encode them to source code?
Is it that impossible..
.exe or other files has been here for so long time and there is no software to do the job?weird
Anyway thanks for the replies
 

The_Devil_Himself

die blizzard die! D3?
So what comes out cant be recovered??
It sounds like some encryption thing...
Cant we just program a software to re encode them to source code?
Is it that impossible..
.exe or other files has been here for so long time and there is no software to do the job?weird
Anyway thanks for the replies

thats called reverse engineering.It is nearly impossible to recover the source code.But wth you can go ahead and try coding some program to do it;).

ANd yea its not encryption its source code(human readable form) to hex instructions(machine readable form) conversion.:)
 
OP
naveen_reloaded

naveen_reloaded

!! RecuZant By Birth !!
We know how it converts then cant we write a program to reverse it.sorry i am not a programmer.
Just curious thats all.
 

Faun

Wahahaha~!
Staff member
We know how it converts then cant we write a program to reverse it.sorry i am not a programmer.
Just curious thats all.
ok here is one example, u got the exe and now u reached a location where branching occurs so u gotta choose a branching construct to write the corresponding source code line

There are two ways to choose a branching construct
1) Use if elseif construct
2) Use switch case
3) Tertiary construct

Now u reached at one segment where there are some chars stored.

U can either use:
1) a char pointer
2) a char array
3) a char pointer array
4) String class

Anything chosen wrong will limit everything

So its pretty hard to get the right construct that the programmer used.
 

dOm1naTOr

Wise Old Owl
ok here is one example, u got the exe and now u reached a location where branching occurs so u gotta choose a branching construct to write the corresponding source code line

There are two ways to choose a branching construct
1) Use if elseif construct
2) Use switch case
3) Tertiary construct

Now u reached at one segment where there are some chars stored.

U can either use:
1) a char pointer
2) a char array
3) a char pointer array
4) String class

Anything chosen wrong will limit everything

So its pretty hard to get the right construct that the programmer used.
Then how windows is able to work with such diversely coded exe's?
If windows can execute correctly, then it might have choosen the right construct or somethin that the pgmr intend to while coding. Then why can't a reverse engg s/w do the same?

And how windows is able to choose such right constructs fron a pgm?
 

Faun

Wahahaha~!
Staff member
Then how windows is able to work with such diversely coded exe's?
If windows can execute correctly, then it might have choosen the right construct or somethin that the pgmr intend to while coding. Then why can't a reverse engg s/w do the same?

And how windows is able to choose such right constructs fron a pgm?

exes are a compilation of machine code and other linked libraries reference.

machine code is always a one way to destination type code, u ca only code in one way to do things.

But source code have many alternate way to do same things (a program can be made using pointers or without pointers)
 
OP
naveen_reloaded

naveen_reloaded

!! RecuZant By Birth !!
So why cant we create a programme to track the path back.. Try different paths and branching and arrive at source code?i think thats enough for me.from here i wont able to understand.thanks guys for posting your replies.
 

Pat

Beyond Smart
^^How will AI help in this ? Its just not possible to get high-level source code from the executables! At the max,you can convert exes into assembly instructions like kenshin mentioned!
 

dOm1naTOr

Wise Old Owl
@Kenshin
How from the hex code can we know
1. If it stands for a 1byte,2byte or 3byte instruction? We might just cont a theree byte instruction as a two byte and the next a 1byte....
how can it be done?
 

infra_red_dude

Wire muncher!
@Kenshin
How from the hex code can we know
1. If it stands for a 1byte,2byte or 3byte instruction? We might just cont a theree byte instruction as a two byte and the next a 1byte....
how can it be done?
Actually you will get a list of hex codes and the instructions for 8085 on a sheet. Each instr. has a discrete hex code. The machine knows the starting hex code for a 3 byte instr. and then takes the next two bytes as arguments.
 

Faun

Wahahaha~!
Staff member
Dynamic programming and heuristic algos can help in finding optimal solutions but yet not the perfect ones, that means the source code will not pass boundary value analysis.

But it itself includes : Inductive logic programming, Genetic algos, Neural networks, Decision trees, Hidden Markov models and Bayes probability theorem.

That will surely makes it uber difficult if not impossible, u can make something but with assumptions.

8085 was still simpler, we were given a single page to lookup machine code.

But 8086 was entirely on opcode.
 

shady_inc

Pee into the Wind...
Let's take a simplistic example:
You [end user] are at point B.A guy X [the program] from point A many miles away from you comes to point B.In his journey, he takes hundreds of turns and twists to reach B [the complex programming code].Now, he asks you to go to point A FOLLOWING THE EXACT ROUTE HE HAD FOLLOWED TO REACH B.!! [reverse engineering]It would be extremely difficult, if not impossible for you to take the same turns that X had taken on his journey

--What if the road ahead you splits in two both going towards A.??How would you know which route X had come from.?? [if else loop]
--What if the road splits in more than two branches.It would be even more tough to guess X's route now .... [switch case]

How easy it would have been if you had the map that X followed [source code].!! :D
 

krates

Be CoOl rAp RuLeZ !!!
Ask linux fans they always says that windows .exe can be easily exploited ,edited etc :D
 

shady_inc

Pee into the Wind...
kushagra_krates@yahoo.com said:
Ask linux fans they always says that windows .exe can be easily exploited ,edited etc :D
In case you didn't know, 5 outta 12 who replied here are "linux fans" ..:|
 
Status
Not open for further replies.
Top Bottom