Is it possible to create an assembly file from an exe file with VC++6?
For example:
Foo.exe -> VC++6 -> Foo.asm or Foo.txt
Printable View
Is it possible to create an assembly file from an exe file with VC++6?
For example:
Foo.exe -> VC++6 -> Foo.asm or Foo.txt
With VC++6? Not as far as I know.
Even the best programs that turn machine code into assembly don't do such a hot job at it, from what I've heard. If you want a lecture on Assembly, talk to Bubba.
vc6 can barely create an exe from source. :D
Amazing what clicking the help button and using the index does eh?Quote:
/FA, /Fa (Listing File)
Home | Overview | How Do I | Compiler Options
This option creates a listing file. The listing file always contains assembly code. The optional arguments control the generation of source code and machine code and the extension of the listing file as follows:
Command Line Project Settings Listing Contents;
Filename Extension
/FA Assembly-Only Listing Assembly code; .ASM
/FAc Assembly With Machine Code Machine and assembly code; .COD
/FAs Assembly With Source Code Source and assembly code; .ASM
/FAcs Assembly, Machine Code, and Source Machine, source, and assembly code; .COD
/Fafilename Listing File Name Use /Fa to specify a directory and/or filename for the selected type of listing file. By default, the base name of the listing file is the base name of the source file.
To find these options in the development environment, click Settings on the Project menu. Then click the C/C++ tab, and click Listing Files in the Category box. See the Listing File Type drop-down box.
Example
In the following example, CL produces a combined source and machine-code listing called HELLO.COD.
CL /FAcs HELLO.CPP
I don't know about VC++ either...
But, disassembly CAN be done!
You might have to look for a disassembler.
Assembly language is a human-readable representation of machine code. There is an exact one-to-one correspondence between an assembly instruction and the associated machine instruction. So, you can translate back and forth with 100% accuracy.
Decompiling is a different story. That CONNOT be done precisely!
Unfotunately my VS doesn't have help. Maybe many of my questions here are because of this. If you noticed most of the times I ask for a function for a particular job. Or a command to do something, not algorithms for example.Quote:
Amazing what clicking the help button and using the index does eh?
As I know assembly can be converted directly to machine code and vice-versa.
if you had a legal version it would have help. You've just exposed yourself as a pirate of not just Windows but VC as well, and your questions seem to hint at attempts to pirate more software.
Abuse reported.
all the help files that are (or in your case are not) installed on your machine can be found online at the MSDN library. It's not as flash as having them installed on your local machine, but it still has all the same info.Quote:
Originally Posted by siavoshkc
BTW I'd seriously consider upgrading your compiler. VC6 is not very standards compliant. You'd be better off with dev-cpp or even the free version of vs2005.
Where I live, it is completely legal. So don't be rude. I should pay for them but not as much as it's equal value in US$. I don't have the help because MSDN is in another CD that I've lost it.Quote:
if you had a legal version it would have help. You've just exposed yourself as a pirate of not just Windows but VC as well, and your questions seem to hint at attempts to pirate more software.
I want to make an .ASM from an .EXE. Not from a .CPP.
I'll upgrade to a new version as soon as MS-VS2006 comes up.
How is that so? BTW it is live.
considering vs2005 just went live about 2 or 3 months ago, you'll be waiting....Quote:
Originally Posted by siavoshkc
Make an asm from an EXE? Ok this is sounding more 'hack-ish' with every post.
If you understood assembly, you would understand the relationship between the exe and assembly opcodes. Since this is a hack thread, I'm not going any farther.
Fair warning though. Changing hex values in an EXE w/o understanding the full source will result in destroying the underlying program.
where you live (if your profile is correct) you're not allowed to have the products at all because they're banned from shipment to your country.
I didn't know that, is there a trade embargo?Quote:
Originally Posted by jwenting
You don't have enough information about it and currently I am living on the laws of my own country not yours. USA banned trade to Iran, if an american sell an Iranian something it is out of law. But if somehow a USA product entered Iran (it is legal), I am free to use it. Even though if I steel the whole money of Microsoft it is non of your business I think.Quote:
where you live (if your profile is correct) you're not allowed to have the products at all because they're banned from shipment to your country.
It seems some ppl use to ... my threads. Hey I am a good boy.
I don't want to hack anything. If it sounding more 'hack-ish', it is because you didn't read the first post carefuly. I have some disassembler to do so though. But as I understood, VC first compile a cpp to exe, then uses it's disassembler for debug. It is also possible to debug an exe file with VC, I know. But it seems that it's disassembler reads the program from memory not the exe file.
So I think it is impossible to create ASM from EXE with VC. Except in one way, attach debuger to the process then copy assembly code from it's window to a text file.
It would be better to use a disassembler such as IDA pro there is a free version.Quote:
Originally Posted by siavoshkc
I wanted to know if VC6 does it or not. But thanks anyway. I edited the post to explane the law.