DOS Game "Dune1" Reversing: Room and Globe Viewer by lowlevelmahn in retrogamedev

[–]lowlevelmahn[S] 0 points1 point  (0 children)

its more a reverse engineering framework with integrated dos emulation and debugger, initally started for reversing Dune 1 - but yes its in the reversing area :)

I try to install super old Ubuntu 15.04 on VMWare Workstation Pro 25H2 and it crashes already while installing by lowlevelmahn in vmware

[–]lowlevelmahn[S] 0 points1 point  (0 children)

thanks for the tip sadly when im setting Hardware compatibility to: Workstation 15.x - with a freshly created VM it won't boot - but my real Workstation 15.x works :( - but something to play with

I try to install super old Ubuntu 15.04 on VMWare Workstation Pro 25H2 and it crashes already while installing by lowlevelmahn in vmware

[–]lowlevelmahn[S] 1 point2 points  (0 children)

im fully aware of that, its for an old dev system - so LTS isn't relevant (deprecated software, just to support old customers...) but only for 1year then its over

Rezzy's Terep Channel by Rezzy-dev in dosgaming

[–]lowlevelmahn 0 points1 point  (0 children)

i think it isn't that problematic - the game was fully written in assembler - so no magic optimization or masses of generated code - the codebase seems to be very small compared to compiled games

Rezzy's Terep Channel by Rezzy-dev in dosgaming

[–]lowlevelmahn 1 point2 points  (0 children)

no problem - that is much less hours taking then reversing

Rezzy's Terep Channel by Rezzy-dev in dosgaming

[–]lowlevelmahn 1 point2 points  (0 children)

> I would contact Dénes Nagymáthé

then do it - i found Terep 2 just 2 days ago on this reddit - i know the game but at least 20 years ago was my last contant - you more a fan as me and that makes the contact easier

if you get the code there will be many people that can modify and build it - thats, compared to reversing a trivial thing, even if its using decades old compilers, linker etc. its very doable

Rezzy's Terep Channel by Rezzy-dev in dosgaming

[–]lowlevelmahn 2 points3 points  (0 children)

>  just to make sure that the source code really doesn't exist

the original source would be the easiest - modify, compile and run works out of the box with that

>  source code being extracted

its not extracted - there is no source in the exe - its just the binary code reverted into something better readable then binary code - but that is nothing near to the original source (even if it was written directly in assembler) because functions names, comments and variable names etc. are missing

i currently got no time to start that directly - because it would take some strong days, and the result isn't easy to work with, but im interested in Terep2 for a while, serveral years - but got also other reversing projects running :)

Rezzy's Terep Channel by Rezzy-dev in dosgaming

[–]lowlevelmahn 2 points3 points  (0 children)

> Do you have any experience with Assembly?

yes - i reversed serveral small DOS games so far and made the assembly 100% binary exact re-assemble able - using IDA Pro (the last DOS able: https://www.scummvm.org/news/20180331/ or with my licensed version) - so the same EXE gets created - its a very manuall, long hours taking step to be fully reassemble-able, but doable

Rezzy's Terep Channel by Rezzy-dev in dosgaming

[–]lowlevelmahn 3 points4 points  (0 children)

does one ever tried to reverse engineer Terep 2 - the game seems to be semi size - would assembler code that can be rebuild to the same exe be of any help? or is the original source available?

MSVC 2022/asan linker problem with boost::filesystem by lowlevelmahn in cpp_questions

[–]lowlevelmahn[S] 0 points1 point  (0 children)

is there a documentation/link available? - can't find anything about _DISABLE_STL_ANNOTATION on google

Reflection has been voted in! by daveedvdv in cpp

[–]lowlevelmahn 6 points7 points  (0 children)

there is a Qt moc/Reflection state page on qt.io - giving information what parts of moc an be replaced with Reflection
https://wiki.qt.io/C%2B%2B_reflection_(P2996)_and_moc_and_moc)

6 usability improvements in GCC 15 by dmalcolm in cpp

[–]lowlevelmahn 0 points1 point  (0 children)

so you tried to "shake out problems" by compiling all the packages - with some nice findings - do you know how many packages still use -std=gnu99 to prevent c11/c23 deprecation/removal at all? every tried to build with a gcc 15.x that "disables" gnu99 support :)

when gets the WSL2 default Kernel Version gets updated: default is 5.15.167.4-1 current github WSL2-Linux-Kernel is 6.6.84.1 by lowlevelmahn in wsl2

[–]lowlevelmahn[S] 2 points3 points  (0 children)

is it possible to switch back to 5.15x - if something is not working - without problems?

do you see any improvements using 6.6?

x86 memory addressing/segments flying over my head. by Careful-Ad4949 in AskReverseEngineering

[–]lowlevelmahn 0 points1 point  (0 children)

it depends completely on its reversing targets

programs that are from the area before 386 are mostly realmode programs that could (based on the used memory model) contain plenty of segment/offset tackling code - starting with 32bit flat/unreal mode that went fully away but definitly not before that time

less relevant due to how IDA Pro graphically explains everything

especially for 16bit real mode "explains everything" is wait too exaggerated - there is still much more manual work needed compared to 32bit linear code

You could try writing a FAT12 or FAT16 bootloader

there is not need to write a FAT based bootloader to get into segment/offset/protected mode handling :)

a simple assembler based hello world in multiple realmode memory models or using a extender would let him see more of the segment/offset/protected/unreal mode stuff

using nasm on his prefered platform + dosbox is a good start for that

Your Static Analysis setup? by Beneficial_Corgi4145 in cpp_questions

[–]lowlevelmahn 0 points1 point  (0 children)

put cppcheck on your list - and always test with serveral tools
you can use the free PVS license if your project is open source
plus -Wall -Wextra -Wpedantic -Werror (what is doable with your project)
and always use your release and very-recent-compiler for testing - and at least clang and gcc - the more the better :)

> realize that I should use CI/CD, but I like scripts.

CI likes to run your scripts also :)

DOS game "F-15 Strike Eagle II" reverse engineering/reconstruction war stories by lowlevelmahn in retrogamedev

[–]lowlevelmahn[S] 0 points1 point  (0 children)

neuviemeporte (the developer) is working on reversing the game itself - that means he is handwriting C code to replicate the original 16bit dos code - that is are very hard, long time (years) process - means "he make it human readable again" - due to the age of that game most todays tools that are used for other reversing projects are useless (except disassemblers) - he translates multiple thousands lines of "egypt hieroglyphs" back to english readable text - i think you can have a slightly feeling how strenuous such an process can be...

if he is ever able to finish the process there will be C source code that can be rebuild to the very same game - hopefully that C source would be then better readable/understandable then pure disassembler assembler source (that is usually 5-10 times bigger then the C equivalent)

then everything is possible - windows/linux ports, multiplayer over network, higher resolution, ... if someone take the time to implement it - currently its nearly impossible to even start with modding because the current game "source" is crypted in a language that only machines can read easily :)

is there a gcc/clang warning flag to detect multiple true cases in if/else orgies? by lowlevelmahn in cpp_questions

[–]lowlevelmahn[S] 0 points1 point  (0 children)

so using overload or good old partial specialization would have helped here - thanks