flat assembler
Message board for the users of flat assembler.

Index > Main > Assembly programmers' must read

Author
Thread Post new topic Reply to topic
LiuJunfeng



Joined: 28 Nov 2003
Posts: 48
Location: China
LiuJunfeng 08 Apr 2004, 06:36
1.IA-32 Intel(R) Architecture Software Developer's Manual
http://www.intel.com/design/pentium4/manuals/253665.htm

2.flat assembler Programmer's Manual
http://flatassembler.net/docs.php?article=manual

3.Assembly-Programming-Journal (APJ)
http://www.assembly-journal.com/archive.php

--If you know some other material is a must read, please reply.
Post 08 Apr 2004, 06:36
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 12 Apr 2004, 18:41
art of assembly (but don't know the site)
+ many virus zines (40Hex, Vlad, ...)
Post 12 Apr 2004, 18:41
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
ShortCoder



Joined: 07 May 2004
Posts: 105
ShortCoder 07 May 2004, 06:04
vid wrote:
art of assembly (but don't know the site)
+ many virus zines (40Hex, Vlad, ...)


I really don't think virus-writing online magazines are going to be the best tools to allow people to write in/master assembly language. Besides, it is possible to write viruses in other computer languages as well. I really don't think virus writing is a good thing unless you are only doing it on your own machine, and then only for a learning experiment/experience, where it is controlled (never leaves your machine) and you insure that.

Besides, if you can't intuitively figure out how viruses are made/how it would be possible to make one, you probably don't need to be making them anyway.

Also, posting things like this on assembly language boards just gives assembly language programmers a bad name/rap when not all of us are consumed with writing viruses and cracking programs. Myself, I enjoy the power that assembly language presents. Viruses do not impress me at all.

I mean, the basic template is find a suitable hole in executable, inject virual bytecodes there, point start of executable flag to start of virus, exit from virus to start of the real program.---I mean, there are several variations on this, but it's not very imaginative to me.--same with exploiting programs. It's far too easy to do, so why do that when you could be constructive instead and actually try to create rather than destroy?
Post 07 May 2004, 06:04
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 07 May 2004, 19:29
Quote:

It's far too easy to do, so why do that when you could be constructive instead and actually try to create rather than destroy?

of course NOT destructive viruses, that is lame (in most cases). But (DOS) viruses include much more than only simple infecting executable file. You learn there TSRs (stealth), anti-debugging tricks (PIQ), many times some interesting hardware-programming gem (some display things), optimization, comprehend machine language better (polymorphism), find some interesting aproaches (brute force decryption), get deeper to system (MBR) etc.

I think studying (!) viruses is best choice for intermediate assembly programmer.
Post 07 May 2004, 19:29
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
ShortCoder



Joined: 07 May 2004
Posts: 105
ShortCoder 08 May 2004, 08:41
vid wrote:

of course NOT destructive viruses, that is lame (in most cases). But (DOS) viruses include much more than only simple infecting executable file. You learn there TSRs (stealth), anti-debugging tricks (PIQ), many times some interesting hardware-programming gem (some display things), optimization, comprehend machine language better (polymorphism), find some interesting aproaches (brute force decryption), get deeper to system (MBR) etc.

I think studying (!) viruses is best choice for intermediate assembly programmer.


Well, but in that case, why not learn about TSR DOS progs and anti-debugging tricks and hardware algorithms and the boot process (7C00 and MBR and 55AA stuff)?

I mean I guess there might be some value to studying viruses but I just seem to think you could learn it all other (better) ways as well and anybody could figure out how to do the destructive stuff if they wanted to (I think)---it's pretty easy so I'm glad you think that's lame;)
Post 08 May 2004, 08:41
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 08 May 2004, 17:33
for lamers, there is always way to be destructive, either they learn virii stuff or not. I right now i can't figure better example for most of those mentioned technologies than viruses. On them you can you see why such technologies are needed.

Step-by-step writing complex DOS virus would be great assembly tutorial, covering most aspects of assembly coding, unfortunatelly it is way dangerous for author.
Post 08 May 2004, 17:33
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
neonz



Joined: 02 Aug 2003
Posts: 62
Location: Latvia
neonz 10 May 2004, 10:25
ShortCoder wrote:
vid wrote:
art of assembly (but don't know the site)
+ many virus zines (40Hex, Vlad, ...)


I really don't think virus-writing online magazines are going to be the best tools to allow people to write in/master assembly language. Besides, it is possible to write viruses in other computer languages as well. I really don't think virus writing is a good thing unless you are only doing it on your own machine, and then only for a learning experiment/experience, where it is controlled (never leaves your machine) and you insure that.


Tutorials about writing DOS viruses could be good tutorials about assembler code optimization for DOS as well, IMHO.
Post 10 May 2004, 10:25
View user's profile Send private message Visit poster's website Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 10 May 2004, 14:23
If you want optimization, you read www.agner.org and the intel manuals. Virii are usually pretty sloppy... and those that are optimized are size-optimized, which isn't very useful in 'normal' programming (yes it's useful when doing 1,4,64k intros or bootsectors but that's not 'normal' programming Smile).

If you want hardware details etc, it's better to study os development stuff - the documentation there is also usually a lot better.

You _can_ learn stuff by studying the various viral magazines, though. One thing is the mindset of a lot of virus writers... truly scary. Polymorphism (or whatever fancy words you want to use) can be useful in the field of software protection.

And of course... it's always good to know your enemy and their tactics.
Post 10 May 2004, 14:23
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 10 May 2004, 18:33
f0dder: viruses also help you greatly to understaning your OS, better than anything else.
Post 10 May 2004, 18:33
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 10 May 2004, 22:56
not really. You learn the file formats better from other sources, the API from the PlatformSDK, and kernel-mode stuff from the DDK. True, you can get some 'internal' information from studying virii and exploits, but that's beginning to be documented elsewhere too - and isn't really very useful for general programming.

I'm tired of virus glorification... nothing useful ever came from it, but there's certainly been a lot of grief caused by virii and other malware. Even stuff that isn't malicious have had bugs that have trashed things.
Post 10 May 2004, 22:56
View user's profile Send private message Visit poster's website Reply with quote
FAlter



Joined: 08 Jun 2004
Posts: 19
Location: Mixdorf, Germany
FAlter 15 Jun 2004, 17:13
If you want to look up some interrupt functions:
http://www.ctyme.com/intr/int.htm
Post 15 Jun 2004, 17:13
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Jaques



Joined: 07 Jun 2004
Posts: 79
Location: Everywhere
Jaques 18 Jun 2004, 17:58
I agree with F0dder to a point....

Its not really a manual but it is a must read:
http://www.canonical.org/~kragen/tao-of-programming.html
Art of Assembly
http://webster.cs.ucr.edu/

_________________
- My ignorance is now your problem.
Post 18 Jun 2004, 17:58
View user's profile Send private message Reply with quote
polygon7



Joined: 14 Aug 2003
Posts: 62
Location: Poznan, Poland
polygon7 19 Jun 2004, 21:07
Hi,
some of my favourite webpages:
http://www.scrontsoft.com/ DirectX in assembly
http://www.df.lth.se/~john_e/ Assembly Gems page
http://www.anticracking.sk/EliCZ/ Win32asm
http://y0da.cjb.net/ Win32asm and good tool - LordPE[/url]

_________________
best regards
p7
Post 19 Jun 2004, 21:07
View user's profile Send private message Visit poster's website Reply with quote
Jaques



Joined: 07 Jun 2004
Posts: 79
Location: Everywhere
Jaques 28 Jun 2004, 00:00
where can i find 40hex ect
Post 28 Jun 2004, 00:00
View user's profile Send private message Reply with quote
polygon7



Joined: 14 Aug 2003
Posts: 62
Location: Poznan, Poland
polygon7 28 Jun 2004, 06:15
Jaques wrote:
where can i find 40hex ect


http://packetstormsecurity.nl/mag/40hex/

_________________
best regards
p7
Post 28 Jun 2004, 06:15
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.