Easy-to-use free disassembler with a simple interface design



  -  594.96 KB  -  Freeware
  • Latest Version

    W32DASM 8.93 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    Windows (All Versions)

  • User Rating

    Click to vote
  • Author / Product

    URsoftware / External Link

  • Filename


  • MD5 Checksum


W32DASM is fully-featured code management and executable disassembler tool that can help users with moderate to experienced programming knowledge to reverse engineer compiled code, take complicated files apart and discover the inner secrets of original programming that enabled the target app to work.

This tool relies on the use of a low-level programming language called assembly language (asm) to discover all the connections between compiled code and machine code instructions that are powering the computation ability of modern CPUs that power our home and business PCs. By observing the way the target application is talking with the CPU, it can detect all of their interactions and translate machine language queries back into the assembly language. These observations can help programmers to learn the inner functions of unknown software, reverse-engineer its source code, and find out how it all works.

It has a built-in support for disassembling code of wide variety of files, including formats such as .exe, .386, .com, .cpl, .dll, .drv, .fon, .mpd, .ocx, .vbx and .vxd.  During and after the disassembly procedure, users are encouraged to save their findings and create projects that can be resumed at a later time. The app can easily handle 32-bit disassembled executable files of all sizes.
  • Disassembles Both 16 and 32 Bit Windows Programs
  • Displays for Exports, Imports, Menu, Dialog, and Text References
  • Integrated Debugger for 32 Bit Programs (16 Bit Debug Not Available)
  • Includes Text Search and Navigation Functions
The user interface of the app is intuitive, but it is crowded with a large amount of machine language monitoring and disassembled code tools. To streamline the process of the disassembly, developers of W32DASM from the software house URsoftware have included helpful tools such as Search function, smart implementation of instruction pointers, break/load DLLs, thread creation/exit monitoring, execution of jumps and calls, examining of data objects and segments in a hexadecimal display, and even searching of function lists that can be imported/exported. The app is not directly configurable (even keyboard shortcuts are fixed), but it at least supports the ability to change its main font.

W32DASM is an old application that is not actively upgraded anymore, but it still provides extensive toolset needed to accurately and reliably disassemble and reverse-engineer compiled code. It is 100% FREE and can be used on all versions of Windows OS (due to its age it is not optimized for newer versions of Windows, but the app works fine even on Windows 10 and Windows 11).

  • W32DASM 8.93 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    W32DASM 8.93 Screenshot 1
  • W32DASM 8.93 Screenshot 2
  • W32DASM 8.93 Screenshot 3
  • W32DASM 8.93 Screenshot 4

What's new in this version:

- Fixes for MMX and certain 32 and 16 bit instruction decodes
- Added Code Patcher Assembler Feature (See Tutorial 11.0 in help file)
- Added change indicators to the CPU registers and flag displays:
-- CPU Register that change value from last instruction execute appear as CAPITAL LETTERS ie eax -> EAX
-- CPU flags that changed from last instruction appear as HIGHLIGHTED text
- Added checkbox to force all rep instructions to "STEP THRU" even in "STEP INTO" mode
- Added enable/disable "Command Line Option Dialog Box" in Debugger Options
- Added "LPSYSTEMTIME" decode in API Details logic
- Undocumented New Feature: All Call and Jump Cross Reference Addresses may be "jumped to" by double right clicking on the reference address. To return to the reference, press F12.
- Undocumented New Feature: There is a new button on the Lower Left Hand Debugger Window Display2 that is called "oper". This button will put the Display 2 Window in a mode that will give computed values of the operand/s of the current instruction.