Windows Assembler Language Programming (PDF download)

P

*ProteanThread*

D

Dave Turner

Closed Source is Closed Minded.
That statement is closed minded.
Creative software comes from the World Community.
That statement is closed minded, and incorrect.
 
A

Alexei A. Frounze

Dave said:
That statement is closed minded.

That statement is closed minded, and incorrect.

There're both pros and cons. I for one, know that lots of open/free software
is of low enough quality to be usable at all. If the code doesn't build and
can't be fixed easily and quickly, or doesn't install, or fails miserably
shortly after I've started trying it out, I trash it. Same if it's too
greedy for memory or CPU.

Everyone loves to code, not everyone can do it well unless forced to
improve. Thank's god we don't make our children the way we make our
programs. We'd have been long time dead if we had reproduced ourselves so
poorly.

And interestingly, it's not really the source code that makes problems if
it's not accessible... It's the specs that are't available and hard to
deduce through reverse engineering, it's the abused patents that prevent you
from using your own ideas or whatever was publicly disclosed and you used
that, even unknowingly.

I wonder if there're any estimates of how much bugs and patents cost us and
what they are.

Alex
 
D

Dave Turner

Well said, and I agree there are pros and cons of each.

To add to that, even "closed-source" compiled programs such as .exe files
come with source code - you just need a disassembler and knowledge of
assembly language to read it ... :)

Simple example ... let's assume this one line of code is an entire program:
i = i + 5;

If you compile it and then disassemble the .exe you'll see the assembly
language version:
mov eax,
add eax, 5

Regardless of whether the source is open or closed an analyst can still work
out exactly what the code is doing because in his eyes he does have the
source code, albeit in assembly language rather than C (or whatever initial
language was used).

And what if the program was written in assembly language in the first place?
Just by releasing the .exe you'd essentially be releasing nearly the exact
source code :)
 
A

Al Klein

If you compile it and then disassemble the .exe you'll see the assembly
language version:
mov eax,
add eax, 5


Well ... not exactly. Unless there's an "i" register. There's no
symbolic naming in an exe.

And if most of the code is in a dll, disassembling the exe will give
you a headache.
 
D

Dave Turner

Al Klein said:
If you compile it and then disassemble the .exe you'll see the assembly
language version:
mov eax,
add eax, 5


Well ... not exactly. Unless there's an "i" register. There's no
symbolic naming in an exe.

Obviously I just used that to demonstrate. However you can tell good
disassemblers to assign such labels.
And if most of the code is in a dll, disassembling the exe
will give you a headache.
No, you just disassemble the DLL instead of the EXE - it's just as easy. In
the case of a debugger such as Ollydbg when you disassemble a DLL it'll load
an EXE which LoadLibrary's the DLL, so you can then immediately get to work
on the loaded DLL.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top