"prasad rao" <prasadarao...@gmail.com> wrote

I want to convert compiled files to text files.
I believe compiled files are binary files.

If you are talking about compiled executables made from C++ for example yes. But...

I am able to convert a given string  to binary and back to text.

They are not just binary representations of the source code thay are translations of the C++ instruictions into the native binary codes of the target computer plus a whole bunch of housekeeping binary code that sets up the runtime environment.

Decompiling a binary back to source code is incredibly difficult and even when done right the resulting code is barely recognisable compared to the original - for example a for loop may come out as a while loop - especially in C++ - and all variable names may be totally changed because the bninary doesn't need them (it uses memory addresses not names)

So if thats what you are aiming for it won;t ever work. And a lot of software companies will be very happy that it won;t or lots of people would be stealing their proprietary and copyright code!

But when it comes to a file it is proving to be impossible.

Yes, see above...

def p(a):
   s=open(a,'rb')
   for x in s:

I doubt this will work for a binary file, you usually have to use read() and provide a buffer size.

       d=map(lambda y:chr(int(y,2)),x)

This is assuming that the binary digits are all stored in individual lines, which is not the case, they are stored consecutively with no breaks, thats wgy you need to use read() and tell it how many bytes you want to read.

What you appear to be doing is the equivalent to
od -a

in Unix - ie dump a file in its ascii representation.

It would be instructive for you to try that command if you have access to a Unix box... Try it on a text file then try it on an executable file then try it on a compiled Pyhthon module.

Finally try using the dis module in Python to look at the disassembled pcode - or just read the documentation for dis...
p("C:/pp.txt")

OK, Now you appear to be examining a tet file as if it were binary, thats different again - and slightly more doable.

Could you explain what exacvtly you are trying to do - and why?
Maybe we can help?


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to