Version History 

Content /...
2016-08-24 madCodeHook 4.0.0 (1) added option to do "permanent" DLL injection
(2) added "STORE_THREAD_STATE" HookAPI flag
(3) added "GetStoredThreadState()" API
(4) added "RegisterUninjectCallback()" API
(5) added extended support for hooking "ordinal" APIs
(6) added "VERIFY_HOOK_ADDRESS" performance option
(7) added "DISASM_HOOK_TARGET" performance options
(8) hooks use 5-byte JMP now to improve compatability
(9) improved injection method for newly created processes
(a) improved safe unhooking counter logic
(b) "CreateIpcQueueEx" renamed to "CreateIpcQueue"
(c) added IPC "context" parameter
(d) former "SECURE_MEMORY_MAPS" option is always on now
(e) former "USE_NEW_IPC_LOGIC" option is always on now
(f) former "VMWARE_INJECTION_MODE" option no longer needed
(g) some small performance improvements and bugfixes
(h) dropped win9x and NT4 support
(i) [driver] injection method now uses APC instead of API hook
(j) [driver] dlls signed with same cert as driver are now trusted
(k) [driver] exe may uninject if exe's signature matches driver
(l) [driver] injection is now always done in "image load" event
(m) [driver] RemoveLoadImageNotifyRoutine now also works in win2000
(n) [driver] added critical sections to improve multi-thread safety
2016-08-24 madExcept 4.0.16 (1) speedup when processing "handled exceptions"
(2) fixed: some problems with x64 bpls
2016-05-19 madCodeHook 3.1.13 (1) fixed: regression could cause finalization crashes
(2) fixed: SendIpcMessage blocked if queue didn't exist
2016-05-17 madExcept 4.0.15 (1) added support for Delphi 10.1 Berlin
(2) patching doesn't change EXE/DLL file time, anymore
(3) added undocumented "DontBase64HttpUpload" variable
(4) added undocumented "HttpUploadCleanEmail" variable
2016-05-17 madCodeHook 3.1.12 (1) fixed: some chrome shutdown crashes (when debugging)
(2) fixed: hook uninstall could crash (when debugging)
(3) fixed: SAFE_HOOKING could crash after uninjection
(4) fixed: IPC reply sometimes didn't arrive (missing PID)
(5) fixed: hook stub was allocated at wrong address (x64)
(6) fixed: preferred allocation address was sometimes ignored
(7) [C++] fixed: couple of leaks in HookAPI()
(8) [driver] fixed: leaked thread handle
2016-05-17 madRemote 1.2.7 fixed: preferred allocation address was sometimes ignored
2016-03-16 madExcept 4.0.14 (1) exception box is now auto sized to show full header
(2) fixed: IDE crashes were reported as "Unknown" class
(3) fixed: weird chars stopped Mantis/BugZilla upload
(4) added undocumented "LastHttpPostReply" variable
(5) added undocumented min "ExceptionBoxWidth/Height"
(6) added "HideLeak(someCallstack)" API
(7) HTTP uploading created incompatible MailFrom field
(8) BugZilla+Mantis texts are cleaned to avoid rejection
(9) exceptbox size now supports weird window frame sizes
(a) 64bit madTraceProcess sometimes failed to find a process
2016-03-16 madCodeHook 3.1.11 (1) fixed some PAGE_EXECUTE_READWRITE security issues
(2) fixed: x64 jmp/call relocation miscalculation
(3) added hook to detect delay loaded dlls
(4) new process dll inject now always done in main thread
(5) dll injection loader lock improvement
(6) small performance improvements
(7) fixed rare crash when calling HookAPI
(8) [C++] fixed: some undocumented APIs had incorrect types
(9) [C++] fixed: ipc resource handling bug in case of failure
(a) [driver] fixed some PAGE_EXECUTE_READWRITE security issues
(b) [driver] worked around Microsoft EMET EAF complaint
(c) [driver] dll inject is now always done in main thread (win10)
(d) [driver] ntdll APIs are now located by parsing ntdll.dll file
(e) [driver] fixed conflict where alloc collided with kernel32.dll
(f) [driver] fixed: DriverVerifier made driver not load (win8 x64)
(g) [driver] fixed: some undocumented APIs had incorrect types
2016-03-16 madRemote 1.2.6 fixed some PAGE_EXECUTE_READWRITE security issues
2015-09-10 madExcept 4.0.13 (1) added support for RAD Studio 10 Seattle
(2) speeded up handling of "handled"/hidden exceptions
2015-09-10 madCodeHook 3.1.10 (1) fixed: threading issue when to-be-hooked dll is loaded
(2) fixed: some conflicts with other hook libraries (x64)
(3) improved thread protection for multiple injections
2015-09-10 madRemote 1.2.5 using official GetThread/ProcessId APIs now if available
2015-04-20 madExcept 4.0.12 (1) added support for XE8
(2) a couple of small bug fixes
2015-04-20 madCodeHook 3.1.9 (1) fixed: rare injection/hook instability bug
(2) fixed: rare IPC stability bug
2015-04-20 madRemote 1.2.4 AllocMemEx performance improvement
2015-04-20 madTools 1.3.3 (1) added detection for Windows 8.1, Windows 10 etc
(2) fixed MsgHandlerWindow atom leak
2014-10-26 madExcept 4.0.11 (1) added support for RAD Studio XE7
(2) fixed: plugins didn't work in XE6
(3) fixed: rare FPU exception crash when checking for leaks
(4) fixed: sometimes VirtualAlloc resources were incorrectly reported as leaks
(5) fixed: "send bug report in background" dialog option didn't stick
(6) fixed: madExceptWizard sometimes produced superfluous QC warning messages
(7) fixed a couple more small/rare bugs
(8) madExceptPatch.exe: speedup when parsing large map files
(9) madExceptPatch.exe: improved support for relative paths
(a) madExceptPatch.exe: added support for the new switch "/restoreFileTime"
(b) madExceptWizard: map file isn't loaded in the IDE at all, anymore
2014-10-26 madCodeHook 3.1.8 (1) fixed: RestoreCode sometimes produced incorrect code
(2) fixed: hooking ntdll in non-large-address-aware x64 processes crashed
(3) FOLLOW_JMP now follows up to 10 JMPs in a row
(4) [driver] fixed denial of service vulnerability (found by Parvez Anwar)
(5) [C++] fixed: CreateProcessEx for x64 processes sometimes failed
(6) [C++] fixed: x64 hook installation sometimes (rarely) crashed
2014-10-26 madRemote 1.2.3 fixed: XP/2003 x64: injection into 32bit processes failed
2014-05-08 madSecurity 1.2 (1) added 64bit support
(2) added full Unicode support
2014-05-05 madCodeHook 3.1.7 (1) [C++] fixed: 32bit injection problems when compiled as 32bit
(2) [driver] fixed: injection sometimes failed (win8.1)
2014-05-05 madExcept 4.0.10 (1) added support for XE6
(2) email "reply to" address is now automatically set
(3) added "replyTo" parameter to SendSmtpMail
(4) added undocumented SmtpReplyTo/SmtpPort options
(5) added support for Mantis sub projects
(6) limited Mantis OS string len to what Mantis supports
(7) added "HideInitializionLeaks" API
(8) "ExceptClass" for freezes is now reported as EFrozen
(9) added security to internal memory map sections
2014-05-05 madExceptPatcher 1.2.5 added compiler warning about incomplete BCB map infos
2014-05-05 madMapFile 1.7.2 (1) fixed rare crashes in TDS debug info parsing
(2) PDB now takes preference over MAP (if both exist)
2014-05-05 madDisAsm 2.2.4 fixed rare crash in Delphi exception block parsing
2013-12-03 madExcept 4.0.9 (1) fixed: protection failed for "TWeird.ThreadName"
(2) fixed: HTTP upload feedback didn't work, anymore
(3) fixed: BCB callstacks weren't always optimal
(4) BCB5 bug workaround to make madExcept work for dlls
(5) added new "HideLeak(TSomeObject, count)" API
(6) renamed "ThisIsNoLeak" API to "HideLeak"
2013-12-03 madCodeHook 3.1.6 (1) fixed: CreateProcessEx failed for .Net processes
(2) fixed a couple of rare crashes
(3) [C++] added separate "madCHook64md" and "madCHook64mt" static libs
(4) [driver] fixed: injection in Vista x64 sometimes failed
2013-12-03 madCompileBugReport 1.1.1 fixed column alignment problems
2013-12-03 madZip 0.2.1 added workaround for Delphi x64 compiler bug
2013-10-07 madExcept (1) fixed bug in TThread handling (introduced in 4.0.8)
(2) fixed BCB callstack bug in try..catch blocks
2013-10-01 madCodeHook 3.1.5 (1) added XE5 support
(2) added support for Windows 8.1
(3) improved FOLLOW_JMP implementation
(4) [driver] revert aligned UNICODE_STRING (compatability problems)
(5) [driver] fixed injection problem caused by StormShield fix
2013-10-01 madExcept 4.0.8 (1) added support for XE5
(2) added madTraceProcess64
(3) added "largest free block" header info
(4) fixed a couple of weird bugs
2013-10-01 madExceptWizard 3.1.4 (1) added XE5 support
(2) patching is now always moved to madExceptPatch tool
(3) slower smtp/http upload auto check timer
2013-10-01 madExceptViewer 1.0.3 newest bug report is now listed on top
2013-10-01 madRemote 1.2.2 added IsAdminAndElevated function
2013-10-01 madDisAsm 2.2.3 added detection for "_CxxThrowException"
2013-05-13 madCodeHook 3.1.4 (1) added support for XE4
(2) fixed: IPC in Metro apps only worked without replies
(3) fixed: win9x hooking eventually crashed
(4) fixed: FOLLOW_JMP eventually modified export tables
(5) fixed: UNICODE_STRING in internal structure was not aligned properly
(6) "driver only" injection now works without admin rights (if driver is already installed and running)
2013-05-13 madExcept 4.0.7 (1) added support for XE4
(2) fixed: empty bug reports were saved/sent
(3) fixed: class type exceptions were not handled correctly
(4) fixed: leak reporting changed FPU control word
2013-05-13 madExceptPatcher 1.2.4 fixed: patching inside IDE could fail if RAM was low
2013-03-13 madCodeHook 3.1.3 (1) fixed: injecting multiple 32bit dlls in x64 OS crashed
(2) fixed: uninjecting DLL twice at the same time crashed
(3) fixed: IPC messages sometimes contained wrong session id
(4) fixed: incompatability with MSVC++ 2012 on Windows 8
(5) added support for csrss injection in Windows 8
(6) added new FOLLOW_JMP flag for HookAPI/Code
(7) fixed crash when hooking system APIs in x64 MSSQL
(8) [delphi] fixed: 64bit injection crash when using Delphi XE2/3
(9) [driver] fixed: Verifier blue screens when using ex/include lists
(a) [driver] fixed: closing processes in x64 OSs sometimes froze
(b) [driver] fixed: injection failure with MSVC++ 2012 hook dlls
2013-03-13 madExcept 4.0.6 (1) IMEException.ThreadIds/.Callstacks properties added
(2) IMEException.ExceptionRecord property added
(3) added SetDebugMmAlignment API
(4) fixed Mantis automation for latest Mantis version
(5) fixed Armadillo x64 incompatability
(6) improved callback parsing for exception box
(7) fixed: custom RaiseExceptionProc callbacks didn't work
(8) undocumented option "ShowOuterExceptDetails" added
(9) fixed freeze when asking BugReport in epCompleteReport
2013-03-13 madMapFile 1.7.1 (1) added ImportMapFile
(2) fixed: map cache failed when dll base address changed
2013-02-13 madNVAssistant 1.1.1 INVEdit.Optional property is now writable
2013-01-10 madExceptViewer 1.0.2 "Ctrl+C" now copies the selected bug report to clipboard
2012-09-05 madCodeHook 3.1.2 (1) added support for Metro (AppContainer integrity) apps
(2) fixed: uninjection crash in w2k3 error reporting service
2012-09-05 madExcept 4.0.5 added support for XE3
2012-09-05 madExceptPatcher 1.2.3 fixed: reading custom icons from me3 mes files failed
2012-09-05 madDisAsm 2.2.2 added support for "TryRead"ing PAGE_EXECUTE memory
2012-09-05 madTools 1.3.2 added unmangle support for XE3 x64 package export names
2012-08-20 madCodeHook 3.1.1 fixed: crash in CreateProcessEx (32bit)
2012-08-20 madExcept 4.0.4 (1) fixed: crash when exception class leak was detected
(2) fixed: crash when using MESettings with ME disabled
(3) URL redirection is now ignored when checking server
2012-08-02 madCodeHook 3.1.0 (1) added support for XE2 x64
(2) improved internal LoadLibrary hook reliability
(3) fixed Windows 7 Driver Verifier complaint
(4) fixed: x64 RtlCreateUserThread solution crashed in win7
2012-08-02 madRemote 1.2.0 added support for XE2 x64
2012-07-18 madExcept 4.0.3 (1) improved leak reporting performance and reliability
(2) extended/improved leak runtime API once more
(3) added support for Ansi/WideStrAlloc leak checking
(4) x64 stack tracing is now only done when needed
(5) TLS now defaults to port 25 when no user name is set
(6) improved internal CreateThread hooked reliability
(7) added workaround when temp folder isn't available
(8) added undocumented "SmtpTimeout" variable
(9) added patch to fix BCB XE/XE2 RTL bug
(a) fixed: x64 crash when dll+exe share exception object
(b) fixed: possible init crash when using madExcept_.bpl
(c) fixed: exception box had problems with unicode message
(d) fixed: except box couldn't handle missing callstack
(e) fixed: file handle leak in Smtp sending
(f) fixed: Smtp Server sending didn't always work
(g) fixed: http upload redirection didn't work
2012-07-03 madExceptViewer 1.0.1 (1) fixed UTF8 bug when loading madExcept 3 bug reports
(2) improved performance when loading very big reports
(3) added "DontSaveNewLeakReport" registry tweak
2012-07-03 madStackTrace 2.2.1 x64 stack tracing is now only done when needed
2012-07-03 madExceptWizard 3.1.2 in BCB "#pragma package(smart_init)" is added now
2012-07-03 madExceptPatcher 1.2.2 (1) added support for Ansi/WideStrAlloc leak checking
(2) fixed icon related crash
2012-07-03 madNVPrgrAlert 1.1.1 fixed bug in progress box position code
2012-07-03 madDisAsm 2.2.1 improved TryRead performance and reliability
2012-07-03 madStrings 1.7.1 fixed: IntToStrEx(cardinal) was output as integer
2012-07-03 madTools 1.3.1 added UIPI workaround to MsgHandler functionality
2012-06-12 madExcept 4.0.2 (1) added eaSend/Save/PrintBugReport3 events
(2) extended leak runtime API
(3) fixed: SMTP mailing sometimes failed
(4) fixed: a couple of bugs
(5) added FireMonkey support (Windows only)
2012-06-12 madExceptWizard 3.1.1 (1) added auto managed "LeakChecking" conditional define
(2) fixed: crash in settings dialog
(3) added hint to settings dialog's SMTP error icon
(4) FogBugz/Mantis now support "assign to noone"
(5) config dialog: added option to turn off "unicode hack"
2012-06-12 madExceptPatcher 1.2.1 (1) added support for FireMonkey
(2) fixed Utf8 related problem
2012-06-12 madTypes 1.5.1 improved (Mad)Exception class logic
2012-06-12 madCodeHook 3.0.4 fixed: CreateProcessEx didn't always work in XP64
2012-05-21 madExcept* 4.0.0 (1) *all units: added support for XE2 x64 compiler
(2) *all units: added full unicode support
(2) added SSL and TLS SMTP client mailing
(3) added SSL HTTP uploading
(4) added FogBugz, BugZilla and Mantis reporting
(5) added option to conform to Windows Logo requirements
(6) added extensive memory and resource leak reporting
(7) added debug memory manager
(8) added support for nested exceptions
(9) added new "madExceptViewer" tool
(a) lots of smaller improvements
2012-05-21 madCodeHook 3.0.3 (1) added support for Windows 8
(2) fixed chrome sandbox uninjection problems
(3) fixed uninjection memory leak
(4) improved 64bit injection into already running processes
(5) RENEW_OVERWRITTEN_HOOKS can now also affect new hooks
(6) [driver] fixed x64 crash in Get(System)ModuleHandle
(7) [C++] added support for non-large-address-aware x64 processes
(8) [C++] fixed bug in CopyFunction
(9) [C++] fixed unhook memory leak
(a) [C++] fixed CCollectCache memory leak
(b) [C++] fixed small bug in CCodeParse register tracking
(c) [C++] improved 64bit injection thread safety
2012-04-04 madMapFile 1.7.0 added support for pdb files
2012-04-04 madDisAsm 2.2.0 completed x64 support
2012-04-04 madStrings 1.7.0 most functions are now available as xxx, xxxA and xxxW
2012-04-04 madGraphics 1.1.0 fixed bug in GrayScale function
2012-04-04 madRes 1.1.0 added support for 64bit exe/dll files
2012-04-04 madBasic* 1.2.0 (1) *all units: added support for XE2 x64 compiler
(2) *all units: added full unicode support for all Delphi versions
2012-04-03 madExcept 3.0o (1) added %desktop%
(2) restart application now restores the same working dir
(3) added undocumented "SmtpComputer" and "WasRestarted"
(4) fixed a couple of small bugs
2012-04-03 madExceptWizard 3.0k improved project auto config for newer Delphi versions
2012-04-03 madDisAsm 2.2 completed x64 support
2012-04-03 madRes 1.1 (1) added support for Delphi/BCB x64
(2) added support for 64bit exe/dll files
2012-04-03 madStrings 1.7 (1) added x64 support
(2) most functions are now available as xxx, xxxA and xxxW
2012-04-03 madTools 1.3 (1) added x64 support
(2) most functions are now available as xxx, xxxA and xxxW
2012-04-03 madTypes 1.5 added x64 support
2012-04-03 madZip 0.2 added x64 support
2012-04-03 madCrypt 1.3 added x64 and unicode support
2012-04-03 madGraphics 1.1 (1) added x64 support
(2) fixed bug in GrayScale function
2012-04-03 madBasic 1.7 added x64 and unicode support
2012-04-03 madLists 1.2 added x64 and unicode support
2011-10-03 madExcept 3.0n (1) fixed: debugger exception in some BDS versions
(2) IMEException.BugReportFile is Unicode now
(3) IMEAttachments "originalFile" parameter is Unicode now
(4) bugreport is autom. saved to %userappdata%, if necessary
(5) fixed: callstack problem when using BCB, ulink + dyn RTL
(6) Delphi XE2 support
2011-10-03 madExceptWizard 3.0j (1) fixed bug with "Build All" in BDS 2010/XE
(2) Delphi XE2 support
2011-10-03 madMapFile 1.6m Delphi XE2 support
2011-10-03 madExceptPatcher 1.1f Delphi XE2 support
2011-09-08 madCodeHook 3.0.2 (1) make HookLoadLibrary work even if LoadLibraryExW is hooked
(2) fixed crash in XP/03 x64 when uninjection a non-existing dll
2011-07-25 madSecurity 1.1t added workaround for Windows bug (remark gets deleted)
2011-05-20 madNVBitmap 1.0e INVBitmap.SaveBmp/Png are Unicode now
2011-05-20 madRemote 1.1j fixed little bug in CopyFunction
2011-03-27 madCodeHook 3.0.1 (1) CreateGlobalFileMapping: LastError value is now restored
(2) (Un)InjectLibraryA: improved ansi string conversion
(3) added IsInjectionDriverInstalled/Running
(4) added UninjectAllLibraries
(5) added SetInjectionMethod
(6) improved injection driver APIs' GetLastError handling
(7) small change to make (un)injection slightly more stable
(8) fixed win9x injection crash
(9) sped up first HookAPI call
(a) modified internal LoadLibrary hook (win7) once again
(b) added SetInjectionMethod API
(c) added UninjectAllLibrariesA/W API
(d) added special handling for "wine"
(e) increased default internal IPC timeout from 2s to 7s
(f) [driver] fixed: upper case incl/excl lists made problems
(g) [driver] added native API signatures used by XPSP0 and XPSP1
(h) [driver] GetModuleHandle is no longer case sensitive (w2k fix)
(i) [driver] injection into wow64 processes improved (Vista and newer)
(j) [driver] added a few new user mode IOCTLs
(k) [driver] added some injection tweaks to improve stability
(l) [C++] added workaround for XP/2003 wow64 bug
(m) [C++] fixed: crash when injecting wow64 from 32bit + 64bit exe
(n) [C++] fixed: non-admin users sending IPC messages didn't work
(o) [C++] wow64 (un)injection now includes static link trick
(p) [C++] fixed format ansi/wide mismatch in various cpp files
(q) [C++] fixed bug in rip relative code copy
(r) [C++] added support for 3 byte nop instruction (0f 1f)
(s) [madConfigDrv] "-safeStopAllowed" wasn't stored correctly
(t) [mchEvaluation] fixed: evaluation stopped working in Vista + Windows 7
2011-03-27 madExcept 3.0m (1) fixed: "%exceptClass/Msg%" were not always resolved
(2) made IMEException.ExceptMessage writable
(3) fixed: SendShellMail didn't work with Delphi 2009/2010
(4) improved "GetCrashStackTrace" result quality
(5) fixed bug in WM_SYSCOMMAND handling
(6) improved BCB stack tracing quality
(7) improved dll unloading stability
(8) changes to make MS verifying happy for dll projects
(9) private threads are named in the IDE debugger now
2011-03-27 madExceptWizard 3.0h (1) added support for Delphi/BCB XE
(2) fixed project group handling bug (BDS 2010+)
(3) added detection for IntraWeb "IWHTTPServer" unit
(4) fixed bug in plugin manager
2011-03-27 madExceptPatcher 1.1e if binary is in use, patching is retried multiple times
2011-03-27 madMapFile 1.6l (1) fixed: Delphi 2010 TD32 infos were ignored
(2) fixed: Delphi XE TD32 infos were not read properly
2011-03-27 madPluginMan 1.0c support for Delphi 2009 + 2010 + XE added
2011-03-27 madSecurity 1.1s fixed small memory leak
2011-03-27 madTools 1.2w (1) added GetFileVersionStr
(2) added special handling for "wine"
2011-03-25 madRes 1.0l BeginUpdateResource now refuses to open UPX compressed files
2011-03-21 madNVPrgrAlert 1.0b fixed bug in WM_SYSCOMMAND handling
2010-07-26 madDisAsm 2.1i (1) fixed: x64 disasm output "push rax" instead of "push r8"
(2) added support for 3 byte nop instruction (0f 1f)
2010-03-29 madDumpObj 1.0b added support for Unicode string properties
2010-03-25 madShell 1.3r added support for desktop icon positions for newer OSs
2010-01-10 madCodeHook 3.0.0 (1) added full support for 64bit OSs
(2) DLL injection APIs changed
(3) injection driver control APIs added
(4) process black & white lists for DLL injection added
(5) (Un)InstallMadCHook replaced by driver injection APIs
(6) Is64bitOS added + Is64bitProcess exported
(7) CreateProcessEx now works for 64bit processes
(8) ProcessIdToFileName modified and unicode version added
2010-01-07 madCodeHook 2.2l (1) privileges stay untouched in hook dlls (win 7 stability)
(2) fixed: some allocation was still done at 0x5f040000
(3) fixed: internal bug in CollectCache
(4) modified LoadLibrary hook for Windows 7
2010-01-07 madRemote 1.1i improved CreateRemoteThreadEx
2010-01-07 madDisAsm 2.1h some changes for improved Windows 7 support
2010-01-07 madExcept 3.0l (1) fixed bug in SendShellMail
(2) all "hidden" callbacks are now always called
"handled" only defines whether mE gets active afterwards
(3) added support for UTF8 resource strings
(4) added %computerName%
2009-11-09 madZip 0.1k added unicode file functions
2009-10-06 madMapFile 1.6k added undocumented function "GetMapFileAddress"
2009-09-30 madZip 0.1j fixed: file routines didn't always report errors properly
2009-09-15 madExcept 3.0k Delphi/BCB 2010 support added
2009-09-15 madCodeHook 2.2k (1) fixed: DLL inj failed when some native APIs were hooked
(2) fixed: SendIpcMessage sometimes failed in Windows 7
(3) moved allocation from $71700000 to $71b00000 (msys bug)
(4) fixed: LoadLibrary hook eventually crashed in x64 OSs
(5) DONT_TOUCH_RUNNING_PROCESSES now only affects injection
2009-09-14 madDisAsm 2.1g fixed: cleartext instruction labels were sometimes wrong
2009-08-02 madZip 0.1i fixed: (de)compression of >4GB files didn't work properly
2009-07-22 madCodeHook 2.2j (1) other libs' hooks are not overwritten by default, anymore
(3) RestoreCode added
(4) DLL injection thread now always uses 1MB stack size
2009-07-21 madExcept 3.0j (1) added %exceptClass%
(2) only exe modules hook/protect new threads by default now
(3) added HookThreads/DontHookThreads to overwrite default
(4) undocumented OnExceptBoxDestroy callback added
(5) fixed: in certain situations bug report wasn't saved
2009-07-21 madListProcesses 1.0b added gdi/user object count
2009-07-21 madIWSupport 1.0e added support for Delphi/BCB 2009
2009-07-14 madDisAsm 2.1f fixed: cleartext disassembly missed instruction labels
2009-07-14 madKernel 1.3l fixed: some methods failed "not all replace pointers found"
2009-07-14 madTools 1.2v added osWin2008, osWin7, osWin2008r2
2009-07-13 madStrings 1.6a fixed bug in unicode PosPChar function
2009-06-18 madZip 0.1h fixed: (de)compression of >2GB files didn't work properly
2009-02-11 madMapFile 1.0c fixed problem when mad and map file both existed
2009-02-11 madCompileBugReport 1.6j added parameter "onlyAcceptMadFile" to LoadMapFile
2009-02-09 madExcept 3.0i fixed hang when madExcept enabled dll got unloaded
2009-02-09 madCodeHook 2.2i (1) added new option "DONT_TOUCH_RUNNING_PROCESSES"
(2) added new option "DONT_RENEW_OVERWRITTEN_HOOKS"
(3) fixed "USE_EXTERNAL_DRIVER_FILE": driver got deleted
2009-02-09 madDisAsm 2.1e made CopyFunction more robust against mixture mode hooks
2009-02-09 madTools 1.2u added some unicode function overloads
2009-02-09 madTypes 1.4d char/string -> changed to Ansi/Wide
2009-02-09 madZip 0.1g "Zip" supports unicode file names now
2009-02-09 madStrings 1.6 made most functions available for unicode strings
2009-02-09 all units *.* Delphi 2009 support
2008-03-10 madExcept 3.0h (1) added undocumented option "CloseAppExitCode"
(2) BugReportFile path is now also used for manual saving
(3) sometimes attached "bugreport.txt" was not up to date
(4) HTTP upload: MailSubject/Body/Address fields are set now
2008-03-03 madCompileBugReport 1.0b sometimes the right mad file was not found
2008-02-18 madCodeHook 2.2h fixed DEP issue introduced with version 2.2f
2008-01-19 madExcept 3.0g (1) %userappdata% and %commonappdata% added
(2) exception in Delphi 2007 debugger fixed
2008-01-19 madCodeHook 2.2g fixed exception introduced with version 2.2f
2008-01-14 madExcept 3.0f (1) fixed "compiled with" bug report header information
(2) "CMadExceptVersionNumer" constant added for {$ifdef} use
(3) undocumented function "GetThreadCreatorAddr" added
(4) undocumented functions "GetCrash/ThreadStackTrace" added
(5) online check (pinging google) is disabled by default now
(6) improved support for relative file names (attachments)
(7) internal threads got names now, helps during debugging
(8) "date/time" bug report header field is more exact now
(9) character "'" is allowed in email addresses now
(a) old screenshot file is deleted before new one is saved
(b) screenshot file is now deleted after bug report sending
2008-01-14 madExceptWizard 3.0e (1) support for BCB2007 added
(2) double click in callstack on "db.pas" didn't work
(3) multiple plugins in one mep file was problematic
2008-01-14 madExceptPatcher 1.1c fixed big memory leak during patching
2008-01-14 madPluginMan 1.0b support for Delphi 2007 added
2008-01-14 madCodeHook 2.2f (1) new function "SetMadCHookOption" added
(2) stability check was too careful with UPXed module
(3) SeTakeOwnershipPrivilege is not enabled, anymore
(4) improved cooperation with other hooking libraries
- internal LoadLibrary hook modified to avoid conflicts
- when unhooking fails, stability is still maintained
(5) hooking unprotected (writable) code sometimes failed
2007-09-10 madRemote 1.1g Vista: Process/ThreadHandleToId now work for non-admin users
2007-05-28 madCodeHook 2.2e IPC works in Vista64 now, too
2007-05-28 madKernel 1.3j another Vista bugfix
2007-05-21 madExcept 3.0e (1) Ctrl-C support added to exception box
(2) improved BCB IntraWeb support
2007-03-28 madExceptWizard 3.0d support for D2007 ".dproj" added
2007-03-28 madExcept 3.0d (1) action events "eaSend/Save/PrintBugReport2" added; these events are fired *after* the assistants were shown
(2) new action event "eaHelp" fires when user presses F1
(3) 2003 SP1 changed internal critical section structure
(4) SMTP to multiple receivers: subject line got cryptical
(5) "save bug report" button now always shows file dialog
(6) default directory for "save" file dialog is desktop now
(7) GetExceptBoxHandle + SetTopmost functions added
(8) "compiled with" field added to bug report header
2007-03-28 madCodeHook 2.2d (1) incompatability with ZoneAlarm AV / Kaspersky fixed
(3) Vista ASLR incorrectly triggered mixture mode
2007-01-31 madRemote 1.1f incompatability with ZoneAlarm AV / Kaspersky fixed
2007-01-14 madKernel 1.3i some IHandle/IKernelObj bugs fixed
2006-11-28 madExcept 3.0c (1) bug in IMEAttachments.Delete fixed
(2) minor change to improve stack overflow catching
(3) some http uploading bugs fixed
(4) "MESettings.Reload" reloads the madExcept settings
(5) %appversion% and %modversion% added
(6) support for C++ Builder 2006 dynamic RTL added
(7) IDE exception catching sometimes used incorrect settings
(8) "save bug report" dialog default extension is now set
(9) little bug in CloseHandleExceptionThread fixed
(a) Registered Owner/Organzation added to bug report header
(b) UPX fix is applied to madExcept enabled BPLs now, too
(c) new parameter "dontCompleteYet" added to NewException
(d) ISAPI logging didn't work
(e) exception box details look better in 256 colors now
(f) some little improvements for madTraceProcess
(g) plugins can now fill the header columns by using "^"
(h) ListThreads now affects NewException(dontCompleteYet)
(i) new options "DontUseProxy", "NoOnlineCheck", "ForceUtf8"
(j) stack trace improvement for AVs on "strange" addresses
(k) official Vista support
(l) line breaks in exception messages confused except box
(m) process list "session id" column was missing
(n) online check is more reliable now
(o) madExcept attemps to go online, if necessary
2006-11-28 madCodeHook 2.2c (1) endless recursion protection for tool functions
(2) some first changes for 64bit OS support
(3) Get/SetLastError value for LoadLibrary was destroyed
(4) "MixtureCache" renamed to "CollectCache"
(5) CollectHooks improves performance even more now
(6) improved performance in internal LoadLibrary hook
(7) little bug in dll injection fixed
(8) official Vista (32bit) support added
2006-11-28 madKernel 1.3h (1) GetHandleTableNt doesn't work in 64bit OSs
(2) IProcess.ExeFile improved (when exe file is renamed)
(3) ITrayIcon.Rect improved
(4) Vista crashes fixed
2006-11-28 madTools 1.2t (1) limited support for 64bit modules added
(2) "OS" detects Vista, Media Center, x64, etc
2006-09-12 madIWSupport 1.0d special handling when AAplication is not initialized yet
2006-09-11 madDisAsm 2.1d (1) another little bug in ParseFunction fixed
(2) several little bugs in cleartext disasm fixed
(3) support for SSE3 added
(4) limited support for 64bit modules added
(5) some preparation for 64bit disassembling
(6) minimal debug info only: function names were missing
2006-09-11 madNVBitmap 1.0c (1) grayscale pngs were sometimes distorted
(2) snapshot: TApplication window is now ignored
(3) snapshot: areas covered by other windows are now ignored
2006-09-07 madShell 1.3p (1) IShellObj.GetIcon improved
(2) winFolder improved when run on TerminalServer
(3) UnregisterShellEvent always returned false
2006-07-11 madRemote 1.1e (1) ProcessHandleToId now also works with GetCurrentProcess
(2) ThreadHandleToId added
(3) little bug in CreateRemoteThreadEx fixed
2006-05-26 madSecurity 1.1q (1) IAccount cache memory/resource leak fixed
(2) IAccount cache now protected by critical section
2006-05-26 madExceptPatcher 1.1b (1) undocumented MES file option "MadExcept2Only" added
(2) minDebugInfo + hideUglyItems don't like each other
(3) UPX fix modification for BPLs
2006-05-21 madMapFile 1.6i (1) GetMyProcName function added
(2) additional security checks for TDS parsing
2006-05-21 madExceptWizard 3.0c (1) BCB2006 define "madExcept" is set now
(2) little improvement for BCB2006 DLL projects
(3) undocumented MES file option "MadExcept2Only" added
(4) BCB2006 MES options sometimes didn't get saved
2006-04-24 madZip 0.1f file share mode in "Zip" changed to read + write
2006-02-23 madStackTrace 2.1h rare crash in FindCodeAddrAndTarget fixed
2006-02-23 madNVAssistant 1.0b INVAssistant.Title property added
2006-01-30 madExcept 3.0b (1) smtp and http password storage error fixed
(2) support for QueueUserWorkItem threads added
(3) plugin crashes are now logged to the bug report
(4) "IException.GetBugReport" could output incomplete report
(5) manually asking bug reports no longer uses extra threads
(6) two different plugin callbacks supported now
(7) uploading bug fixed (IIS is quite sensitive)
(8) always save bug report -> sent report incomplete
(9) slightly improved thread frame logic
(a) exception box now also shows "public%" and "segment%"
2006-01-30 madCompileBugReport 1.0a line numbers were sometimes incorrect
2006-01-30 madPluginMan 1.0a limited supported for BCB added
2006-01-30 madCodeHook 2.2b (1) Windows Vista (32bit) support added
(2) Injection driver allocates at $71700000 now (winNT)
2006-01-30 madRemote 1.1d AllocMemEx now allocates <= $716f0000 to avoid fragmentation
2006-01-25 madBasic 1.6f refcount bug in TICustomBasicList.AddItem/InsertItem fixed
2006-01-05 madNVBitmap 1.0b app only screenshots are automatically cropped now
2006-01-05 madExceptWizard 3.0b support for BCB2006's "Build Configuration" added
2006-01-05 madKernel 1.3g leak fixed which only occurred when using BDS2006
2006-01-05 madIWSupport 1.0c Memo visibility was not always correct
2006-01-05 madShell 1.3o "watchSubtree = false" didn't work correctly (winNT)
2005-11-28 madExcept 3.0a (1) send assistant: email syntax is verified now
(2) line breaks in except message are not removed, anymore
(3) canContinue can be reset to "true" if it once was "true"
(4) ExceptActionHandler: "handled := true" didn't work
(5) ExceptActionHandler was called for "stDontSync", only
(6) sometimes an outdated bug report was mailed
(7) "%exceptMsg%": exception message is nicer formatted now
(8) memory leak fixed
(9) dll init/final exception -> incomplete bug report
(a) undocumented global variable "ShowBugReportKey" added
(b) HandleContact/ScreenshotForm OnAction handlers exported
(c) http upload redirection support added
(d) some minor http upload bugs fixed
(e) "exception number" added to bug report header
(f) TThread.Synchronize exception catcher didn't like EAbort
(g) thread exception frame more forgiving now
(h) IMEAttachments.Clear added
(i) madTraceProcess always lists all threads now
(j) bcb support for runtime packages improved
(k) undocumented OnExceptBoxCreate callback added
(l) Close/RestartApplication now waits until mailing is done
(m) wide string settings support added (needed for Passolo)
(n) SMTP client password was read out incorrectly
(o) memory status bigger than 2 GB was returned incorrectly
2005-11-28 madCodeHook 2.2a (1) fixed deletion of invalid crit. section in finalization
(2) auto unhooking bug fixed
(3) GetCallingModule crash in non-com. Delphi edition fixed
(4) Initialize/FinalizeMadCHook definition cleaned up
2005-11-28 madExceptPatcher 1.1a (1) "show please wait box" setting was incorrectly stored
(2) "AbortBtn" renamed to "CancelBtn"
(3) "include min. debug info" forces "show addr offset" on
(4) superfluous "icon" logging removed
(5) settings are now stored even if madExcept is not enabled
(6) "mes" file redirection implemented (mes content = path)
2005-11-13 madKernel 1.3f (1) IProcess.AllocMem now allocates at >= $5f000000
(2) bug in IProcess.AllocMem fixed
2005-11-12 madExceptWizard 3.0a (1) assistant checkboxes incorrectly showed "some text"
(2) assistant creator: testing forms sometimes crashed
(3) multiple attachments were not saved correctly
(4) several changes for big fonts
(5) "AbortBtn" renamed to "CancelBtn"
(6) "Visible" property added for main buttons
(7) "include min. debug info" forces "show addr offset" on
(8) support for recursive environment variables added
(9) some minor improvements for better BCB support
2005-11-12 madMapFile 1.6h fixed td32 debug info bug (introduced by 1.6g)
(2) td32 debug info parsing slightly improved
2005-11-09 madStackTrace 2.1g (1) support for FastMM4 memory leak stack traces added
(2) "StackTrace" optionally returns dynamic array
2005-10-15 madNVAssistant 1.0a (1) memory leak fixed
(2) INVForm.Name added
(3) INVForm.Skip added
(4) INVAssistant.Form renamed to "Forms" (index search)
(5) INVAssistant.Form added (name search)
(6) global OnAssistantCreate handler added
(7) INVEdit.Colored added
(8) INVEdit.Valid added
(9) pressing [X] on assistant forms behaved incorrectly
(a) "Abort" renamed to "Cancel" everywhere
(b) "Visible" property added for main buttons
(c) font "Tahoma" used now instead of "MS Sans Serif"
(d) main buttons in "NoOwnerDraw" style are now smaller
(e) ContinueButton now said "Next >" instead of "Continue"
(f) NoOwnerDraw + hidden SkipBtn -> ContinueBtn pos. changed
(g) INVLabel/Button/CheckBox.Caption is now writable
(h) INVForm.Title + INVForm.Message now writable
2005-10-09 madNVBitmap 1.0a (1) some fixes for multi monitor support
(2) INVBitmap.AsBmpStr/AsPngStr added
2005-10-09 madCompileBugReport 1.0 initial release
2005-08-12 madKernel 1.3e (1) compile without madDisAsm/Remote is now possible, some undocumented functions won't work this way, though
(2) IProcess.SetPriorityClass fix fixed
2005-07-23 madCodeHook 2.2 (1) fixed a little resource leak (1 critical section per dll)
(2) NextHook variable stays usable after unhooking now
(3) flag "DONT_COUNT" renamed to "NO_SAFE_UNHOOKING"
(4) safe unhooking slightly improved (winNT)
(5) "SAFE_HOOKING" -> thread safe hook installation (winNT)
(6) turning "compiler -> optimization off" made problems
(7) reduced double hooking problems with other hook libaries
(8) mchInjDrv doesn't get listed in device manager, anymore
(9) you can now permanently install the injection driver
2005-07-17 madExcept 3.0 this is just a list of the most important changes:
(1) redesigned settings dialog
(2) thread safe assistants
(3) exception box variations
(4) exception filters
(5) resizable exception box with tabs
(6) hyper jump functionality
(7) threaded bug report creation
(8) extended runtime package support
(9) bug report plugins
(a) madExcept settings stored in the resource section
(b) settings accessible at runtime through an IInterface
(c) exception information encapsulated in an IInterface
(d) exception interface is descendent of settings interface
(e) duplicate bug report detection
(f) HTTP upload functionality
(g) new attachment options
(h) madExcept configuration dialog
(i) additional exception context information
(j) send & please wait progress boxes
(k) no own settings for some modules
(l) limit screen shot to our own app windows
(m) bug report sending in background thread
(n) auto save only if bug report doesn't get sent
(o) include minimal debug info only
(p) cpu registers & stack dump
(q) support for UPX and Shrinker
(r) out of memory protection
(s) safecall exception handling
(t) list of running processes
(u) new icons, now adjustable
(v) pausing exception catching
(w) "mail bug report" -> "send bug report"
(x) check whether binary file is corrupt (via crc)
2005-07-17 madExceptWizard 3.0 countless changes for madExcept 3.0
2005-07-17 madExceptPatcher 1.1 lots of changes for madExcept 3.0
2005-07-17 madNVBitmap 1.0 initial release
2005-07-17 madNVAssistant 1.0 initial release
2005-07-17 madNVPrgrAlert 1.0 initial release
2005-07-17 madListModules 1.0 initial release
2005-07-17 madListProcesses 1.0 initial release
2005-07-17 madListHardware 1.0 initial release
2005-07-17 madDumpObj 1.0 initial release
2005-07-17 madExceptWizard 2.7f (1) ".cpp" now also accepted as a project name (bcb support)
(2) output dir for package projects was handled incorrectly
(3) unit init order patching removed completely
(4) mad* units are added after MM units in project uses
2005-07-17 madExceptPatcher 1.0g (1) stupid me, dbisamm -> dbisammm
(2) "unit init order" option no longer limited to 260 chars
(3) defaults for FastMM3, RecyclerMM, SmartHeapMM added
(4) changed several default settings
(5) locating "_memcpy" failed sometimes (bcb support)
(6) unit init order patching removed completely
2005-07-15 madExcept 2.7h (1) bugs fixed in "CheckExceptParams.IsCorrectExceptAddr"
(2) MailAddr supports %appname% now, too
(3) OpenThread doesn't need OS loader lock, anymore
(4) NameThread now also shows effect on the debugger (D7+)
(5) InterceptFinalizeUnits improved (ignores AVs)
(6) DeleteBugReportFile failed when screenShot was enabled
(7) possible race condition in InterceptHttpExtensionProc
(8) custom rtl/vcl packages are automatically supported, now
(9) %exceptMsg% -> Unknown exception -> "Unknown"
(a) "invalid import table" warning only shown in debugger
(b) CreateBugReport now always gets stack for own thread
(c) support for InitializePackage overload (2 params) added
(d) ProcessMainThreadId was not always set correctly
(e) "Abort" handling slightly improved
(f) stTrySyncCallAlways didn't work for freezes
(g) user impersonation problems fixed
2005-07-15 madRes 1.0j checksum calculation corrected for odd file sizes
(2) size calculation got confused with "" named resources
2005-06-26 madShell 1.3n bug in IShellObj.RefreshItems fixed
2005-06-19 madMapFile 1.6g support for ".itext" section added
(2) import for external *.jdbg files added
(3) TD32 debug infos: line numbers are sorted now
(4) support for madExcept future minimal debug info format
(5) outdated "tds" files are ignored now
(6) support for seperate initialization section added (D10)
2005-06-19 madDisAsm 2.1c (1) little bug in ParseFunction fixed
(2) line numbers were not shown for project initialization
2005-06-11 madStackTrace 2.1f (1) asm code "call @label" support slightly improved
(2) slightly improved stack trace evaluation calculation
(3) choice of disasm location improved
2005-06-11 madTools 1.2s "ResToStr" returns a resource as binary data in a string
2005-05-13 madZip 0.1e "Zip" compresses some files into a zip compatible archive
2005-05-03 madIWSupport 1.0b IW 7.2.33 has changed parameters of some internal methods
2005-03-09 madLists 1.1e bug in handling with multiple lists fixed
2005-03-09 madBasic 1.6e bug in handling with multiple lists fixed
2005-02-15 madCodeHook 2.1f fixed a little resource leak (1 critical section per dll)
2005-02-14 madKernel 1.3e IProcess.SetPriorityClass fix fixed
2005-02-05 madExcept 2.7g (1) another bug fixed in hidden exception handling
(2) our process' "allocated memory" added to report header
2005-02-05 madTools 1.2r GetImageNtHeaders avoids inconvenient debugger exceptions
2005-02-05 madKernel 1.3d two little bugs fixed in IProcess.Get/SetPriorityClass
2005-01-30 madExcept 2.7f (1) "MainThreadId" in a DLL might not be process' main thread ID
(2) bug fixed in hidden exception catching
(3) exception seconds and ms added to bug report header
(4) removed spaces from CPU name
2005-01-30 madExceptWizard 2.7e superfluous Delphi 2005 warning removed
2005-01-30 madExceptPatcher 1.0f dbisam mem manager added to unit init order patching option
2005-01-21 madMapFile 1.6f (1) map file parsing speed slightly improved (up to 25%)
(2) TD32 debug parsing speed greatly improved (up to 7000%)
2005-01-13 madRes 1.0i discard changes -> file date changed, nevertheless
2005-01-11 madStackTrace 2.1e bug in ComposeResult fixed
2005-01-10 madSecurity 1.1p (1) you can now also call "Account('S-1-x-y-...')"
(2) security objects (e.g. "FileSecurity") support wide now
2005-01-02 madCodeHook 2.1e patch 6 bytes before page boundary: hook installation failed
2005-01-02 madShell 1.3m file change notifications were surpressed, sometimes
2004-11-15 madExcept 2.7e "Unhandled OS exceptions" catching off by default in Delphi
2004-11-15 madMapFile 1.6e (1) bugfix for BCB TD32 debug info parsing
(2) version variable didn't work properly in BCB, anymore
2004-11-15 madExceptWizard 2.7d warnings are shown now, if uses clause modification fails
2004-11-08 madExcept 2.7d (1) mapi mails get sent to "SMTP:" now
(2) improved situation when exceptObject is invalid/wild
(3) mail subject supports %appname% now
(4) pressed "save" button is hidden only if it makes sense
(5) check for invalid ExceptObject improved
(6) now all dns ips reported by the OS are used
(7) some info functions like "GetHardwareList" exported now
(8) GetThreadName exported now
(9) except callback sync parameters changed
(a) except callback "phase" parameter added
(b) directory for bug report file is created (if necessary)
(c) PauseFreezeCheck is now stackable
(d) pause running delphi/bcb threads totally rewritten
(e) "PauseMeEventually" function added
(f) minor changes for delphi 9 support (only win32)
(g) CreateBugReport reports all it can even if crashes occur
(h) madTraceProcess works for other sessions now, too
(i) new BCB patches added to enhance exception catching
(j) "AddMailAttachments" option added (runtime only for now)
(k) "Message-ID" added to SMTP header
2004-11-08 madMapFile 1.6d several improvements in TD32 debug info interpretation
2004-11-07 madHelp 1.1a madCollection's documentation made problems with XPSP2's IE due to a HTML format bug
2004-10-24 madStackTrace 2.1d some special processing for bcb added
2004-10-22 madDisAsm 2.1b support for BCB try..whatever blocks added
2004-10-22 madExceptPatcher 1.0e extended support for several kind of BCB exceptions
2004-10-22 madExceptVcl 2.0c (1) BCB: the problems are gone, so we can reenable this unit
(2) the visual component got its own package "madExceptVcl_"
2004-10-21 madSecurity 1.1o "AuthenticatedUsers" function added
2004-10-10 madKernel 1.3c (1) IProcess.Session added
(2) NewProcess(16bitProcessWithParams) had a bug
(3) ITrayIcon.MouseClick supports double clicks now
(4) IThread.IsSuspended added
2004-10-03 madExceptWizard 2.7c various changes for Delphi 9 support (win32 only)
2004-09-26 madCodeHook 2.1d (1) memory leak in CreateIpcQueue fixed
(2) win9x: injection skips newly created 16bit processes now
2004-09-26 madRemote 1.1c (1) AMD64 NX: CreateRemoteThreadEx in other sessions froze
(2) NtQuerySystemInformation reads session info now, too
2004-08-15 madExcept 2.7c (1) hardware list optionally added to bug report
(2) CPU info added to bug report header (w2k and newer)
(3) display mode added to bug report header
(4) improved html output (layout, w3 validity, etc)
(5) suspended threads are marked as such in the bug report
(6) bug report contains information about thread priorities
(7) bde version added to bug report header (if bde is used)
(8) stack not accessible: at least except location is shown
(9) fixed a resource leak in SuspendThreadEx
(a) undocumented "HyperJumpCallback" API added (for Viewer)
(b) only Delphi threads are suspended by madExcept now
(c) MX lookup uses the OS' DNS ip address now (-> firewalls)
(d) callback synchronization sometimes failed unexpectedly
(e) MailSubject now supports %exceptMsg%, too
(f) MAPI: some mail clients didn't accept the receiver
(g) undocumented HookSafeCallExceptions function added
(h) exceptBox: pressing ESC when continue impossible: freeze
(i) if "canContinue" is false, madExcept behaves better now
2004-08-15 madStackTrace 2.1c (1) asm code "call @label" in Delphi funcs is supported now
(2) better handling of internal errors
(3) relative infos don't modify absolute infos anymore
(4) thread creator is shown even if no module info is found
(5) "hideUglyItems" works differently now (hides more items)
2004-08-15 madExceptPatcher 1.0d (1) support for "ListHardware" option added
(2) memory leak: loaded map file was not freed again
(3) unit init order patching: support for NexusMM2 added
2004-08-06 madShell 1.3l (1) IShellObj.SetName added
(2) IShellObj.GetIcon: workaround for Windows bug
2004-08-05 madCodeHook 2.1c (1) CURRENT_PROCESS is not ignored by UninjectLibrary anymore
(2) enabling Backup/Restore privileges broke Samba support
(3) some tweaks for win98, when IPC functions are stressed
(4) xp sp2: IPC sending from under privileged account failed
(5) IsHookInUse added
2004-07-11 madExceptWizard 2.7b (1) support for "ListHardware" option added
(2) ".bat" in project group made problems in D4 and D5
(3) optional "relative" bug report infos renamed to "offset"
(4) external apps can issue a "jump to unit/line" command
(5) pause all running thread -> pause all delphi/bcb threads
(6) patch errors weren't posted to compiler message window
2004-07-11 madDisAsm 2.1a (1) line numbers are added to disassembling (Delphi only)
(2) some disassembling cleartext tweaking
2004-07-11 madZip 0.1d (1) new file logic (see 0.1c) called UnmapViewOfFile twice
(2) got rid of Math.pas, which imported SysUtils.pas
2004-06-26 madMapFile 1.6c line number info helper function exported (for madDisAsm)
2004-06-26 madKernel 1.3b (1) IProcess.PriorityClass: pcBelowNormal/AboveNormal added
(2) (invalid IProcess).Windows_ enumerated system wide
2004-05-19 madIWSupport 1.0a (1) "HandleException" parameters changed
(2) ServerController removed from uses clause
2004-05-01 madScreenShot 1.0b mouse cursor is now added to the bitmap
2004-04-25 madExcept 2.7b HandleException "currentEbp" param can improve trace quality
2004-04-25 madStackTrace 2.1b (1) stack frame tracing might get trapped in endlos loop
(2) stack frame elements don't ever get deleted anymore now
(3) improved madDisAsm makes entry point patch superfluous
2004-04-25 madInjDrv 1.0a (1) PsLookupProcessByProcessId handle wasn't property closed
(2) define "InjectLibraryPatchXp" added
2004-04-25 madCodeHook 2.1b (1) VirtualAlloc now allocates >= $5f040000 (winNT)
(2) new injection driver version embedded
2004-04-25 madDisAsm 2.1 (1) structured exception handling is detected + parsed now
(2) special support for Delphi try..except blocks
(3) special support for Delphi try..finally blocks
(4) special support for Delphi safecall handling blocks
(5) Delphi @Halt call is interpreted as "end of function"
2004-04-18 madExcept 2.7a (1) AMD64 NX: LocalAlloc -> VirtualAlloc (HookedCreateThread)
(2) eaClose/RestartApp: setting "handled" didn't work
(3) MAPI mailing: screenShot.png isn't deleted anymore
(4) %LF% (line feed) added for exception message (ExceptMsg)
(5) TExceptActionHandler: bugReport parameter is "var" now
(6) screenShot + crashingThread parameters added to handlers
(7) support for mailing the bug report to multiple receivers
(8) window menu: resize/minimize/maximize/restore removed
(9) ExceptMsg + FrozenMsg max length increased to 255 chars
(a) added "Content-Type" to the smtp multipart text part
(b) SMTP: responses may come in multiple small chunks now
(c) GetTickCount doesn't overrun now, anymore
(d) ISAPI problems with ISAPIThreadPool fixed
(e) rtl/vcl/clx are only hooked, if they're not hooked yet
(f) MAPI availability check is less strict now
2004-04-18 madExceptPatch 2.7 some command line /options added
2004-04-12 madCodeHook 2.1a (1) hook finalization: "nextHook" may be zeroed too early
(2) safe unhooking improved (16 -> 280 thread capacity)
(3) AMD64 NX: LocalAlloc -> VirtualAlloc (TCodeHook.Create)
(4) GetTickCount doesn't overrun now, anymore
2004-04-12 madStackTrace 2.1a (1) AMD64 NX: LocalAlloc -> VirtualAlloc (in AddFunction)
(2) GetTickCount doesn't overrun now, anymore
(3) InitEbpFrames: more detailed + no exceptions
2004-04-12 madExceptWizard 2.7a (1) parsing of very big project "uses" clauses failed
(2) BCB: library BPL output dir was incorrectly ignored
(3) special handling to not destroy $(BCB) in include path
(4) ExceptMsg + FrozenMsg max length increased to 255 chars
(5) BCB: madExcept now doesn't add "#include"s anymore
2004-04-11 madRes 1.0h (1) "CompareString" replaced by "madStrings.CompareStr"
(2) GetResourceW checks for "update = 0" now
2004-04-09 madMapFile 1.6b (1) "try..except" added to "FindMapFile" (just to be sure)
(2) BCB: two little bugs in td32 debug info parsing
2004-04-09 madZip 0.1c file routines failed when dealing with big (>= 500 MB) files
2004-03-28 madExceptPatcher 1.0c (1) BCB: unit init order patching made problems again (argh)
(2) "try/except" added when searching for exported functions
(3) ExceptMsg + FrozenMsg max length increased to 255 chars
2004-03-14 madScreenShot 1.0a (1) if sizeOf(256col) < sizeOf(16gray) then result := 256col
(2) removed gray dithering, optimized gray palette
(3) significant speedup if the desktop screen depth is 32bit
2004-03-14 madShell 1.3k IShellObj.GetIcon added
2004-03-12 madTools 1.2q AMD64 NX: New -> VirtualAlloc (in MethodToProcedure)
2004-03-08 madIWSupport 1.0 initial version of exception trapping support unit for IntraWeb 5 - 7
2004-03-08 madRes 1.0g (1) CompareString(LANG_ENGLISH) fixes sort order (czech OS)
(2) force file time touch, when resources are changed
2004-03-08 madExcept 2.7 (1) BugReportFile: "%appname%" sometimes didn't work
(2) strange color schemes are better supported now
(3) %LF% (line feed) added for mail success/failure messages
(4) "pause all running threads" off -> messages get handled
(5) "sync" handlers only get called in main thread context
(6) FPU exceptions can be reenabled after each exception
(7) handling of sync/non-sync events improved a bit
(8) program up time added to bug report header
(9) SetFreezeTimeout function added
(a) during synced handlers: ignore main thread exceptions
(b) ignore exceptions of our private except. handling thread
(c) improved support for EAbort
(d) undocumented "ResetFpuMode" option added
(e) CreateBugReport: additional parameter "showProgressBar"
(f) hidden exceptions: no progress bar is shown anymore
(g) MailAsSMTPServer not default anymore
(h) control chars in the exception message made problems
(i) final. exception sometimes resulted in program restart
(j) console exception handling improved
(k) exception box' title bar now always shows a [x] button
(l) screen shot functionality added
(m) SMTP mailing function now fills the date time field
(n) bug in GetTSClientName fixed
(o) automated support for CGI + ISAPI + IntraWeb 5 - 7 added
(p) exceptions in madExcept's finalization are ignored now
(q) AutoMailBugReport function added for silent mail sending
(r) got rid of non ascii chars in bug report
2004-03-07 madStackTrace 2.1 (1) support for relative line numbers added
(2) speed up, when the dpr file as a large begin..end block
(3) stack growing isn't destroyed anymore
(4) fixed bug in RealizeOptimalLinkChain -> better traces!
(5) ebp stack frame evaluation improved
(6) workaround for "DispatchMessageA" trace hole improved
(7) "GetImageProcName" name unmangling is now optional
(8) raw stack tracing was sometimes a bit too strict
2004-03-07 madScreenShot 1.0 initial version of screen shot unit
2004-03-07 madExceptPatcher 1.0b (1) BCB unit init order patching warning removed
(2) showRelativeLines option added
(3) MailAsSMTPServer not default anymore
(4) ScreenShot support added
(5) unit init order patching supports package units now
(6) unit init order patching can be disabled now
(7) automated support for CGI and ISAPI added
(8) "dontExportUglyItems" define added, disabled by default
2004-03-07 madExceptWizard 2.7 (1) "ShowExceptionBox" off: mail options were not available
(2) showRelativeLines option added
(3) BCB: unit links are added after "#pragma hdrstop" now
(4) ScreenShot support added
(5) unit init order patching can be disabled now
(6) special case: compilation of "pas" file without project
(7) automated support for IntraWeb 5 - 7 added
2004-03-07 madMapFile 1.6a "Export" optionally supresses publics without line numbers
2004-03-07 madCodeHook 2.1 (1) dll inject into new processes done by kernel driver (nt)
(2) w2k3 support improved
(3) AutoCAD debugger detection doesn't trigger anymore
(4) ProtectMemory added where UnprotectMemory was used
(5) PatchExportTable sometimes froze IE in win2k
(6) special fix for a "Process Explorer" bug (see CheckMap)
(7) InjectLibrary wide string handling bug fixed
(8) bug in library path checking functions fixed
(9) NO_MIXTURE_MODE flag added
(a) the mixture mode can't be used for ws_32.dll
(b) workaround for 2k/XP DuplicateHandle bug in AcLayers.dll
(c) initialization ends with SetLastError(0), just in case
(d) HookCode/API calls SetLastError(0) when it succeeds
(e) CheckHooks doesn't modify the LastError value anymore
(f) dummy win9x API detection improved
(g) virtual memory allocation now >= $5f000000 (winNT)
(h) CreateIpcQueueEx added with additional parameters
(i) "madCHook - dynamic - microsoft.lib" now links to names instead of ordinals
2004-03-06 madKernel 1.3 (1) ProtectMemory added where UnprotectMemory was used
(2) TrayIcon.Rect improved
(3) Process('c:\progra~1\shorty\shorty~1.exe') didn't work
2004-01-17 madRemote 1.1b (1) IsMemoryProtected + ProtectMemory added
(2) AllocMemEx now allocates >= $5f000000 (winNT)
2004-01-16 madExceptIde 1.0c because of mailing problems Mapi is turned off (for IDE exceptions only)
2004-01-10 madShell 1.3j (1) file notifications use ReadDirectoryChangesW now (winNT)
(2) seOrderChanged/MsiChanged/MsiUninstalled bugs fixed
2004-01-01 madDisAsm 2.0b (1) ParseFunction "not interceptable" false alarm fixed
(2) TryRead improved
2003-11-18 madExcept 2.6a (1) timeout added for SMTP functions
(2) runtime option "AddCmdLineToBugRep" added
(3) critical bug in OpenThread fixed
2003-11-18 madKernel 1.2z critical bug in TIThread.GetHandle2 fixed
2003-11-16 madExcept 2.6 (1) Armadillo related bug in CreateThread hook fixed
(2) AutoClipboard property added
(3) AutoMail property reintroduced
(4) due to a bug printing was limited to one page only
(5) HandleHiddenException crashed when "exceptObject = nil"
(6) improved thread naming, this also fixes a memory leak
(7) if callback synchronization failed, the program froze
(8) "AutoDelay := 0" made madExcept crash
(9) invalid "ExceptObject" made madExcept crash
(a) process id and command line added to bug report
(b) dynamically loaded bpls: handling of init exceptions
(c) "created by thread" improved when using runtime packages
(d) "DetectConsole" runtime option added
(e) %exceptMsg% was not expanded for console applications
(f) ExceptMsg string size increased to 200 characters
(g) support for exceptObject classes <> SysUtils.Exception
(h) some changes to avoid freezes while handling exceptions
(i) now each event handler can be synchronized or not
(j) ImNotYetFrozen -> ImNotFrozen
(k) AmOnline + SendSmtpMail functions added
(l) SendMapiMail supports an attachment now
(m) a lot of new mailing options added
(n) TThread.Synchronize exceptions get caught now (D6+D7)
(o) exceptions get counted now -> automatic restart/close
(p) Save+Print now refuse to run during DLL initializion
(q) Save+Print+Mail: button flashes to indicate action
(r) Save+Print+Mail: hourglass mouse cursor while busy
(s) Save+Print+Mail: sound indicates success/failure
(t) "SillyExceptions" don't get bug reports (saves time)
(u) SendMapiMail improved (no receiver, user abort, logon)
2003-11-16 madExceptWizard 2.6 (1) project close event gets handled more safely now
(2) madExcept is automatically added to the bpr file in BCB
(3) project include/library paths in BCB are adjusted
(4) additional BCB project options are controlled now
(5) "Local Symbols" compiler option is controlled now
(6) settings are not restored to the old state anymore
(7) BCB binary file name detection (e.g. project1.dll) added
(8) the wizard package exports a "ReloadMesFile" API now
(9) ExceptMsg string size increased to 200 characters
(a) madExcept "Synchronize" option removed
(b) autoMail + autoClip + autoContinue options added
(c) showRelativeAddrs option added
(d) a whole bunch of new mailing options added
(e) help window is not shown maximized anymore
(f) HKxx\Software\madshi\madExcept\dontTouchUses + Defines
2003-11-16 madExceptPatcher 1.0a (1) order of patching changed: resources come last
(2) NexusDB memory manager support added to default options
(3) unit init order patching is skipped for BCB binary files
(4) dynamically loaded bpls: handling of init exceptions
(5) ExceptMsg string size increased to 200 characters
(6) bug in init order patching fixed
(7) support for TThread.Synchronize exception catching
(8) madExcept "Synchronize" option removed
(9) autoMail + autoClip + autoContinue options added
(a) showRelativeAddrs option added
(b) a whole bunch of new mailing options added
2003-11-13 madKernel 1.2y (1) support for Windows 2003 added
(2) THREAD_XXX flags renamed to Thread_XXX -> BCB support
(3) IProcess.ZeroMemory renamed to zeroMemory -> BCB support
(4) IProcess.GetServiceProcess now works in NT, too
(5) error handling improved a bit
(6) module file name logic improved a bit (winNT)
2003-11-10 madStackTrace 2.0c (1) the progress bar was not really thread safe
(2) support for relative stack addresses added
2003-11-10 madMapFile 1.6 (1) full td32 support for Delphi + BCB
(2) incorrect line numbers are ignored now
(3) GetMapFileInfos function added
2003-11-10 madExceptPatch 2.6 (1) error code for "specified file not found" was incorrect
(2) BCB support added (.tds instead of .map)
(3) map file parameter was kind of ignored (duh!)
(4) help text extended for BCB
2003-11-10 madExceptIde 1.0b (1) different captions for BCB
(2) minimum size for the IDE error box added
2003-11-10 madCodeHook 2.0a (1) memory leak in API hooking code fixed
(2) some bugs in Ipc functionality fixed
(3) memory leak in madCHook.dll/lib fixed
(4) call CloseHandle/ReleaseMutex/etc only for valid handles
(5) error handling improved a bit
2003-11-10 madRemote 1.1a (1) call CloseHandle only for valid handles
(2) error handling improved a bit
2003-11-10 madDisAsm 2.0a (1) jumps/calls to the very next instruction are ignored now
(2) text output of function parts speeded up (for madExcept)
2003-11-10 madRes 1.0f (1) checksum field in the PE header is now set up correctly
(2) CodePage field in the resource headers stays 0 now
(3) ImageDebugDirectory handling improved (Microsoft linker)
2003-11-10 madCrypt 1.2 Encode/Decode (base64) functions added
2003-11-10 madSecurity 1.1n (1) "Everyone" function added
(2) IAcl.SetFileAccess is inherited now
2003-11-02 madStrings 1.5k (1) booleanToChar parameter name changed -> BCB support
(2) ErrorCodeToStr unknown errors are shown in hex now
(3) SizeToStr/MsToStr: language dependent decimal seperator
2003-10-10 madExceptVcl 2.0b (1) this unit doesn't well in BCB, so we don't use it there
(2) removed the "hidden" event, please install it manually
2003-10-05 madShell 1.3i dynamic linking of undocumented APIs -> BCB support
2003-10-05 madTools 1.2p (1) support for Windows 2003 added
(2) OS.enum renamed to OS.Enum -> BCB support
2003-08-10 madCodeHook 2.0 (1) most code is totally rewritten/changed
(2) HookCode parameters changed -> only one flags parameter
(3) automatic mixture mode detection mightily improved
(4) process wide hooking of system APIs in win9x more stable
(5) shared PE sections are fully supported now (win9x)
(6) dummy 9x wide APIs (e.g. CreateFileW) are not hooked
(7) (Un)InjectLibrary: user/session/system wide injection!
(8) InjectLibrary2 replaced by InjectLibrary (auto detect)
(9) hook dlls protected from unauthorized FreeLibrary calls
(a) fully automatic unhooking before dll unloading
(b) safe unhooking implemented
(c) static lib for Microsoft C++ added
(d) CreateIpcQueue + SendIpcMessage + DestroyIpcQueue added
(e) AmSystemProcess + AmUsingInputDesktop added
(f) GetCurrentSessionId + GetInputSessionId added
(g) GetCallingModule function added
(h) ProcessIdToFileName added
(i) Create/OpenGlobalMutex + Event + FileMapping added
(j) WideToAnsi + AnsiToWide + WidePathToAnsi functions added
(k) IAT patching doesn't stumble about compressed modules
(l) try..except/try..finally works without SysUtils now
(m) RenewHook function added
(n) madCodeHook.dll -> madCHook.dll (8.3 dos name logic)
(o) madIsBadModule tool added
(p) several nice new demos added
(q) UnhookAPI added (= UnhookCode, added just for the look)
(r) AddAccessForEveryone added
2003-08-09 madExcept 2.5 (1) disassembling output now added to bug report
(2) available/total physical memory added to bug report
(3) free disk size is now shown for OS and our start drive
(4) TThread hook was not thread safe (ouch), now it is
(5) some bug report specific options added
(6) address for external exceptions was 1 asm instr. too far
(7) madExcept version is shown in the bug report
(8) bug report print functionality
(9) handled/hidden exceptions can now optionally be caught
(a) ImNotYetFrozen resets the freeze check timer
(b) new options SuspendThreads, AutoClose, BugReportFileSize
(c) automatic exception catching for clx projects
(d) the save dialog doesn't freeze anymore
(e) clipboard functionality didn't work reliably in win2k
(f) box main msg var %exceptMsg% added (autowrap enabled)
(g) box auto layout improved, big icon support "meiBigIcon"
(h) box plays windows default error sound
(i) D7 named threads are supported (name is extracted)
(j) some minor changes in order to support Armadillo
(k) option vars are now short strings instead of char arrays
(l) only 1 close button available -> esc + [x] now supported
(m) madExcept threads run on a higher priority now
(n) all button action functions exports added
(o) exception notification now uses pipe instead of window
(p) system up time added to bug report
(q) AutoContinue + AutoDelay options added
(r) terminal server client name added to bug report
(s) OwnerDrawButtons option added
(t) support for FinalBuilder added (in form of a FB action)
2003-08-08 madSecurity 1.1m (1) CurrentUser is now more reliabe in the winNT family
(2) IAccount.SidStr property added
(3) ISecurityObject.ProtectedDAcl/SAcl properties added
(4) RegistrySecurity accepts strings like "HKLM" now
2003-08-06 madCrypt 1.1 (1) this algorythm is now 100% blowfish compatible
(2) automatic string padding added
(3) added "UniqueString" to string functions
2003-06-09 madRemote 1.1 (1) CreateRemoteThread -> CreateRemoteThreadEx
(2) CreateRemoteThreadEx ignores sessions (winNT)
(3) stability improvements for win9x remote threads
(4) AllocMemEx now allocates > $5e000000 (winNT)
(5) RemoteExecute functionality added
(6) TryRead gets rid of unwanted debugger exception warnings
2003-06-09 madExceptWizard 2.5 (1) settings dialog: bug report tab with new options added
(2) little initialization change makes D4/5 IDE more stable
(3) the wizard now takes full control of the option "project options -> compiler -> debug infos" (D5+)
(4) settings dialog now shows version number
(5) project groups now don't open all forms anymore
(6) some problems with the auto "uses" adjustments fixed
(7) freeze timeout changed from ms to sec
2003-06-09 madStackTrace 2.0b (1) moved some code into the new "madTools.GetImageProcName"
(2) slight changes to support disassembling in bug report
(3) stack trace quality in win9x improved
(4) the 2 last stack frame items are ignored now, since they often belong to Windows' built in exception handling
(5) module entry point function patching improved
(6) option "hideUglyItems" hides stack items with no line
(7) calls to uninitialized function variables resulted in low quality stack traces
2003-06-09 madMapFile 1.5a (1) tricky linking gives madDisAsm access to map file infos
(2) EntryPoint is saved again -> Armadillo support
2003-06-09 madExceptVcl 2.0a deleted the confusing TMadExceptionHandler.Enabled property
2003-06-09 madExceptIde 1.0a the IDE exception box stays on top now
2003-06-09 madExceptPatcher 1.0 needed by madExceptWizard, *Patch and *FinalBuilder
2003-06-09 madLinkDisAsm 1.0 initial version
2003-06-09 madDisAsm 2.0 (1) rewritten from scratch, full support for mmx/sse2/3dnow!
(2) now we have a full disassembler including text output
(3) the disassembler keeps track of the register contents -> should improve the detection of call/jmp targets
(4) TryRead gets rid of unwanted debugger exception warnings
2003-06-09 madKernel 1.2x (1) GetImageProcAddress bug in handling forwarded APIs
(2) TrayIcons didn't work in ME
(3) IProcess.ParentProcess didn't work in the winNT family
(4) some minor stability/reliability improvements
(5) ITrayIcon.Delete always returned false
(6) SendMessage(WM_GETTEXT(LEN)) -> SendMessageTimeout
2003-06-09 madShell 1.3h (1) DisplayMode now accepts a specific refresh rate
(2) IShortCut.SetPath added
(3) IShellObj enumeration missed some items
(4) IShortCut.Save optionally skips resolving
(5) IShortCut.FDirty flag was not always set correctly
2003-06-09 madTools 1.2o (1) GetImageProcAddress now handles forwarded APIs correctly
(2) minor bug in GetImageNtHeaders fixed
(3) some other minor bug fixes / improvements
2003-06-09 madZip 0.1b (1) Uncompress (file) optionally sets file attributes
(2) GetCompressedFileInfo + GetUncompressedFileInfo added
(3) some more internally exception catching
2003-06-09 madRes 1.0e (1) language was not treated correctly
(2) cleaning up the internal trees contained a little bug
2003-06-09 madStrings 1.5j (1) IntToHex now returns low characters, looks nicer
(2) ErrorCodeToStr understands nt status errors ($Cxxxxxxx)
2002-12-05 madKernel 1.2w (1) StartButton and DesktopListView didn't work in XP
(2) IWindow.Text was a read only property, now it's r/w
(3) CurrentModule fixed
2002-12-05 madShell 1.3g Desktop icon positions didn't work in XP
2002-12-03 madExceptWizard 2.3a unit initialization order option added in order to fix problems with memory management replacements like ShareMem
2002-11-26 madStackTrace 2.0a (1) stack trace quality further improved
(2) avoiding of handled exceptions when running inside of IDE
2002-11-26 madDisAsm 1.2c ParseFunction stops at the end of module's code section
2002-11-20 madTools 1.2l make OS.description work even after madTools.finalization
2002-11-14 madExcept 2.3 (1) several changes to integrate the rewritten madStackTrace
(2) ICriticalSection -> TRTLCriticalSection reduces footprint
(3) CloseCreateThreadHook was not complete
(4) no further unhandled exceptions during exception handling
(5) system hooks are undone during finalization now
(6) apptype console: no GUI box anymore, WriteLn instead
(7) function exported for madTraceProcess tool
(8) Automatically save bug report without path -> start path
(9) unthreaded MAPI mailing again to improve fail detection
2002-11-14 madStackTrace 2.0 the whole unit was totally rewritten
(1) much better detection of invalid stack items
(2) exported APIs are listed
(3) functions without line numbers are listed
(4) recursive call stack areas are detected & removed
(5) simplified interface (just one function)
(6) progress bar support for madExcept exception handling
2002-11-13 madCodeHook 1.3k (1) using GetMem was a bad idea for dlls, now LocalAlloc
(2) mixture mode hooks get uninstalled now, too
(3) InjectLibraryW didn't allocate enough memory for dll path
(4) InjectLibrary2(W) doesn't ask GetProcessVersion, anymore
2002-11-13 madRemote 1.0d some changes in ProcessHandleToID (winNT branch)
2002-11-07 madExceptWizard 2.3 (1) "madExceptIde" renamed to "madExceptWizard"
(2) madExcept gets added to project's uses clause
(3) some first steps of BCB support (not ready yet)
(4) D4: handling of project's map file setting changed
2002-11-07 madExceptIde 1.0 new package, don't confuse this with "madExceptWizard"
2002-11-07 madDisAsm 1.2b (1) GetImageNtHeaders + PImageExportDirectory -> madTools
(2) ParseFunction: case/switch statements are interpreted
(3) ParseFunction: little gaps between code areas are parsed
2002-11-07 madKernel 1.2v added "timeOut" parameter to IProcess.LoadModule
2002-11-07 madRes 1.0d (1) UpdateResource raised AV (only inside IDE) when update=0
(2) PImageSectionHeader.PointerToLinenumbers/Relocations is corrected now (if necessary)
2002-11-01 madSecurity 1.1l winNT share names are much less restricted than win9x shares
2002-10-25 madTools 1.2k some low level module image parsing functions added
2002-10-25 madMapFile 1.5 (1) removed lots of stuff, which was not needed for madExcept
(2) IMapFile -> TMapFile reduces footprint
(3) td32 debug info support added, but disabled by default
2002-10-22 madExcept 2.2b SaveBugReport no go in 95/98, API structure was too new/long
2002-10-22 madExceptIde 2.2b AfterCompile "succeeded" flag seems to not be reliable in D5
2002-10-21 madMapFile 1.4i (1) map file cache didn't work for external map/mad files
(2) crypt password calculation crashed on D6 < SP2
2002-10-18 madExceptIde 2.2a (1) settings dialog: "Abort" button renamed to "Cancel"
(2) $(EnvironmentStrings) are correctly handled now
2002-10-18 madExcept 2.2a (1) forgot to remove test code from SendShellMail (dumb me)
(2) got rid of LoadImage, it returned a shifted image in NT4
(3) escape eventually destroyed the bug report detail memo
2002-10-17 madRes 1.0c (1) some debug structures were not updated correctly
(2) resources must be sorted alphabetically
2002-10-17 madCodeHook 1.3j (1) InjectLibrary2(W) was not stdcall (ouch)
(2) AtomicMove improves stability when (un)installing Hook
2002-10-12 madExcept 2.2 (1) delphi 7 support
(2) automatic exception catching in TThread works fine now
(3) leak fixes stopped madTraceProcess from working
(4) tweaked the problem "can we continue after an exception?"
(5) the exception box's title bar is now freely adjustable
(6) class name of TThread threads added to bug report
(7) thread creator added to stack trace as bottom stack item
(8) fixed some little leaks
(9) bug report reformatted, module list added
(a) exception box gets much bigger, if the report is shown
(b) sometimes the except box didn't show up in finalization because Windows destroyed our HandleExceptionWnd window
(c) mailto now uses CreateProcess instead of ShellExecute as a result the mail body length is not limited anymore
(d) some tricks to avoid freezing when mailing with MAPI
(e) CreateThread is now hooked in all modules/packages
(f) new true color button bitmaps with 8 bit alpha channel
(g) you can now store custom icons for the exception box
2002-10-12 madExceptIde 2.2 (1) delphi 7 support
(2) the exception box's title bar is now freely adjustable
(3) logging of unit initialization order index was wrong
(4) no automatic integration question at first start, anymore
(5) perfect support of project groups, was weak until now
(6) got totally rid of the old toolsAPI interfaces -> so in D5 we know now have the IsCodeInsight flag
(7) activate logging now by creating "c:\madExceptIde.txt"
(8) FLastBinarySize added to solve fast Ctrl-F9 + F9 problem
(9) the map file stream is now added as a resource -> this way exe packers don't trash the map file stream -> the stream can be loaded through resource APIs
(a) uncompressed "map" file -> compressed "mad" file
(b) only "append map file to binary" enabled for dpk projects
(c) ico/bmp files like "meiMail.ico" in the project's root folder automatically replace madExcept's default images
(d) wizard exceptions are now shown in the madExcept box
2002-10-12 madRes 1.0b CreateFileW is not supported in 9x, of course (dumb me)
2002-10-11 madRes 1.0a (1) the resource data was not always aligned correctly
(2) the virtual size of the res section was sometimes wrong
(3) data entered into UpdateResourceW is buffered now
(4) added some icon and bitmap specific functions
2002-10-10 madRes 1.0 initial release
2002-10-09 madMapFile 1.4h (1) map file stream gets zipped now
(2) map file stream gets encrypted now (blowfish)
(3) the map file stream is now loaded by using resource APIs
(4) external "mad" file support (mad = compressed map file)
2002-10-04 madCrypt 1.0 initial release
2002-10-03 madCodeHook 1.3h (1) 1.3g introduced a bug in CreateProcessEx
(2) InjectLibraryW added
(3) InjectLibrary2(W) added for use in CreateProcess(W) hooks
2002-09-30 madKernel 1.2u (1) tray icon stuff now also works in XP
(2) Fixed little bug in "QueryObjNtThread"
(3) got rid of TIMiniStream, this reduces compiler warnings
2002-09-22 madCodeHook 1.3g (1) added a FreeMem to TCodeHook.Destroy to fix a memory leak
(2) CreateProcessExW added
(3) GetProcAddressEx avoids IAT patching problems
2002-09-21 madStackTrace 1.5c (1) moved some code from TIStackTrace.Create to the new method TIStackTrace.AddItem
(2) AsStr format changed
2002-09-13 installer 1.1 (1) the installer didn't want to uninstall in win9x
(2) the installer failed if there was a directory named "1" in the temp folder
2002-09-05 madTools 1.2j GetFreeSystemResources now simply returns 0 in NT family
2002-09-04 madZip 0.1a exceptions caught internally
2002-08-09 madKernel 1.2u tray icon stuff now also works in XP
2002-08-02 madExcept 2.1d Init/CloseAntiFreeze exported for use in NT services
2002-07-16 madExcept 2.1c CloseHandleExceptionThread froze dynamic dlls during unload
2002-06-29 madKernel 1.2t IWindow.BringToForeground(noBlink) now also works in XP
2002-06-14 madExcept 2.1b (1) AntiFreezeCheck is turned off, if window can't be created
(2) little NT4 bug workaround, see TExceptionBox.Create
(3) support for runtime package projects with only rtl (D6+)
(4) resource/memory leaks fixed
(5) instead of entry point patching the initialization order of the units SysUtils/madTools/madExcept is now changed - this moves some hacks from the binary into the IDE wizard and more exceptions get caught now during finalization
(6) when a thread closes, its name gets automatically del'ed
2002-06-04 madShell 1.3f little NT4 bug workaround, see TIShellObj.ShowContextMenu
2002-06-04 madTools 1.2i little NT4 bug workaround, see MsgHandlerWindow
2002-05-07 madStrings 1.5i SubStrExists/SubTextExists speed up
2002-04-24 madTools 1.2h mutex and window class name now process+module dependent
2002-04-06 madCodeHook 1.3f InstallMixturePatcher only did a part of what it should
2002-03-27 madShell 1.3e reorganized special folders, some renamed & several new items
2002-03-24 madCodeHook 1.3e (1) mixture mode initialization changed again
(2) CollectHooks/FlushHooks speed up mixture initialization
(3) bug in PatchMyImportTables made HookCode crash sometimes
2002-03-15 madCodeHook 1.3d CreateProcessEx now works with .net programs in NT family
2002-03-10 madCodeHook 1.3c when using system wide hooking with mixture mode in win9x
each process now patches its own import tables
this gets rid of any (noticable) initialization delays
2002-03-10 madRemote 1.0c (1) ProcessHandleToID had a bug in win9x
(2) CreateRemoteThread now ignores 16bit processes in win9x
2002-03-08 madKernel 1.2s Module names in NT had line feed characters at the end
2002-02-24 madExcept 2.1a (1) ShowException exported (needed by madTraceProcess)
(2) bug report suppresses madTraceProcess.dll
(2) mail button is now also available without email address
(3) CreateThread hook was installed too often
2002-02-24 madTools 1.2g MsgHandler is now using mutex instead of critical section
2002-02-23 madCodeHook 1.3b mutexes were not entered, if they already existed
2002-02-23 madKernel 1.2r NewMutex did not enter, when the mutex already existed
2002-02-21 madRemote 1.0b CreateRemoteThread didn't work when CreateThread was hooked
2002-02-16 madTools 1.2f MsgHandler stuff rewritten, thread safe etc.
2002-02-08 madExcept 2.1 (1) madExcept now also runs 100% fine with runtime packages
(2) "save bug report" button added + auto save option
(3) email address max length increased to 75
(4) email subject max length increased to 50
2002-01-22 madKernel 1.2q kernel32.OpenThread is now used when available
2002-01-22 madExcept 2.0f kernel32.OpenThread is now used when available
2002-01-21 madRemote 1.0a ProcessHandleToID exported
2002-01-09 madBasic 1.6d TIBasic.AfterConstruction added to ease reference counting
2001-12-05 madKernel 1.2p the changes of the last version didn't work in NT4
2001-11-13 madExcept 2.0e (1) new threads (CreateThread) are now hooked automatically
(2) the new GetThreadList-NT worked on XP, but failed on NT4
2001-11-12 madStackTrace 1.5b little bug in the stack trace core logic fixed
2001-10-13 madKernel 1.2o (1) TIThreads.RefreshItem and TIProcesses.RefreshItem failed in NT if too many many threads/processes were running
(2) the whole Handle stuff now supports winXP
2001-10-13 madExcept 2.0d (1) GetThreadList-NT failed if too many threads were running
(2) if GetThreadList failed, the initialization crashed
2001-10-01 madKernel 1.2n TIMiniStream redefined, old design crashed sometimes
2001-08-26 madZip 0.1 based on Mike Lischke's zlib Delphi translation
2001-08-13 madExcept 2.0c time calculations corrected (time zones etc)
2001-08-09 madExcept 2.0b WM_SETFONT font converted to integer to avoid range errors
2001-08-03 madExcept 2.0a (1) serious bug in NameThread fixed (wrong allocation size)
(2) SendShellMail now supports line breaks (thanks, Raymond!), so we can totally get rid of the "please press Ctrl+V"
2001-07-28 madCodeHook 1.3a serious bug (-> crash!) in CreateProcessEx fixed
2001-07-23 madTools 1.2e Add/DelMsgHandler now can also work with other threads
2001-07-22 madRemote 1.0 this is a new package, the stuff was formerly in madDisAsm
2001-07-22 madExceptVcl 2.0 (1) dropping a TMadExceptionHandler component on your main form now enables the 3 main tasks of madExcept 2.0
(2) OnExceptAction property introduced
2001-07-22 madExcept 2.0 (1) new exception box with customizable buttons & messages
(2) extended bug report
(3) restart button or even automatic restart possible
(4) callbacks for every exception action
(5) integrated mail functionality (both mapi & ShellExecute)
(6) exception handlers can be synchronized
(7) main thread freeze detection
(8) everything can be configured by the IDE wizard
(9) during exception handling the other threads are paused
2001-07-22 madDisAsm 1.2a all remote stuff was moved to the new package "madRemote"
2001-07-22 madTools 1.2d fix for wrong OS information ("setup.exe" on ME)
2001-07-15 madStackTrace 1.5a GetMultiLineStr -> AsStr; GetSingleLineStr deleted
2001-07-15 madTools 1.2c new functions added:
(1) GetFreeSystemResources
(2) GetFileVersion / FileVersionToStr
2001-07-10 madExceptVcl 1.7c moved expert stuff to new design package madExceptIde
2001-07-08 madCodeHook 1.3 InjectLibrary added
2001-07-08 madKernel 1.2m (1) madDisAsm.CreateRemoteThread used where it makes sense
(2) IThread./IProcess.IsStillRunning logic changed
(3) some win9x internal hack structures corrected/extended
2001-07-08 madDisAsm 1.2 (1) CreateRemoteThread added (works also in win9x)
(2) Alloc/FreeMemEx added
2001-06-10 madExcept 1.5a "InitExceptionHandling" got faster
2001-06-06 madStackTrace 1.5 trace logic completely rewritten -> faster & more precise
2001-06-06 madMapFile 1.4g the most important find functions got a *lot* faster
2001-06-04 madDisAsm 1.1e (1) some changes in "TFunctionInfo"
(2) ParseFunction parameter "acceptOutsideCode" added
(3) "TCodeInfo.Call" added
2001-05-25 madCodeHook 1.2b mixture: automatic IAT patching of new processes/modules (9x)
normally not needed, because we also patch the export table
but in rare cases the import table is hard coded
2001-05-25 madDisAsm 1.1d (1) only targets with 4 byte length are accepted as far calls
(2) CopyFunction works better now inside of the IDE in win9x
2001-05-22 madKernel 1.2l little bug in TIProcess.Suspend/Resume fixed
2001-05-19 madTools 1.2b osWinXP added
2001-05-17 madStrings 1.5h ReplaceText added
2001-05-01 madMapFile 1.4f little bug in IMapFile.AddrToStr fixed
2001-04-30 madExcept 1.5 (1) minor changes in order to get rid of SysUtils
(2) "InitExceptionHandling" now called in initialization
(3) automatic initialization as early as possible
(4) unhandled runtime errors are finally also caught (!!)
2001-04-30 madStackTrace 1.4d minor changes in order to get rid of SysUtils
2001-04-30 madMapFile 1.4e minor changes in order to get rid of SysUtils and Classes
2001-04-26 madShell 1.3d special folders "sfDialupNetwork" and "sfTempFolder" added
2001-04-20 madCodeHook 1.2a you can now force HookCode to use the mixture mode
2001-04-16 madDisAsm 1.1c bug (relocating absolute targets) in CopyFunction fixed
2001-04-10 madTools 1.2a TOS.description added
2001-03-26 madSecurity 1.1k little bug in SetPrintAccess (win9x) fixed
2001-03-21 madSecurity 1.1j support for group accounts in win9x
2001-02-23 madDisAsm 1.1b little bug in ParseFunction fixed
2001-02-22 madSecurity 1.1i new shares in win9x are now automatically shared for everyone
2001-02-22 madShell 1.3c little parsing error in PathToIDList fixed
2001-02-02 madSecurity 1.1h (1) IAce.SetFlags was not part of the Flags property
(2) IShare.TargetSecurity + .ShareSecurity -> .SecurityObject
2001-02-01 madStrings 1.5g FileMatch rewritten
2001-01-31 madStrings 1.5f bug in PosPChar fixed
2001-01-28 madShell 1.3b SystemFolder renamed to SysFolder
2001-01-26 madShell 1.3a bug fixed in TIShellObj.NeedName
2001-01-24 madKernel 1.2k bug in GetHandleTableNt fixed (buffer too small)
2001-01-07 madDisAsm 1.1a FreeCopiedFunction added
2001-01-05 madLists 1.1d changed parameter in IPointerList.AddItems to "const"
2001-01-03 madStrings 1.5e bug in recursive ReplaceStr fixed
2000-12-23 madCodeHook 1.2 new function CreateProcessEx -> dll injecting
2000-12-22 madDisAsm 1.1 CopyFunction added and some minor changes
2000-12-21 madKernel 1.2j "IsMultiThread := true" added in NewThread
2000-12-07 madKernel 1.2i bug in GetWindowPlacement calls
2000-11-28 madCodeHook 1.1c bug in PatchImportTable fixed (2nd missing VirtualProtectEx)
2000-11-26 madCodeHook 1.1b (1) bug in PatchImportTable fixed (missing VirtualProtectEx)
(2) support for w9x debug mode
2000-11-25 madCodeHook 1.1a two bugs in the new hooking mode fixed
2000-11-24 madExcept 1.4e bugfix in 1.4d was faulty, refix, now it really works
2000-11-24 madStackTrace 1.4c bug in TIStackTrace.GetMultiLineStr fixed
2000-11-23 madCodeHook 1.1 (1) integrated enhanced import/export table patching added, so now we should be able to hook really *every* API
(2) no interfaces anymore to get rid of madBasic
2000-11-23 madKernel 1.2h little bug in [IProcess.]Module(memory) fixed
2000-11-23 madMapFile 1.4d little bug in FindMapFile fixed
2000-11-23 madDisAsm 1.0e minor bug fixes in ParseCode + ParseFunction
2000-11-22 madShell 1.3 RegisterShellEvent (and related) functionality added
2000-11-22 madTools 1.2 MsgHandlerWindow (and related) functionality added
2000-11-14 madExceptVcl 1.6e dropping TMadExceptionHandler didn't check menu item
2000-11-13 madSecurity 1.1g IShare.SetNetName added
2000-11-13 madExcept 1.4d bug with ExceptProcAddr fixed
2000-11-13 madLists 1.1c minor changes in order to get rid of SysUtils
2000-11-13 madStrings 1.5d little bug in PosPChar fixed
2000-10-31 madLists 1.1b little bug in TIInterfaceList.AddItem / TIPointerList.AddItem fixed
2000-10-31 madBasic 1.6c little bug in TICustomBasicList.AddItem fixed
2000-10-25 madKernel 1.2g found a new 9x hack for IProcess.CommandLine/.StartupInfo
2000-09-14 madBasic 1.6b TBasic.Checked converted from boolean to TExtBool
2000-08-18 madStrings 1.5c bugs in SubStrExists + SubTextExists + SubStr fixed
2000-08-15 madSecurity 1.1f IShare.SetPath added
2000-08-09 madShell 1.2b bug fixed in TIShellObj.ShowContextMenu (TrackPopupMenuEx)
2000-07-25 madBasic 1.6a minor changes in order to get rid of SysUtils
2000-07-25 madTools 1.1a minor changes in order to get rid of SysUtils
2000-07-25 madStrings 1.5b minor changes in order to get rid of SysUtils
2000-07-25 madTypes 1.4c MadException/TMethod added (to get rid of SysUtils)
2000-07-25 madCodeHook 1.0d minor changes in order to get rid of SysUtils