Future Vision Logo (go to home page)

UILM

back to the home page

Program Information Download Legal Stuff Programming Details

UILM Info

UILM is the abbreviation for User Interface Loadable Module (some kind of extension or plug in). These modules be loaded from within the user interface of Intruder. They can be executed automatically, by pressing an internal or external hot key or/and they can be linked to a chain of modules which are called from inside of the integrated debugger instead of disassembling the code. This way it's very easy to improve the performance of Intruder and to implement functions Intruder doesn't support itself. After all it is easy to create your own modules.

Actually UILMs are COM-files using a special header which contains some information for Intruder. The format of this header can be found in Intruders help file. If you don't have the help file yet you can get it here. just a label

back to top

Download UILMS

Conditional Breakpoints (1997 by Future Vision): This UILM is for enabling conditional breakpoints. That means first any breakpoint can be skipped some times before Intruder will be entered and second some register conditions that have to be met can be defined.

Download CBRKPNT.ZIP (7kB)

Support for the dos extender by Doug Huffman (1997 by Future Vision): This UILM is able to detect the dos extender by Doug Huffman and enables protected mode debugging by initializing the descriptor tables (plain real mode only).

Download DHUFEXT.ZIP (4kB)

Dirty page frames (1997 by Future Vision): This UILM scans for dirty frames in the current page table, adds them to the memory analysis array or stores them into the address and data table. You can imagine that this works great with the memory analysis, because in this way it is easy to include only modified memory in the analysis array.

Download DIRTYPG.ZIP (7kB)

File view (1997 by Future Vision): This is a quick and dirty file viewer for text and hex files in form of an UILM. External and internal hot keys are supported.

Download FILEVIEW.ZIP (6kB)

FPU code generator: This UILM translate the FPU emulation interrupts to the actual fpu code whenever the current debug address inside the integrated debugger reaches one of the emulation interrupts. These interrupts are used by the floating-point emulators in Borland and Microsoft languages and Lahey Fortran.

Download FPUCODE.ZIP (3kB)

Interrupt help (1996 by Future Vision): This UILM is an internal help viewer for the great interrupt list by Ralf Brown. Whenever an interrupt instruction appears in the integrated debugger the UILM takes the current register contents and display the corresponding interrupt function. Both ZIP-files contain a compiler to generate the index file used by this UILM. If you already have the interrupt list you don't need to download it again.

Note: We won't spread the interrupt list in this incomplete version. If you want to get the entire package search for files that have a name like INTERxxy.ZIP, where xx stands for the version number (53+) and y for the volume (a,b,..).

Download INTHELP0.ZIP - a version including a compiled interrupt list (1.204kB)

Download INTHELP1.ZIP - a version without a compiled list (20kB)

TSS-I/O breakpoints (1997 by Future Vision): This UILM is able to emulate I/O breakpoints by modifying the TSS-I/O-permission bitmap of the installed memory manager. In this way it is possible to monitor I/O instructions and to enter Intruder in the same way you could do it by any other breakpoint. This works fine as long as the descriptor tables and the task state segment are not hidden. Of course this works only in v86 mode.

Download IOBRKPNT.ZIP (7kB)

Intruder online help (1996 by Future Vision): This UILM allows to view Intruders online help form inside the debugger and from external programs by pressing a hot key. If you don't have Intruders help file follow this link.

Download OHELP.ZIP - online help (3kB)

Opcode help (1996 by Future Vision): This UILM works similar to the Interrupt help. In the integrated debugger it displays information about the currently selected opcode. In detail that means you can see the opcode encoding, timing, possible faults and a short description of what the opcode does.

Download OPCHELP.ZIP - opcode help (7kB)

Program structure analysis (1997 by Future Vision) This UILM is for analysing the structure of interrupted programs. It monitors jumps in the program execution, interrupts and subroutine calls of the interrupted program and writes these information to a swap file on the disk. Later these data can be analysed by an external program.

Download PRGSTRUC.ZIP - program structure (8kB)

The following program is an example, how the external analysis can be done. It compares the data of two different analysis files and marks all differences found. Actually this program has been written for our personal use.

Download PSA.ZIP (4kB)

UHS file viewer (1997 by Future Vision): This is a quick and dirty viewer for UHS files. The original concept of the UHS has been created by Jason Strautman. Support for external hot keys only. If you want to get some UHS files look for files with the extension UHS. (Ahh!) You can find them on nearly every FTP-server.

Download UHS.ZIP - UHS viewer (8kB)

just a label

back to top

Legal Stuff

UILMs are freeware. That means you can distribute and use the modules as long as you:

  • do not change the distribution file or any part of it
  • do not use it for commercial purposes or 'earning money' in general
  • do not reengineer or disassemble any part of the program
Anyway we'd appreciate it if you'd send us an email to tell us your opinion about the modules and what should be improved. just a label

back to top

Programming Details

If you want to create your own UILMs you need the help file of Intruder. The programmer notes of the help file contain all information you need. If you don't have the help file yet you can get it here.

If you have problems or questions about creating UILMs you can contact us by email. But you should note that usually our support is for registered user of Intruder only. After all you can always send us hints or suggestions.

While writing our UILMs we created an include file that contains all data structures ready for use in assembly language. Furthermore it contains macros for all the Service Interrupt functions, other useful macros, bit records and some macros for creating UILMs working in high memory. If you are interested get the following file:

Download UILMDATA.ZIP (8kB)

Additionally we created the following UILM bodies for modules in conventional and XMS memory. Download them to save some programming work writing your own UILMs. Moreover they are optimized to be used with the macro file.

Download UILMBODY.ZIP (2kB)

If you are using the include file in combination with protected or high memory calls to the Service Interrupt functions there may occur some problems when assembling your UILM. This is due to several problems of conditional assembling with the Borland Turbo Assembler. One of the problems is as follows:

ifdef     def1
label1:
endif

def1      equ       yes

          jmp       label1
Assembling this constructions the error "label not defined" will be reported. There are a lot of similar problems. Apparently TASM is not able to handle this kind of conditional assembling. However we didn't find a solution so we wrote a kind of preassembler that searches for all definition made in the ASM file. Afterwards it creates a file that contains these definitions. If the output file will be included at the beginning of your ASM file the assembling should succeed. Get the following file if you want to get our preassembler.

Download PREASM.ZIP (13kB)

The current version may work very slow because the program needs an additional pass if another definition is found. But however: It works!

back to top

back to top

fvsudden@yahoo.com

1