|
Statistics
Members: 1927
News: 293
Web Links: 1
Visitors: 3931726
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 6 (1998-2001)
Issue 6 (1998-2001)
Customarily I'll start with the bad news: this issue is about a week late,
primarily because I had forgotten about the two Win32 articles X-Calibre
passed on to me a month or two ago. The good news, however, is that there
may be a December issue; currently I have about 5 or so extra articles that
threatened to bump this issue over the 200K mark. Evenutally I may have a
chance to be late on a monthly basis...
This issue has a bit of a 'back to the basics' feel about it. Packed inside
are articles dealing with some of the 'classics' of assembly: CPU identification,
graphics, and the ever-popular Game of Life. The disassembly of the
Ambulance Car virus also has an old-school feeling to it, hearkening back to
the old days of DOS and com files.
Additional highlighs include X-Calibre's 'bending windows to your will' Win32
articles, two excellent chip programming articles from Jan, utility routines
from Laura and myself, and of course my usual attempt to defend assembly as a
viable programming language for the Unix environment.
Enough commentary; time to get this mag on the road!
|
|
| Timing with the 8254 PIT |
Timing with the 8254 PIT Some time ago I saw a note on the mailinglist from someone in need for a flexible timer function. For this, there are several concepts.
Read More >> |
| |
|
|
| Programming the DOS Stub |
Programming the DOS Stub As you may (or may not) know, there is a piece of DOS code still in every Win32 executable file. This piece of code is referred to as the 'stub' and ensures that the Win32 program won't cause a crash when run on a DOS system. It just prints the familiar 'This program can not be run in DOS' message and exits.
Read More >> |
| |
|
|
| Splitting Strings |
Splitting Strings
Those familiar with Perl will undoubtedly have used its split() function, which
takes a single string and splits it into multiple strings or into an array,
based on a delimiter character specified in the call. Typical invocations of
split() would be:
($field1, $field2, $junk) = split(':', $line);
@array = split(' ', $line);
Read More >> |
| |
|
|
| Processor Identification |
Processor Identification
Being able to identify the processor in which your program is running, can be a
very useful feature, if not to ensure that your program will work on a wider
range of computers, at least to provide minimum compatibility and guarantee it
not to crash on some processors.
The first part of this article explains how to distinguish between older 80486
and lower processors by checking for known behaviours, while the second part
(written by Chris) takes it one step forward, explain... Read More >> |
| |
|
|
| Assembling for PICs |
Assembling for PICs Below is a piece of assembly language for the MicroChip PIC processor. This particular program will flash some LED's and activate some relays based on the status of some control-inputs. The target MCU was the PIC 16C54, one of the most simple chips in that range.
Read More >> |
| |
|
|
| String to Numeric Conversion |
String to Numeric Conversion Here I present you with a library routine that scans a value from a string and converts it to an integer. It is very useful, not only when you have to convert string->value but also if you are parsing and want to recognise a numeric token.
Read More >> |
| |
|
|
| Using ioctl() |
Using ioctl()
One of the most famous Unix maxims reads 'everything is a file'; directories
are files, pipes are files, hardware devices are files, even files are files.
This provided a transparent means or reading and writing hardware or software
constructs such as modems and sockets; yet the lack of interrupts or device
driver routines is sometimes confusing for those not used to Unix programming.
In linux, handling device parameters through the character and block 'special
file' in... Read More >> |
| |
|
|
| Programming for the one and only universal graphics mode |
Programming for the one and only universal graphics mode
If you need to write a graphics routine that has a reasonable resolution and
which is nearly always present, there is just one choice: mode 12h or the well
known 640 x 480 x 16. This mode is the highest resolution mode which is always
available in all VGA cards.
800 x 600 is better but it either needs a VESA driver installed or the user
must himself figure out how to switch the machine to that mode. Not an easy
task for the majority of "experienced Windows users" (isn't thi... Read More >> |
| |
|
|
| Ambulance Car Disinfector |
Ambulance Car Disinfector
Since I provided a ready-to-be-assembled virus in the "'Ambulance Car'
Disassembly" article, I decided to also write a bonus article with a basic
disinfector for it. Please note that this disinfector doesn't locate and clean
all existing 'Ambulance Car' strains, though it does work on more than half of
the strains I have (thanks Cicatrix). It is only intended to work with the
strain I provided, so no assurances are given as to whether it... Read More >> |
| |
|
|
| Conway's Game of Life |
Conway's Game of Life
I had the idea for this one day after stumbling upon a "gem" that
somebody had written to play life. It was small and fast and reminded
me of years ago when I had written many versions of this for the
BBC Master 128 (my love lost). Since I had never written a version
for the PC I thought that I would, and ended up spending some hours
trimming off the bytes until it is now :- 156 bytes long. I must admit
if it was not for the program that I found, this program would have been
M... Read More >> |
| |
|
|
| Ambulance Car Disassembly |
Ambulance Car Disassembly
This virus has definitely my favourite payload of all times. I just love
seeing that little ambulance run across the screen with a 'siren' playing at
the same time. Other than that, the virus itself isn't much of a thing. Don't
forget though, that it is dated back to at least 1990.
It is a non-resident .COM infector, and each time an infected file is run it
will attempt to infect two files (be it in the current directory or in a
directory locate... Read More >> |
| |
|
|
|
|
|