Statistics

Members: 1925
News: 293
Web Links: 1
Visitors: 3821649

Who's Online

Damn Vulnerable LinuxDamn 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

T16-Recon2006-Joe_Stewart-OllyBonE.gif OllyBone - Semi-Automatic Unpacking on IA-32. View the conference video here!
Home arrow Articles - Black Hat Methods arrow Assembly Programming Journalarrow Issue 4 (1998-2001)
Issue 4 (1998-2001)

::/ ::::::.
:/___:::::::.
/| ::::::::.
:| _/:::::::::.
:| _| ::::::::::.

:::_____:::::::::::..............................................INTRODUCTION
by mammon_

In the last few months I have come across a number of links to APJ, and have received the proverbial ton of email regarding it. Strangely enough, the majority of these tend to agree that the one problem with the journal is its infrequent --if not irregular-- publication. If that is the only complaint so far, I think I can cope with it ;)

This issue is, naturally, very late due to what could be called "real world" [lit., "that which does not go away when a power outtage kills your PC"] considerations; however the articles by weight alone should make up for some of this.

The largest of the bunch is undoubtedly the virus writing tutorial by Chili, who may have beat my previous record for article length: a very thorough work, worth reading just to help protect against virii, if not to write them. This is accompanied by Jan's discussion of boot sector programming...a suitable companion article, I believe.

High-level coders will undoubtedly be interested in Lord Lucifer's article on COM programming in assembly; it seems that high-level areas such as COM, DirectDraw, and Winsock coding are starting to receive a fair degree of attention from the assembly language world, judging from the tutorials I have been coming across.

Xbios2 has continued his excellent C stdlib work, and Icezlion has contributed two more of his now-legendary Win32 asm tutorials; I of course have kept up the Unix vanguard with yet another Xt article.

This month's challenge was contributed by iCE, and had a .text-size I could not readily beat.

A few brief notes concerning the web page: I have thrown together a basic collection of assembly language links at

{http://asmjournal.freeservers.com/lynx.html} Submissions for this links page are welcome. I have also been getting a few emails to the APJ inbox asking or offering help with assembly language; since I check the inbox fortnightly at best, I have added a "classified ads" page to the APJ website at

{http://www.guestbook4free.com/en/28806/entries/} which is essentially a guestbook where people can post contact info, projects they need help with, etc ... more or less a one-way bulletin board like, well, like classified ads are.

That should just about wrap things up. Enjoy the issue!

_m


Triple XOR
Triple XOR
Assembly Snippets
Read More >>

A Basic Virus Writing Primer
A Basic Virus Writing Primer

What horror must the ignorant victim undergo as it becomes aware of a being that lives inside its own body, growing ever stronger, reproducing itself until its host, unable to bear more finally colapses and dies an horrible death. What panic it must feel, knowing nothing can be done in time to avoid such a terrible fate. A predator so tiny, that unsuspectedly it spreads from one host to another, by so rapidly infecting millions. An organism, so utterly resourceful ...
Read More >>


The _strtok function
The _strtok function

Read More >>

Stack Frames and High-Level Calls
Stack Frames and High-Level Calls

Last month I covered how to implement high-level calls in Nasm. Since then it has come to my attention that many beginning programmers are unfamiliar with calling conventions and the stack frame; to remedy this I have prepared a brief discussion of these topics.


Read More >>

Mouse Input
Mouse Input

We will learn how to receive and respond to mouse input in our window procedure. The example program will wait for left mouse clicks and display a text string at the exact clicked spot in the client area.


Read More >>

Using Menus in Xt
Using Menus in Xt

A simple one-button application will not get you very far in the X world. A good application must have multiple components, including menus, dialog boxes, application windows, and accelerators. In this article I will present the use of Xt menus in assembly language as a first step towards producing a complete application; future articles will cover the integration of forms, dialog boxes, and other resources into a complete application.

I presented some Xt macros for Nasm last issue, ...
Read More >>


Menus
Menus
In this tutorial, we will learn how to incorporate a menu into our window.

Read More >>

Define Your Memory
Define Your Memory

[I am going to preface this article with a brief note, since it is not covering assembly language per se, but rather a utility that will be of use to asm coders. The author sums it up well in his original email to me: "Define is a new type of assembler/disassembler that does not use source code. The program reads the byte values in memory and checks a library to find a definition that describes the byte values it reads. The library can be added to and is used as a permanent macro li...
Read More >>


Fire Demo in < 100 bytes
Fire Demo in

[Another preface, I must be getting wordy in my old age. I received this code from iCE as a potential snippet or challenge; I chose to include it as the latter, for it put a nice spin on one of the classic asm learning programs: the VGA fire demo.


Read More >>

Using COM in Assembly Language
Using COM in Assembly Language

This article will discuss how to use COM interfaces in your assembly language programs. It will not discuss what COM is and how it is used, but rather how it can be used when programming in assembler. It will discuss only how to use existing interfaces, and not how to actually implement new ones; this will be shown in a future atricle.


Read More >>

Writing a Boot Sector in A86
Writing a Boot Sector in A86

I have been coding for FreeDOS some time, but that is a C project and I rather hate C. It is so clumsy. That's also why I always code in A86 assembly language. The "No Red Tape" assembler that makes life a lot easier for programmers.

A86 is good. The debugger (D86) could be better, but not too much. I registered my version and I want to encourage everyone to follow my lead. The software is good enough to pay for it. And it ensures proper development of the software. If...
Read More >>