![]() |
SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
![]() |
#1 |
Sea Lord
![]() Join Date: Mar 2005
Location: Deep down in Germany
Posts: 1,969
Downloads: 42
Uploads: 0
|
![]()
TDW mentioned this method in sh3 section for using new water shaders in sh3. He said, he believes the shaders are called through the sh3.exe - so if one manages to dig into this exe file, he could reach a fundamental breakthrough in modding sh3.
![]() I do not know anything about this, but would love to learn more. The topic is totally new for me, as for many others here as well. Could the people who have experience in this, post their knowledge and share it to all of us? ![]() TDW also mentioned, if more people here would have the knowledge about software reverse engineering, we could mod the game to our needs, as nearly EVERYTHING seems to be possible. ![]() AND...Please leave any of this bothering policy statements about licenses, forbidden things and all this unneccessary, boring and unuseful things, that made some of our great modders already leave the boat. There is simply nothing to fear, as long, as no one claims you to stop your work. By the way...the SH-Series is dead, so theres nothing to come, if we are not creating it. ![]()
__________________
|
![]() |
![]() |
![]() |
#2 |
Admirable Mike
Join Date: Mar 2004
Location: Canada
Posts: 1,338
Downloads: 421
Uploads: 0
|
![]()
Quote: I do not know anything about this, but would love to learn more. The topic is totally new for me, as for many others here as well. Could the people who have experience in this, post their knowledge and share it to all of us?
This is illegal, regardless of your opinion. It is also morally wrong, just as pirating copies of discs and hacking.
__________________
Game Designer: Close The Atlantic - World War Three https://boardgamegeek.com/boardgame/...orld-war-three |
![]() |
![]() |
![]() |
#3 | |
Black Magic
![]() |
![]() Quote:
Let me cite one example of RE that benefited everyone. Microsoft's Word format was a 'closed' format that only Microsoft's Word could read/create. Third party companies used RE to figure out the word format and they created software that could read/write the word format. Did you see Microsoft filing any lawsuits on this? No. There was nothing they could do about it because those third party companies created their own unique software that didn't use any of Microsoft's libraries or modules. Who was the winner in this? Everyone. Check your local Borders, Amazon.com, etc. to see what they offer book wise on the subject. You'll see there are MANY books on it. They are EXCELLENT reading for those that have an interest in learning. Sadly the average person's knowledge in RE dwindles every day because of 'false fear' everyone tries to raise about it. Companies/corporations try to instill this 'fear' as a scare tactic and sadly it works on the majority of people. The best defense is knowing the ways/tactics of your potential attacker/foe ![]() Last edited by TheDarkWraith; 06-14-11 at 03:26 PM. |
|
![]() |
![]() |
![]() |
#4 |
sim2reality
![]() Join Date: Jun 2007
Location: AM 82
Posts: 2,280
Downloads: 258
Uploads: 30
|
![]()
Well I've been trying to delve into this Reverse Engineering - since TDW mentioned ollydbg. Wow its complex stuff.
But I've managed to track down the stadimeter bug - locations in memorry. I've managed to find the Base Address for the Stadimeter Range, that is the one that is linked to Sh5 memory address on loading and so is available always. And also both of the Offset routes the stadimeter uses for that value (These use RVA address so change every time on game load - but I have the Base address and offsets). Now of the 2 routes one is the Correct value and one is the bugged 20M value. So I can see in the Bugged one. That SH5 gets the range when using the stadimeter but on mouse release does not change to relflect the mast height - this value is then displayed in the XO Dialogue. Now the working value. Sh5 gets the range when using the stadimeter but on mouse release does update the Range to reflect the correct mast height. (I also noticed that when I click The Stadimeter Fix icon from my Mod it - updates the incorrect value to the correct value - So this 100% confirms my fix is correct, But it would be great to fix the Stock Stadimeter bug in code.) But the XO Dialogue does not update this value. So the correct value is never used by SH5 just sits in memory - This is most likely SH4 code ![]() Now as my programming skills are very little - I do not know how to redirect the value from the Base Address of the correct value into the pointer of the incorrect value (That SH5 is using). Don't know how to use Assembly to do the code inject or whatever is nedded to achieve this. TDW any ideas on how this can be done ![]() I can give you the address for the relevant data, but would like to learn how to do this also - by tutorial or whatever means ![]() |
![]() |
![]() |
![]() |
#5 | |
Black Magic
![]() |
![]() Quote:
![]() |
|
![]() |
![]() |
![]() |
#6 | |
sim2reality
![]() Join Date: Jun 2007
Location: AM 82
Posts: 2,280
Downloads: 258
Uploads: 30
|
![]() Quote:
These are the Addresses i found SH5.exe+47D740 (This gave me a Base Address of 005ED740 with my game) Sh5.exe Process was at 000014B0. second one had a Base Address of 005EE290 Hope I've done it right and found the static ones and not false pointers. ![]() |
|
![]() |
![]() |
![]() |
#7 |
Seasoned Skipper
![]() Join Date: Aug 2010
Location: 49°44´N 129°40´E
Posts: 665
Downloads: 124
Uploads: 7
|
![]()
Yes, the question is twofold. When thinking sensibly, in this case, no immorality and illegality there. Indeed, the only benefit that we derive from reverse-engineering is the only higher quality game
![]() ![]() But it could conceivably come to the ridiculous: in 2006 in Russia happened is that (probably Russia and abroad, the case made a splash) ![]() ![]() I am confident of the correctness of TheDarkWraith - who no matter how he knows all the pitfalls in this process. ![]()
__________________
Speed squadron is the speed of the slowest ship ... but only so long as on the trail of the squadron did not sit submarines ... ![]() |
![]() |
![]() |
![]() |
#8 |
Black Magic
![]() |
![]()
@ Obelix - interestingly I learned the majority of my 'specialized' skills from you Russians
![]() ![]() ![]() @ Reaper7 - I'll look into those addresses tonight ![]() ![]() ![]() ![]() ![]() EDIT: @ Reaper7 - not sure how you found that address....were you using Olly Debug? If so, what was the base address, size, and entry point of your SH5.exe? Last edited by TheDarkWraith; 06-14-11 at 07:47 PM. |
![]() |
![]() |
![]() |
#9 | |
Admiral
![]() Join Date: Jan 2006
Location: Russia ®
Posts: 2,492
Downloads: 122
Uploads: 1
|
![]() Quote:
![]() ![]()
__________________
Alex ® ![]() Moses said: "Don't create yourself an idol"... |
|
![]() |
![]() |
![]() |
#10 |
Officer
![]() Join Date: Dec 2009
Location: British Waters
Posts: 243
Downloads: 98
Uploads: 0
|
![]()
Where does one start on such a vast topic?
If you read guides about it like 2 sentances in it goes off on one about pointers, assembler, hex, debuggers without actually explaining anything ![]() ![]() |
![]() |
![]() |
![]() |
#11 | |
Silent Hunter
![]() Join Date: Sep 2010
Posts: 3,975
Downloads: 153
Uploads: 11
|
![]() Quote:
I agree. Many of us did not grow up with computers, and have only learned how to use them with some difficulty. Not everyone is an expert. |
|
![]() |
![]() |
![]() |
#12 |
Sea Lord
![]() Join Date: Mar 2005
Location: Deep down in Germany
Posts: 1,969
Downloads: 42
Uploads: 0
|
![]()
any constructive additions?
@tdw i know there are books. i also know there is something called internet, which has even more sources. but as you might understand, i am not willed to spend my rare time in searching through all this complex stuff, just to change some things in a games "exe". maybe reasonable. i dont want to be an expert in RE some time in future. i am a designer and coding, hex editing and all this dry, complex logic stuff with numbers is heating up my brain to an unstandable level. beside this, i simply do not have the time to dig as deep into this topic, as you want me to do. so i ask here, so people might post their experiences and helpful tutorials.
__________________
|
![]() |
![]() |
![]() |
#13 | |
sim2reality
![]() Join Date: Jun 2007
Location: AM 82
Posts: 2,280
Downloads: 258
Uploads: 30
|
![]() Quote:
But hopefully all the relevant info is here to get the Stadimeter. In the Following Pic You can see the Base, Size and Module name thats loaded for SH5. I'm using Cheat Engine 6.1 to find my addresses and pointers within the sh5.exe code and memory thats used. ![]() Also took 2 more pics to show whats happening with regards the Stadimeter and the 2 pointer branches that are used. ![]() ![]() There are a total of 16 addresses that hold the stadimeter values (Both SH5 and Sh4) of these 2 are writeable the rest read only. I only worked with these 2 to bac track thru all the pointers to get to the Base Address (Cheat Engine shows this value as green to show its a static address). One thing I noticed that both code sets used are very similar except for the offsets used in the last pointers code for both. One has its offset at 00000084 the other at 00000094 as can be seen in the Memory viewer in first pic - maybe this is the problem ![]() Hope that this info is good to get you going TDW ![]() EDIT: Still not Sure this is the Base Address - Need to find how to do this in Ollydbg Here is the Op, Assembly code you can search for - maybe that will help to find it 00412FF5 - F3 0F11 81 84000000 - movss [ecx+00000084],xmm0 Last edited by reaper7; 06-15-11 at 03:36 PM. |
|
![]() |
![]() |
![]() |
#14 |
sim2reality
![]() Join Date: Jun 2007
Location: AM 82
Posts: 2,280
Downloads: 258
Uploads: 30
|
![]()
Yes, I got it working - gave up on cheat Engine and went back to Ollydbg
Found the Memeory address via TSearch and added breakpoint on memory access to find whats writing to it. Found the same commands I had found in Cheat Engine. But was able to see the jumps and run routine in Olly. Could see the The offset 84 line was being jumped over to the offset 94 line. So Manually edited the line to change the offset from 94 to 84 for both the original address and the one calling it. ![]() What do you know it works. Now just need to figure out how to add the fix or maybe you could add it to your Reverse Engineer Patch file TDW ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Next on the List has to be the Reset to Zero Bug. |
![]() |
![]() |
![]() |
#15 | |
Samurai Navy
![]() Join Date: Jun 2009
Location: Germany, 50 Kilometers away from Kiel
Posts: 576
Downloads: 343
Uploads: 0
|
![]() Quote:
![]() ![]() ![]() ![]() 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 |
|
![]() |
![]() |
![]() |
|
|