SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   SH5 Mods Workshop (https://www.subsim.com/radioroom/forumdisplay.php?f=249)
-   -   [TEC] *.exe Reverse-Engineering (https://www.subsim.com/radioroom/showthread.php?t=184558)

Trevally. 06-15-11 05:36 PM

Good work Reaper7:yeah: :woot::woot:

reaper7 06-15-11 05:49 PM

Quote:

Originally Posted by DrJones (Post 1684812)
Congratulations reaper7 :woot::yeah::up::rock:

Now it is still getting more and more interessting....i think i should also keep an eye on cheat Engine and Ollydbg.

Keep on your good working...

Best Regard and Wishes

DrJones


This only proves it works - still need to figure how to make the patch or else TDW can add to his current patches.
But its working with ollydbg attached to the Sh5 Process. So I'm sure its a simple thing to make the permanent edits to a patch :up:

urfisch 06-15-11 06:12 PM

really great news, reaper!

:rock:

Obelix 06-15-11 06:23 PM

Good work, reaper!:up::rock:

What if I have an incorrect spelling of pi? In sh5.exe pi to seven decimal places contains errors. Total uses 15 decimals.:06:

TheDarkWraith 06-15-11 07:41 PM

Quote:

Originally Posted by reaper7 (Post 1684827)
This only proves it works - still need to figure how to make the patch or else TDW can add to his current patches.
But its working with ollydbg attached to the Sh5 Process. So I'm sure its a simple thing to make the permanent edits to a patch :up:

My auto patcher uses patch files. Just create a patch file with your change :up:

urfisch 06-16-11 05:06 AM

maybe this whole topic is starting to get very interesting....

:hmmm:

smells like endless possibilities...does it?

DrJones 06-16-11 07:57 AM

Quote:

Originally Posted by urfisch (Post 1685079)
maybe this whole topic is starting to get very interesting....

:hmmm:

smells like endless possibilities...does it?


Of Course...Maybe there is a need to have some support using the tools :DL

urfisch 06-16-11 12:56 PM

yap, i think so. this is why i started this thread ;)

PL_Andrev 06-17-11 11:13 AM

So, when will PT, DD, CL and CV shot their torpedoes to surfaced uboats?
:03:

reaper7 06-17-11 01:41 PM

Well I had a patch all made up, and decided to test the Mod after applying the Patch.

Hmmm, the stadimeter worked ok, but going to the other dials it looks like there's some unwanted side effects.
The Range Dial no longer turns and the reset to zero bug is more obvious now.

I've done some digging and noticed that the Memory address that I was using for the fix is also being used by not only Range - But AOB, Target Speed and Bearing.

So that explains the Reset to Zero Bug - All these dials are sharing the same Address's to store the value before updating the final value for the relevant dial.

So for example If i set my range its stored in this address, now if I change to AOB it resets to zero (Because the AOB is currently set at 0 degrees so that value is moved to the address) Overwriting the one for range that was stored there.

This was very sloppy programming on behalf of the Devs - Why not give ever dial its own address for storing the temp values - like every other game out there. :nope:
Its not like a couple of dials each using a float space in memory is going to amount to much memory maybe 20Bits (160Bytes) in total. Especially when some of the dials have multiple copies of the same value stored in different addresses - where only one is needed - Bad management of the memory.

Looks like this is going to take more than changing the offesets due to the shared address Issue. :wah:

Philipp_Thomsen 06-17-11 02:07 PM

SOUND!

Sound is what needs to be fixed.

We have only ONE stinking internal ambient sound for the submarine. Doesn't matter if you're surfaced, submerged, silent running or what not, the same ambient sound is played.

Now, as a sound editor myself, I could do us WONDERS if we could patch the exe in order to include a function calling different ambient sounds for different situations of the uboat.

I don't know squat about RE, my skills lies elsewhere. But teamwork wins right?

Trevally. 06-17-11 02:29 PM

Quote:

Originally Posted by reaper7 (Post 1685985)
I've done some digging and noticed that the Memory address that I was using for the fix is also being used by not only Range - But AOB, Target Speed and Bearing.

So that explains the Reset to Zero Bug - All these dials are sharing the same Address's to store the value before updating the final value for the relevant dial.

So for example If i set my range its stored in this address, now if I change to AOB it resets to zero (Because the AOB is currently set at 0 degrees so that value is moved to the address) Overwriting the one for range that was stored there.

:woot:Fantastic find reaper :woot:

Hope you can fix it:yeah:

urfisch 06-17-11 04:03 PM

Quote:

Originally Posted by reaper7 (Post 1685985)
Well I had a patch all made up, and decided to test the Mod after applying the Patch.

Hmmm, the stadimeter worked ok, but going to the other dials it looks like there's some unwanted side effects.
The Range Dial no longer turns and the reset to zero bug is more obvious now.

I've done some digging and noticed that the Memory address that I was using for the fix is also being used by not only Range - But AOB, Target Speed and Bearing.

So that explains the Reset to Zero Bug - All these dials are sharing the same Address's to store the value before updating the final value for the relevant dial.

So for example If i set my range its stored in this address, now if I change to AOB it resets to zero (Because the AOB is currently set at 0 degrees so that value is moved to the address) Overwriting the one for range that was stored there.

This was very sloppy programming on behalf of the Devs - Why not give ever dial its own address for storing the temp values - like every other game out there. :nope:
Its not like a coiple of dials each using a float space in memory is going to amount to much memory maybe 20Bits (80Bytes) in total. Especially when some of the dials have multiple copies of the same value stored in different addresses - where only one is needed - Bad management of the memory.

Looks like this is going to take more than changing the offesets due to the shared address Issue. :wah:

yes, this find prooves the devs where under an extreme pressure of time and the programming is not the state of art over there in romania. what a shame...to present a full price game at this unfinished and unprofessionally coded state to us...

:nope:

what would we do without people like you, that got the skills to change all these crappy and unfinished delivered things...

i have a lot of respect for people like you and tdw.

:yep:

reaper7 06-17-11 04:35 PM

Quote:

Originally Posted by urfisch (Post 1686060)
yes, this find prooves the devs where under an extreme pressure of time and the programming is not the state of art over there in romania. what a shame...to present a full price game at this unfinished and unprofessionally coded state to us...

:nope:

what would we do without people like you, that got the skills to change all these crappy and unfinished delivered things...

i have a lot of respect for people like you and tdw.

:yep:

Cheers Mate, I wish I had the skills. Only just getting the Basic on how code works. Never did Assembly or reverse engineering before.
Only going on the few youtube tutorials I've found on pointers and addresses.
So not even sure I can figure out how to circumvent the current code.
Most likely going to take some new assembly code injected into the exe (Via patch) to reroute the current dials to individual memory locations for temp before routing them to there final value locations :hmmm:.

urfisch 06-18-11 05:23 AM

thougt of the same thing. address a whole new area of memory for that, if it is possible. but this was only a thought as to the note of tdw, that we can inject things and change calls in the exe file. that sound to me, as if we might be able to change nearly every file/shader/library the exe uses or calls.

and in the end: i am a noobnoob. so, just a thought, mate.

anyway, you are doing great work. keep it on. i wish i had the time to learn this stuff. i would definitely change a lot of elemental things!


All times are GMT -5. The time now is 04:48 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.