Reply 160 of 176, by DEF_SEG
I downloaded `dosbox-74-2-debug.exe`.
Is there a list of file hashes on the forum or on dosbox.com? I searched but was unable to find it.
I downloaded `dosbox-74-2-debug.exe`.
Is there a list of file hashes on the forum or on dosbox.com? I searched but was unable to find it.
I just downloaded dosbox-74-3-debug.exe and it says it's missing SDL DLLs. It seems the normal version of DOSBox was compiled with static SDL libraries, but the debug version of DOSBox is compiled only with import libraries mode, expecting external DLLs to be supplied separately. Also it's expecting DLLs with the names SDL.dll and SDL_net.dll but those can't be downloaded from the official SDL website or github. Only the DLLs called SDL2.dll and SDL2_net.dll are available there. It seems that SDL.dll (and releated files) must be from SDL 1.x while the currently available DLLs are based on SDL 2.x and are therefore not the same DLL files. Also the DLL files can't just be renamed. I'm not sure about the equivalent in Linux (.SO files) but Windows DLLs can't just be renamed. Windows DLLs have an internal name that usually must match the filename for them to work correctly. And that's been the case here. I can't download the current SDL DLLs and have them work in DOSBox. I'll need to find an archive of old SDL DLLs somewhere, unless somebody here can post them for me to download. Without those, I won't be able to use dosbox-74-3-debug.exe
Regular DOSBox builds do not use static SDL libraries.
videogamer555 wrote on 2024-05-23, 21:02:I'll need to find an archive of old SDL DLLs somewhere, unless somebody here can post them for me to download. Without those, I won't be able to use dosbox-74-3-debug.exe
I did Google searches for "sdl" and "sdl_net" and these links were on the first screen of results:
https://www.libsdl.org/release/
https://www.libsdl.org/projects/SDL_net/release/
https://www.libsdl.org/release/SDL-1.2.15-win32.zip contains an "SDL.dll" and I suspect some download from the second link will give you the SDL_net.dll you need.
Just install DOSBox from the website, it includes the SDL DLLs because it is NOT built with static linking.
jmarsh wrote on 2024-05-23, 22:14:Regular DOSBox builds do not use static SDL libraries.
Ok. Sorry. I thought it was statically linked in the normal version because I didn't remember seeing the DLLs there, but upon looking at it again, I see it does have the DLLs there.
is there a way to find a code that accesses string, it should be something like "push ########" right? in ollydbg its very easy , how to in dosbox debugger?
No, "push" is putting something on the stack, it has nothing to do with string manipulation. In fact, a string is just a contigious memory area where bytes are stored, so there's nothing in assembly to recognize a certain memory area is used to store a string. Ollydbg has a dynamic analyzer, that recognizes (or rather, makes an educated guess) about what certain memory areas contain, based on common patterns. It is more like a reverse engineering tool than just a debugger. The DOSbox debugger is just that, a debugger. It has none of the advanced features of Ollydbg.
RaVeN-05 wrote on 2024-10-10, 11:49:is there a way to find a code that accesses string, it should be something like "push ########" right? in ollydbg its very easy , how to in dosbox debugger?
If the access you're interested in is modifying (not just reading) the string, and you know where it's located, you could use one of these commands:
Fizzban wrote on 2004-01-22, 03:31:[*]BPM [seg]:[offset] sets a breakpoint that activates whenever the content of the given memory location changes. Attention: The new breakpoint will assume that the given location currently has the value 0x00. So you may get a "memory has changed from 00 to ??" breakpoint message as soon as you continue the execution although the memory actually didn't change.
[*]BPPM [selector]:[offset] is like BPM but with protected-mode-memory
[*]BPLM [linear address] like BPM but with a linear address location
From a quick skim, I didn't see a "break on read" function, but there might be one there.
Hello, can somebody share a working link for downloading DOSBox Debugger please? The three links listed in this thread are not working. Thanks!
They work fine if you tell your browser to mind its own business about what files you download.
jmarsh wrote on 2024-10-13, 17:21:They work fine if you tell your browser to mind its own business about what files you download.
Thanks, my bad.
I know exact string, and I want to find piece of code which references to it, it can be mov to register an address or pushes this address to stack
Again...
1. Run the Dosbox Debugger under another debugger (i.e. OllyDbg).
2. Use a memory scanner (i.e. Cheat Engiine) to find the "host" address of the string in memory.
3. Set a hardware breakpoint on the memory address of the string in the host debugger (i.e. OllyDbg).
Now... when the hardware breakpoint trips:
4. Signal the Dosbox Debugger to break.****
5. Resume execution in the host debugger (i.e OllyDbg).
The Dosbox Debugger should now be one instruction beyond whatever instruction accessed that memory location.
***
The trick is telling the dosbox debugger to break from the host debugger.
I just added a volatile boolean that I could set in the `DEBUG_HeavyIsBreakpoint()` function.
The address of the boolean was found automatically by loading the dosbox debug symbols file in the host debugger.
not working (
"4. Signal the Dosbox Debugger to break.****" fails
when i downloaded debug version, only exe downloaded i dont have pdb symbols file.
It must be built from source. We have to modify the source code for the `DEBUG_HeavyIsBreakpoint` function to add a toggle switch that can be poked by the host debugger.
oh my god, can you please share for me that version, or PM, its painful for me to compile something which is not my own. sorry (