[HN Gopher] Detecting DOSBox from Within the Box
       ___________________________________________________________________
        
       Detecting DOSBox from Within the Box
        
       Author : atan2
       Score  : 48 points
       Date   : 2026-04-17 16:13 UTC (6 hours ago)
        
 (HTM) web link (datagirl.xyz)
 (TXT) w3m dump (datagirl.xyz)
        
       | tombert wrote:
       | It never really occurred to me that you'd _want_ to be able to
       | detect if something is running in DOSBox, since I figured that
       | the point was to be as compatible as possible with MS-DOS.
       | 
       | I guess it makes sense to try it anyway. Now I'm wondering how
       | I'd be able to detect something like Concurrent DOS or REAL/32 or
       | REAL/NG.
        
         | rwmj wrote:
         | Testing if you're running under virtualization or emulation is
         | a whole thing. We wrote virt-what to do this for virt and
         | containers. It could do emulators as well if someone was
         | motivated enough. It's basically a giant shell script.
         | https://people.redhat.com/~rjones/virt-what/
         | 
         | There's also an adversarial aspect to this. Some emulators try
         | to avoid detection and a lot of software tries to detect if
         | it's running under virt for various reasons, eg. to stop
         | cheating in games or stop reverse-engineering. (virt-what is
         | deliberately not adversarial, it's very easy to "trick" it if
         | you wanted to do that)
        
           | tombert wrote:
           | Makes sense; when I was doing WGU they explicitly forbid
           | virtual machines, which makes enough sense since if you're in
           | a VM they can't see your full screen. It wouldn't surprise me
           | if nowadays they have some sort of software detector to see
           | if you're in a VM.
        
             | ErroneousBosh wrote:
             | > when I was doing WGU they explicitly forbid virtual
             | machines,
             | 
             | What's WGU in this context?
             | 
             | > which makes enough sense since if you're in a VM they
             | can't see your full screen
             | 
             | Presumably they can't also see the screen of another
             | device...
        
               | tombert wrote:
               | Sorry, Western Governors University. It's an online
               | school.
               | 
               | When taking a test they have a proctor that's watching
               | you on a webcam, and they make you pan the webcam around
               | the room to ensure that there's no obvious way to cheat,
               | and they make you share your screen to ensure you only
               | have a browser running.
        
               | ErroneousBosh wrote:
               | > and they make you pan the webcam around the room to
               | ensure that there's no obvious way to cheat, and they
               | make you share your screen to ensure you only have a
               | browser running.
               | 
               | Well that level of intrusiveness would just make me come
               | up with something overly complicated just so I could
               | prove that I could cheat if I wanted.
        
               | bombcar wrote:
               | The proctors are bored college students or similar - you
               | don't have to do much to defeat it.
               | 
               | They just want to make it difficult enough to catch most.
        
               | tombert wrote:
               | I think it's more about just trying to keep honest people
               | honest. I could think of a dozen or so ways that I could
               | have cheated, some more convoluted than others, but it's
               | enough effort to where I don't seriously consider it, and
               | I did all my exams legitimately.
               | 
               | That's why they make you share your screen; obviously
               | there's plenty of ways to fool that but the goal is to
               | make it so that cheating requires enough effort to where
               | it's probably less effort just to study and do it right.
        
               | ButlerianJihad wrote:
               | When I took final exams or industry certifications, I
               | reported in-person to the Testing Center at community
               | college. The center is custom built for secure proctoring
               | exams. You check in with ID, you stash your watch, phone
               | and wallet in a locker, and you use a secure computer in
               | a monitored quiet room.
               | 
               | It's perfect for all parties, and doesn't intrude on your
               | personal living space or devices.
        
             | eek2121 wrote:
             | There are detectors for VMs, and modifications to allow VMs
             | to evade those detectors. It's an arms race.
             | 
             | Example: There is (was? I don't actively follow the
             | community) a patch set for a particular piece of VM
             | software that made it undetectable to anti-cheat in games.
             | 
             | While I don't use said software (I have a casual interest
             | in it only...would be nice to get more games working on
             | Linux), I have to disclose that I'm against anti-cheat
             | mechanisms. I'm a software engineer, and I've worked on a
             | few smaller games, and know the overall structure of bigger
             | ones, and I don't think I've ever seen a game use good
             | practices in multiplayer. Instead, they usually rely on
             | client side code and lean on anti-cheat software to stop
             | cheaters.
        
         | AshamedCaptain wrote:
         | For me the opposite. I would have never though that there would
         | be a point to trying to "detect" DOSBox since it would be
         | trivial to do so. After all, DOSBox is not really designed to
         | run MS-DOS, but its own DOS-like thing, and there must be a
         | million small details that you can use to distinguish it from
         | MS-DOS, if you really wanted to. I mean, the default filesystem
         | is not even FAT...
         | 
         | _Even_ if you run the MS-DOS kernel in DOSBox, the builtin DOS
         | literally leaks through in many places (e.g. many API services
         | still available instead of crashing), with only some of the
         | more recent forks even trying to hide it.
        
           | anthk wrote:
           | DOSBox-X might fake it well enough.
        
             | bombcar wrote:
             | I encountered this and hadn't realized that DOSBox's main
             | goal was to play games - and that lots of "non game things"
             | didn't work. But DOSbox-X covered some; I ended up running
             | DOS 5 in VMware.
        
       | Dwedit wrote:
       | The other way to detect DosBox is a one line Qbasic program PRINT
       | VAL("5").
       | 
       | If it's a 64-bit build made using Visual Studio, you get
       | 4.99999999999. Visual Studio doesn't support legacy 80-bit
       | floating point math for that target. Visual Studio also does not
       | support inline assembly to let you make use of the legacy 80-bit
       | floating point instructions.
       | 
       | But if you set the CPU core to "Dynamic", then you get the proper
       | value of "5". Or if you use the MingW builds, those also support
       | 80-bit floating point math and give the correct value of "5".
       | 
       | It is quite embarrassing to ship a CPU emulator with broken
       | floating point math as the default.
        
       ___________________________________________________________________
       (page generated 2026-04-17 23:01 UTC)