📄 version.txt.bak
字号:
Latest Additions:
-----------------
Version 2.28
------------
I have actually moved over to MSVC at the moment, since Borland C++ Builder does not seem to want to compile Borg easily without adding its own WinMain, etc. Perhaps I just don't know enough about Builder ? Anyway, MSVC v6.0. This has necessitated moving some declarations around due to a lot of template warnings re deleting objects....
1. schedule comment memory is now managed by the scheduler. Should resolve some memory leakage.
Version 2.27
------------
1. File save as text/asm now use new ofn functions in common.cpp.
2. Extra debug function added to debug.cpp.
3. Changes to file loading, now checks for zero size file.
4. Bugfix in display code re looping at start of segs in display output.
5. Bugfix - export code outside known data area was causing a crash.
Version 2.26
------------
1. Bugfix re string printing on unicode and dos style strings.
2. Bugfix re some sib formats.
3. Bigfix re string resource id number generation.
4. Changed delfunc and compare to virtual functions which seems to have cured compiler problems.
Version 2.25
------------
1. revisited header includes and cleaned up a few unnecessary includes.
2. bugfix in finding the current line.
3. bugfix in asm output for uninitdata. db ??
4. db now has h after hex numbers.
5. rep/repne and lock are now treated as proper prefixes rather than separate instructions.
6. sib indexes now appear in separate []'s. eg [eax][ebx*4].
7. ds has now been changed to db, with hex values for non-printing chars.
8. a lot of changes on output to enable easier reassembly of saved listings. 'Dword ptr' and 'Word ptr' are now used more, for tasm compatibility. all hex values starting with alphas are now preceded with zero. all pointer types should now be recognised by assemblers (byte, word, dword, fword, qword, tbyte are used in place of double-real, etc).
9. fld freg now shows only one argument, and fxch.
10. instructions are now added to the database outside the decodeinst instruction as this was leaving corrupted databases in cases where prefix bytes made the instruction straddle comments.
Version 2.24
------------
1. Just added a makefile...... should remember to include and update it with each version now.
2. More common routines to help with interfacing to common dialogs.
3. Some structs are now internal to modules, for example taskitem, as nowhere else needs to know about the data structure.
4. decrypter now has read_item and write_item functions and data structure has been internalised. Similar changes to relocs. Some changes to data.cpp along the same lines.
5. default location naming, for example loc_00401000 for xreffed locations.
6. comments now appear before names.
7. locs are now printed on all lines.
8. bugfix re 2.23 problems with database files not working.
9. bugfix re 2.23 not working on NT.
Version 2.23
------------
1. deleting xrefs now calls window update to update the number of xrefs.
2. updated the segviewer to use findnext.
3. added between(lwb,upb) to lptr class.
4. changed findseg to always leave the iterator pointing to the next segment.
5. cleaned up search code. bugfix - will now find a string if it exactly contains the last byte of a segment.
6. introduced more macros for decoding convoluted structures.
7. moved dialogs from decrypt.cpp to user_fn.cpp
8. corrected a few minor problems, and removed stop/start of thread from setting block extents.
9. commented out the compare function from the list class as it was causing MSVC problems with compilation. MSVC is still problematic though, and I recommend Borland C++ 5.00.
10. renamed dlg_ldopt.* to dlg_ldop.*, 8 chars is better for my batch files!
11. added a short tutorial on using Borg, an introduction for newbies to Borg :)
12. dialogs now return true on processing messages except wm_initdlg which returns false.
Version 2.22
------------
1. Reworking of SYS file support.
2. All functions now have brief comments in the sourcecode, also did some reformatting of some statements.
3. Removed a lot of colour message processing from dialogs and windows, all the WM_CTLCOLORSTATIC, etc. I think this was in originally due to an older compiler and the development version of comctl32 which was with it.
4. Now using macros in some areas where complex typecasts were common (lists and disasm.cpp for example).
5. More basic functions added to simplify coding in some areas, eg disasm.cpp.
6. Reworking of nextseg and lastseg functions and calling code.
7. Formed help.cpp and registry.cpp to take some functions which need less updates.
8. Added CenterWindow(HWND) to support functions and recoded various Dialogs.
9. Removed some redundant code from Dialogs.
10. BOOL,FALSE and TRUE are now bool, false and true.
11. list.cpp is now a template, and is contained in list.h. Removed a lot of unnecessary casting and most of the macros.
12. deletion and compare functions for the lists are now part of the list class and overridden as required.
13. user_dlg.cpp file has been created for user dialogs. This will contain dialogs and code for viewing things, naming things, etc, which helps separate primary thread and secondary/engine thread code out. The viewers are now more disocciated from their classes. Consequences of this are moving exports, imports and names to the gname class and deleting the exports.cpp, exports.h, imports.cpp, imports.h, names.cpp and names.h files.
14. demangle has been moved from the gname class to general functions.
15. naming locations is now directly interfaced to the engine and the secondary thread is stopped rather than going through the scheduler.
16. set range top and bottom now stop the thread for processing.
17. user_dlg routines now enforce stricter stopping and starting of the secondary thread.
18. range viewer moved to user_dlg.cpp
19. xrefs viewer moved to user_dlg.cpp and repeater made a global variable.
20. added separate parsing routines for different searches and cleaned up the search code.
21. added database.cpp for routines for database control of loading and saving.
22. changed fileload to exeload with the intention that exe loading routines will be split up more. added dlg_ldopt which deals with dialogs for file-open for new files and setting of options. the routines here call the appropriate loader.
23. all load and save routines for databases are now in database.cpp and extracted from classes. This has meant making more class variables public (to be looked at later). database.cpp only exposes loaddb and savedb procedures to the rest of the program.
24. naming locations, adding and changing comments now go through the scheduler instead of the primary thread.
25. repeater variable for dialog boxes has been dropped. dialogs must send a request through the scheduler instead. the request when processed by the scheduler simply posts a windows message back to the main window to reshow the dialog.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -