|
Statistics
Members: 1927
News: 293
Web Links: 1
Visitors: 3931700
Who's Online
|
 Damn Vulnerable Linux (DVL) is a Linux-based (modified Damn Small Linux) tool for IT-Security & IT-Anti- Security and Attack & Defense. [ CLICK HERE FOR MORE INFOS! ]
|
Featured Conference Video
 OllyBone - Semi-Automatic Unpacking on IA-32. View the conference video here!
|
Home Assembly Programming Journal Issue 5 (1998-2001)
Issue 5 (1998-2001)
::/ ::::::.
:/___:::::::.
/| ::::::::.
:| _/:::::::::.
:| _| ::::::::::.
:::_____:::::::::::..............................................INTRODUCTION
by mammon_
I suppose I should start with the good news. A week or so ago Hiroshimator
emailed me for the nth time asking if I needed help with the journal as I have
yet to get one out on time. I relented and asked if he knew any listservers;
one hour later he had an account for APJ set up at e-groups, specifically:
{http://www.egroups.com/group/apj-announce}
One of the greatest obstacles to putting out these issues -- processing the
300 or so subscription requests that rack up between issues -- is now out of
the way for good.
The articles this month have somewhat of a high-level focus; with the COM and
Direct Draw by Bill Tyler and X-Caliber, respectively, as well as Chris
Dragan's classic work on exception handling and Jeremy Gordon's treatment of
windows callbacks, this issue is heavily weighed towards high-level win32
coding. Add to this Iczelion's two tutorials and my own win32-biased
linked list example, and it appears the DOS/Unix camp is losing ground.
To shore up the Unix front line, Jan Wagemakers has provided a port of last
month's fire demo to linux [GAS]. In addition, there are A86 articles by Jan
Verhoeven and a general assembly routine by Laura Fairhead to prove that not
all assembly has to be 32-bit.
And, finally, I am looking for a good 'challenge' columnist: someone to write
the monthly APJ challenges [and their solutions] so that I can start
announcing next month's challenge sooner than next month...
Now at last I can sleep ;)
_m
| Structured Exception Handling under Win32 |
Structured Exception Handling under Win32
Structured Exception Handling is a powerful feature of all Win32 platforms
that allows a program to recover from any critical errors like BOUND, divide
overflow, page missing or general protection fault. It is documented only for
C-level usage (try-except/finally syntax), and no documentation for low level
languages exists. Therefore I will try to show how to use it.
Read More >> |
| |
|
|
|
|
| Formatted Numeric Output |
Formatted Numeric Output Here I am going to present you with a very useful routine for numeric output. I have been using it myself for sometime and now I think it is almost perfect.
Read More >> |
| |
|
|
|
|
| Dumping Memory To Disk |
Dumping Memory To Disk This piece of code allows you to make a memory dump of any region of conventional memory (i.e. below 1 Mb) to a diskfile.
Read More >> |
| |
|
|
|
|
| Linked Lists in ASM |
Linked Lists in ASM
Assembly language is notorious for being low-level; to wit, it lacks many of
the features in higher-level languages which make programming easier. In the
course of my work in the visasm project I have put quite a bit of time into
working on exactly which higher language features are important and which, in a
nutshell, are swill.
One of the areas in which assembly language is lacking is the use of dynamic
structures. Pointer manipulation in asm is simple and clear for up to one
level... Read More >> |
| |
|
|
| Fire Demo ported to Linux SVGAlib |
Fire Demo ported to Linux SVGAlib
In APJ4 there was a little nice fire demo written in DOS assembly language.
I have ported this program to Linux assembly language. It is written in the
AT&T-syntax (GNU assembler) and makes use of SVGAlib.
My main goal of porting this program to Linux was to show that it can be
done. So, I have not optimized this program. For example, things like 'call
ioperm' can also be done by making use of int 0x80; quite possibly making use
of int 0x80 will make the program smaller... Read More >> |
| |
|
|
| How to use DirectDraw in ASM |
How to use DirectDraw in ASM
Well, there has been quite a large demand for this essay, so I finally started
writing it. This essay will show you how to use C++ objects and COM interface
in Win32ASM, using DirectDraw as an example.
Well, in this part of the Win32 API, you will soon find out how important it
is to know C and C++ when you want to use an API written in these languages.
Judging from the demand for this essay, I think it will be necessary to
explain a bit of how objects work in C++. I will not go too ... Read More >> |
| |
|
|
| Dialog Box as Main Window |
Dialog Box as Main Window Now comes the really interesting part about GUI, the dialog box. In this tutorial (and the next), we will learn how to use a dialog box as our main window.
Read More >> |
| |
|
|
| COM in Assembly Part II |
COM in Assembly Part II
My previous atricle described how to use COM objects in your assembly
language programs. It described only how to call COM methods, but not how to
create your own COM objects. This article will describe how to do that.
This article will describe implementing COM Objects, using MASM syntax. TASM
or NASM assemblers will not be considered, however the methods can be easily
applied to any assembler.
This article will also not describe some of the more advanced features of COM
suc... Read More >> |
| |
|
|
| Child Window Controls |
Child Window Controls In this tutorial, we will explore child window controls which are very important input and output devices of our programs.
Read More >> |
| |
|
|
| Standardizing Win32 Callback Procedures |
Standardizing Win32 Callback Procedures This short article describes my preferred method for coding CALLBACK procedures in a large assembler program for Windows 32. First I describe what Win32 callback procedures are, and then get down to some code.
Read More >> |
| |
|
|
| Writing Boot Sectors To Disk |
Writing Boot Sectors To Disk
In my previous article I showed how to make a private non-bootable
bootsector for 1.44 Mb floppy disks. Unfortunately, there was no way yet to
write that non-bootsector to a floppy disk....
Enter this code. It is the accompanying bootsector writer for floppy disks.
It assumes that your A: drive is the 1.44 Mb floppy disk drive and I dare
say that this will be true in the majority of cases.
Read More >> |
| |
|
|
| Binary-to-ASCII |
Binary-to-ASCII The Challenge
-------------
Write a routine to convert the value of a bit to ASCII in under 10 bytes, with no conditional jumps.
Read More >> |
| |
|
|
|
|
|