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)
Acutally, the debug command was removed in Windows Vista & Windows Server 2008.
This is horrible news!
I was hoping they'd add 32 and 64 bit support.. haha
Not true, the debug command is in Windows Vista (at least the Ultimate version)
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
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
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
@debug nul
e100 48 e6 61 be 3f 01 31 db 8a 1c 80 fb ff 74 f4 81
e110 c3 d0 00 b0 b6 e6 43 31 d2 66 b8 dd 34 12 00 66
e120 f7 f3 e6 42 88 e0 e6 42 46 8a 0c 46 ba da 03 ec
e130 a8 08 74 fb ec a8 08 75 fb fe c9 74 c9 eb f0 00
e140 0c 19 0c 45 0c 19 0c 8d 24 8d 24 67 48 00 0c 19
e150 0c 45 0c 19 0c 67 24 67 24 45 24 36 0c 19 18 00
e160 0c 19 0c 45 0c 19 0c 45 30 67 18 36 24 19 0c 00
e170 30 00 18 67 18 45 18 45 34 00 0c 19 0c 45 0c 19
e180 0c 8d 30 8d 18 67 48 00 0c 19 0c 45 0c 19 0c cf
e190 30 45 18 45 24 36 0c 19 18 00 0c 19 0c 45 0c 19
e1a0 0c 45 30 67 18 36 24 19 0c 00 30 00 18 67 30 45
e1b0 6b ff
g
How will this affect progress in the Singularity? I just remember doing "d" to get quick hexdumps. But that wasn't Singularity-related.
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.
Are there special versions with debug for Singularity-researchers? Hex helps with science.
Debunking in this story. Unfortunately, none of it will help debug windows... MIght end up de-debugging and de-debunking myths...
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
I hope Mr. Debug gets over his loss soon.
The state you are in while your HEAD is detached... - wait, what?
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.
... still use debug to do certain tasks. Getting rid of it was kind of pointless.
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
I think I first used msdebug to edit my Wing Commander Privateer file to add the cargo expansion purchased for my Galaxy freighter to the smaller more nible Centurion fighter. Oh and to give it 4 Steltek guns. I remember uploading that save game file to compuserve, it was pretty popular at the time.
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.
In the prehistoric times of the XT, it was common to manually "park" hard drives before shutting them down. This could be done with special tools, but it was far more convenient to use DEBUG to execute the parking routine in the controller directly. The command was "g=c800:??" where ?? is something I don't remember. You could also access other functions of the controller that way.
War is Peace ..... Poverty is Wealth..... Insolvent banks are healthy banks
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.
I remember having to use debug to format ESDI drives back in the day. They should keep it around - it's still a power tool. What, do they think there will be fewer people writing viruses if it is gone? As though there aren't alternatives out there?
DEBUG on the way out? Next they'll be trying to remove EDLIN? Where will it stop?
(Bizarrely, the only time I have ever used EDLIN was to administer some dual-boot Linux / Windows NT boxes. I wrote a perl/Expect script that telnetted to each machine running Windows, used EDLIN to change boot.ini, and then ran 'shutdown -r'.)
-- Ed Avis ed@membled.com
I remember purchasing my first IBM PC with DOS 1.0 back in December '81. Debug at the time did not include the 'a' or 'assemble' command, so I hand assembled my first programs via hex. That's bit crunching together the mod, the reg and the r/m bits in order to make an opcode. Well, at least it wasn't a 6502. . .
... 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>
If it was in your ROM BIOS, they could never take it away from you. Superior computers always made sure it was there in the ROM.
CALL -151
:)
"Convictions are more dangerous enemies of truth than lies."
I think the only time i hasnt used Norton Commander or something else than debug in dos/windows was back in the day when i got my first harddrive for my NCR PC4i. The ST-506 disk was a bit fast for the 8088 CPU so except having to manually replace the bios chip i had to interleave the thing manually too.
Good thing they start cleaning the Dos stuff out of windows finally. I guess 1987 called Microsoft and wanted its software back.
HTTP/1.1 400
Every geek kid growing up in DOS knew how to give way too much money in SimCity using Debug. First time I ever pulled a 'cheat' off a network, either. I think I got that from Prodigy, though it might have been a real BBS.
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.
Not DEBUG!
If this is really true, I guess I'd better get in one last shameless plug before it's too late!
Blasted post limits. Posting anonymously, well, because of blasted post limits.
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.
I cracked my first game using "debug" a long time ago... It was "Speedball II, Brutal Deluxe", which remains in the running for Best Video Game Title Ever.
FWIW, I didn't do anything with the crack. It was my own legal copy of the game. I just wanted to see if I could do it. One little NOP, and the whole call to the copy protection subroutine was canceled. Ha!
I'll bet that if you said that PIP was being removed, hundreds of slashdot posters would check to see if it really was still on their system.
I'll also bet that several will check after reading this post.
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
Please observe a moment of silence for the last command you'll ever type in debug...
f 0000:0000 ffff ff
I remember g=c800:5 to low level format my 20Mb hard drive!
"Over the years"...yeah? not over all twenty eight of them, surely! When did you last use debug? I probably haven't used it since 1989 for hacking command names in command.com in MS-DOS 3.3.
debug was the best thing that Windows had to offer. I'd always play around with it calling DOS interrupts and mode 13h. In fact I was messing around with it today while bored at work.
"Without curiosity and knowledge, the mind is a vast void. Without the mind, curiosity and knowledge are nonexistent."
Someone is trying to be very innovative: they hope that all "vista problems" will go away by removing a debugger.
And let us not forget, that DEBUG.exe was really a blatant rip-off of Gary Kildall CP/M's DDT.exe
(which stood for Dynamic Debugging Tool)
So we can back that born-on date back to 1977.
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!
i used to write TSRs (terminate and stay resident) to do all sorts of obnoxious shite like flash the screen and display a text box staying "WHITE POWER" at the most inopportune time.
Sorry, but Debug is one of the dumbest security holes in windows. You don't have to be an admin to run it, and you can use it to wipe a harddrive, or scramble it, in minutes.
I'm a little sad its gone, but I never really used it, so no biggie. I imagine the sourceforge one will have more toys anyway.
I've tried to use that program many times after Windows was introduced. And every time I tried (W98) I was amazed about how the processors advanced, but Debug stayed what it was as under DOS 5.0 : 8086 commands and nothing more.
MS may claim it only retired that program now, but as far as I know they did not update it at all after DOS (but for its version-number and it to be "compatible" with whatever quirks the thanwhile Windows version had).
BEST POST OF MONTH
This is my sig.
Well, at least it wasn't a 6502. . .
Um, hand assembling 6502 assembly isn't particularly difficult. Did you mistype the processor name? Or did something just whooosh over my head?
Sorry, but Debug is one of the dumbest security holes in windows. You don't have to be an admin to run it, and you can use it to wipe a harddrive, or scramble it, in minutes.
I hope you are every bit as idiotic as you sound and that really isn't true.
Does MS-Windows really ignore permissions at the system call level? And I thought one of the big advantages of MS Vista & ++ were that folks no longer ran with admin privileges ...
PURE LUXURY! Why when I was a wee nipper, We used a morise code transmitter wired into the data bus to insert raw hex instructions onto the stack! We didn't have a moniter to verify things, we had to use the BIOS to transmit beep codes to the PC speakers, and we liked it that way! Also, we did it in the dark, while me mum whipped us with a belt! UPHILL! BOTH WAYS!
HA! I just wasted some of your bandwidth with a frivolous sig!
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.
Bullshit.
dd if=/dev/zero of=/dev/sda count=1000000
fdisk
Back when I was in college a bunch of my friends bought these cheap 286 boxes (in 1989 or so), only they came with no floppy and only a weird proprietary connector. They did have a 40MB hard disk with DOS on it, so they could boot but basically do nothing with it.
To help my friends I used DEBUG.EXE to write a bare-bone RS232 serial link driver in about 20 lines or assembly, complete with interrupt handler, in about 15 mn. I used it to transfer Kermit. After that it was all plain sailing.