R.I.P. MS-DEBUG 1981 - 2009
AlphaZeta writes "After 28 years, MS-DEBUG is finally being phased out in Windows 7. Over the years, people have been using MS-DEBUG for writing code (virus/malware, you name it) and debugging. "
← Back to Stories (view on slashdot.org)
Wow, two comments and /.'ed already. Who knew MS-DEBUG had such power to make people want to actually RTFA!
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal
Acutally, the debug command was removed in Windows Vista & Windows Server 2008.
Really? At least my Vista installation still has it.
Is /. broken today?
-a 100
jmp 100
w
x
?
?
?
quit
end
crap
sit
vi?
... a new sourceforge project called Open-Debug is being created to replace it.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
Actually, our server 2008 boxes here at the office have it as well.
Seconded. Just checked a Vista box installed here at the office. It was Vista Ultimate. Does version make a difference?
It's removed from 64 bit copies of Windows, including XP 64 bit.
Curiosity was framed, Ignorance killed the cat.
They killed debug.
You bastards!
If I were God, wouldn't I protect my churches from acts of me?
Everyone confirming or denying the presence of MS-DEBUG on their windows machine, is confirming their use of windows, and getting their precious slashdot ID number increased by 50% and a free copy of Windows 7 because MS is tired of having to keep hosting Windows 98 SP 2 updates for every time you reformat
Seconded. Just checked a Vista box installed here at the office. It was Vista Ultimate.
Does version make a difference?
It's removed from 64 bit copies of Windows, including XP 64 bit.
Removed or they couldn't or wouldn't get it working?
From the article summary:
Vista is not Windows 7 so.... yes we'd expect the debug command in Vista.
--- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
Depends, is it still the same old 16-bit exe in the versions of Vista people are reporting it to be present? If so, probably "didn't bother to get it working". Many DOS utilities of that time were written in assembly, so getting it working in 64-bit would have basically consisted of rewriting it.
So much fond memories...
The Debug.exe was actually my first contact to programming and the first language I learned, was x86 assembler.
It was MS-DOS 2.xx and all my friends played with C64s and coded all kinds of cool things. My parents couldn't afford a C64 but they somehow got an old PC free. Demoscene was a new and hot thing in those days and me and my friend programmed our first demo completely using the Debug.exe. Merging the two code-bases was an interesting task, when all you had was two pieces of binary and some unused memory space for copy 'n' paste. The demo actually was quite cool. Unfortunately I have lost my only copy.
Makes me wonder why Microsoft even created it in the first place..... not like THEY used it or anything.
"i lost my dignity on a slippery wiener"
Back in the DOS 2.1 days when I got my first computer I didn't have any manuals. I quickly found debug, though, and saw all the strings in command.com. A bit later I actually used it for things like disassembling the boot sector and even writing some tiny programs via machine code since Microsoft's assembler and linker costs a fortune at the time and I was in junior high and beginning high school. I even used it to crack a number of programs via the disassembler command. There was also an improved version of debug I managed to get a hold of called symdeb.
When I got the Borland (RIP) Turbo Assembler and their debugger I stopped using it.
I haven't touched it in many years, especially since I moved away from Windows in the early 1990s, migrating first to OS/2 and later to Linux.
This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
I hope Mr. Debug gets over his loss soon.
The state you are in while your HEAD is detached... - wait, what?
Afaict debug is a 16 bit does tool for creating and debugging 16 bit dos apps. Since 64 bit windows doesn't support dos apps (or 16 bit windows apps for that matter) it wouldn't make much sense to include something that both is one and is a tool for working with them.
P.S. I find it amusing that wine on 64 bit linux can run 16 bit windows apps yet 64 bit windows can't.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
so we don't need debug.exe anymore.
Anyone remember Borland Turbo Debugger or Microsoft Codeview? I used to use them to debug programs as well in Assembly Language.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
Using it to change this string in command.com
"Abort, Retry, Fail?"
to
"Abhor, Retch, Fume!"
Note that it fits in exactly the same number of bytes. That's important.
It's not like it hurts by sitting there on the harddrive, taking up a whopping 28K (or however big it is)....
-Clio
Karma: Bad (mostly from not giving a fuck)
Blog: http://clintjcl.wordpress.com
This article is entirely wrong. DEBUG.EXE hasn't been removed from Windows 7. It's just not included in 64-bit editions of Windows. That goes for 64-bit editions of Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 and Windows 7. This is because the 16-bit emulator is no longer included in the 64-bit versions of Windows due to the fact that the x86-64 CPUs cannot switch to 16-bit mode. So it's not DEBUG.EXE that is gone, it's all of DOS that is gone.
I'm such a poser that the only thing I used it for was low-level format of hard drives. But oh, how I'll miss it. I still remember being a phone tech and using the debug script for callers that I didn't like. I'd tell them "Okay, I'm going to tell you some commands and I'm not going to be able to stop so make sure you don't miss anything of else I'm not sure if I'll be able to recover your system ever again." And then I'd proceed to turbo-read the script without stopping. Ah, such fun.
The eternal struggle of good vs. evil begins within one's self.
Vista 64 users can always use dosbox.
If sharing a song makes you a pirate, what do I have to share to be a ninja?
Yes but Wine64 can't really run any 64-bit Windows apps and Wine has trouble with most Win32 apps. Being able to run 16-bit apps under Wine is more of a testament to how far behind it is.
This was how I cracked Ultima V. They had a special sector on the floppy(!!) and read code off it, put it in the right place, and then ROT13ed that code.
I traced through until I was past that point, added nops where the read/ROT13 was, and rewrote the exe. I thought I was a genius.
RIP MSDEBUG.
Shouldn't the headline read "R.I.P. MS-DEBUG 1981 - 2010" or " - 2011"? ( ...do I hear 2012?)
Most of the stuff on
... for XP64 and Vista64.
Here is my last tribute:
C:\Users\faragon>copy con hifolks.com
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz^Z
1 files copied.
C:\Users\faragon>debug hifolks.com
-a 100
187E:0100 jmp 112
187E:0102 db "Hello Slashdot!$"
187E:0112 mov ah,9
187E:0114 push cs
187E:0115 pop ds
187E:0116 mov dx,102
187E:0119 int 21
187E:011B int 20
187E:011D
-w
Writing 00048 bytes
-q
C:\Users\faragon>hifolks.com
Hello Slashdot!
C:\Users\faragon>
P.S. I find it amusing that wine on 64 bit linux can run 16 bit windows apps yet 64 bit windows can't.
Actually, I'd be interested in knowing how this works (assuming it's true). Does Wine do some sort of binary translation? To my knowledge 16-bit instructions aren't available in 64-bit mode, so it can't just be running it natively. Does it do that with all programs, or just 16-bit ones? Anyone know?
Wine Is Not an Emulator.
My sig can beat up your sig.
Oops the seek=466 should have been 446 (or even 448 with a count of 62, either works)...just in case someone really wants to back up a partition table with nothing else.
MS-DEBUG 1981 - 2009
May 8, 2009, 11:16 am
Earlier this week (May 5) Microsoft Windows 7 Release Candidate was released to the general public and like many technology enthusiasts I downloaded a copy early in the morning hours on Tuesday, shortly after Microsoft made it available on its website.
The RC build of Windows 7 (build 7100) has many tweaks over the previous beta build I have (build 7000) and I have not yet played with it long enough to come up with any meaningful conclusions. However, this is not the point of this article. As you might have noticed from the title of this article, I was not about to talk about my experience with Windows 7 (maybe I will write about it later). What I noticed the first thing in Windows 7 is that the DEBUG command is nowhere to be found.
I was just old enough to remember the very early days of DEBUG under MS-DOS. In fact, I was fascinated with such a small and yet powerful tool that came with every version of MS-DOS distribution. the DEBUG command was so powerful that you could do almost anything with your machine with sometimes just a few key strokes.
For a long time, I used DEBUG to learn x86 assembly language and to learn about disk (both floppy disks and harddrives) structures and file systems. And occasionally, I would use DEBUG to edit binary files.
I remembered that I could use commands like
-l 100 0 0 1
-d
to load the boot sector from floppy A and inspect whether the boot sector was infected with any virus and if so, I would find a clean floppy disk and using DEBUG to write its boot sector to the disk that was infected.
And routinely, I would use the following commands to inspect the partition table of my harddrive to make sure that it was free from any infections:
mov ax, 0201
mov bx, 1000
mov cx, 0001
mov dx, 0080
int 13
int 3
-g 100
-d 1000
Remember this one?
jmp ffff:0000
I remembered that someone at my high school used to play the pranks by changing the very first few bytes on floppy disks to EA:00:00:FF and placed the disks in computers in the lab so that whenever someone turned on the computer, it would enter an infinite reboot cycle.
And when CIH stroke in the late nineties, my friends and I would use DEBUG to inspect the virus's code to see how the instructions could actually be used to cause real physical damage to the hardware.
After Windows came along, I still used DEBUG often. After all, deep inside Windows (up till Windows ME), there was MS-DOS and for years, user were allowed to operate in real mode if they so inclined to. With the advent of Windows 2000 and then later Windows XP people started to forget about DEBUG since the operating system became true 32bit and the DOS prompt became just an emulator. You could still view files and write assembly code within DEBUG, but it was in a protected environment and everything you do was pretty safe and you couldn't really do anything harmful to the hardware (of course, you could still overwrite sectors in floppy disks if you wanted to).
Ah, those were the good old days. Just like QBasic disappeared from later versions MS-DOS, DEBUG has gradually become obsolete. It remained in Windows Vista, but it is no where to be found in Windows 7. At last, Windows has shed one of its last vintage applications from the MS-DOS era.
Correction - removed from 64bit Vista & 64bit Windows Server 2008. I forget that people still run the 32bit only version :)
We were at a trade show and needed to make a change to the file but edit, for some strange reason, was missing from the machine, so it was the only thing we had to make the edit.
After that I made sure I always had a floppy with key tools with me.
Squirrel!
Actually, I'd be interested in knowing how this works (assuming it's true)
It's most definately true
Actually finding out how wine does 16 bit code is trickier. I've found out from the documentation that it involves something called "winevdm.exe.so" but i dunno how that binary does it. I guess it would be possible to RTFS but I don't care enough to do that.
To my knowledge 16-bit instructions aren't available in 64-bit mode, so it can't just be running it natively
You can't do 16 bit real mode code under a 64 bit kernel. I'm not sure what the situation is with 16 bit protected mode code (wikipedia claims it's possible but doesn't provide a citation for that claim)
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
As pointed out already, it's only absent from x64 editions of Windows (and it has been so for as long as such existed, starting with 2003 and XP). This is because debug.exe is a 16-bit DOS program, and 64-bit Windows versions do not support 16-bit binaries.
32-bit Windows 7 still has all the old DOS goodies - not just debug.exe, but also edit.com and even edlin.exe. Some things never die, apparently.
debian:/home/plugwash# file /c/windows/system32/debug.exe /c/windows/system32/debug.exe: MS-DOS executable, MZ for MS-DOS
debian:/home/plugwash#
(the windows install is XP pro, i'm booted into linux at the moment)
Seems pretty clear to me, it's a DOS executable and it's well documented that 64 bit windows cannot run dos executables.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
DEBUG was actually part of QDOS/86-DOS before MS thought about buying the rights from Seattle Computer Products. The DEBUG commands and syntax were similar to the features in the EPROM monitor that came with the SCP CPU's (actually on the CPU support card).
Fixed some source code files that someone had mis-saved in Notepad as UTF-8, or such.
the files had a Unicode Byte-Order-Mark character which the compiler choked on. FEFF the Zero-width, non-breaking space. It's literally an invisible character, so the easiest way to verify/fix the problem is a hex editor, so I used the always-handy DEBUG.