User:AF: Difference between revisions

From sc2k-reverse
Jump to navigationJump to search
AF (talk | contribs)
No edit summary
AF (talk | contribs)
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 4: Line 4:
with IDA.
with IDA.


-- Movie Function References --
== Movie Function References ==


--- 1 ---
Oh the pain..
Unsure where this is called from, though DATA XREF: .rdata:004DEE68
Thunk - 0x401C4E
Main - 0x48B2E0


--- 2 ---
Although for now this is a suspicion, the next target is likely going to be the Smacker functions (specifically SmackOpen()).
Called from GameDoIdleUpkeep()
 
Thunk - 0x401104
Confirmed for now, when SmackOpen() is called, amongst other things it is passing the constructed filename.
Main - 0x48A980
 
Working on importing the "needed" functions at present.. and then we'll see what happens.
 
As it turns out although the initial failure check had been bypassed with the correct path, the one that
SmackOpen() got was still the original.
 
So half-way there.
 
LPCSTR - const string.
 
=== 1 ===
Unsure where this is called from, though DATA XREF: .rdata:004DEE68<br>
Thunk - 0x401C4E<br>
Main - 0x48B2E0<br>
 
Apparently it is a function within a class. __thiscall
 
Though this specific case may be a diversion.
 
=== 2 ===
Called from GameDoIdleUpkeep()<br>
Thunk - 0x401104<br>
Main - 0x48A980<br>


Movie data directory address: 0x4EAA78
Movie data directory address: 0x4EAA78


By default it references: '\DATA'
By default it references: '\DATA\'


No drive letter by default, so this is touched upon elsewhere.
No drive letter by default, so this is touched upon elsewhere.
=== 3 ===
Called from both GameDoIdleUpKeep and '1' just above<br>
Thunk - 0x402360<br>
Main - 0x48A810<br>
It also references: '\DATA\'
== Portability ==
Exploring portability currently, ie storing all relevant registry keys for the sc2kfix module, sc2k and scurk in a specific ini file.<br>
<br>
The idea in this case is that the library will create an ini by default with 'portability' disabled, so the current behaviour is preserved, however when it is enabled then it will load/save all settings from there.<br>
<br>
This will require a few tweaks concerning binary detection so it knows what to touch, load and save.<br>
<br>
At the moment this is an experiment.

Latest revision as of 18:45, 9 March 2025

Landing page for information that isn't yet ready to go into the main sections on the site.

It will mostly account for a naming changes concerning marked down functions during the trawl with IDA.

Movie Function References

Oh the pain..

Although for now this is a suspicion, the next target is likely going to be the Smacker functions (specifically SmackOpen()).

Confirmed for now, when SmackOpen() is called, amongst other things it is passing the constructed filename.

Working on importing the "needed" functions at present.. and then we'll see what happens.

As it turns out although the initial failure check had been bypassed with the correct path, the one that SmackOpen() got was still the original.

So half-way there.

LPCSTR - const string.

1

Unsure where this is called from, though DATA XREF: .rdata:004DEE68
Thunk - 0x401C4E
Main - 0x48B2E0

Apparently it is a function within a class. __thiscall

Though this specific case may be a diversion.

2

Called from GameDoIdleUpkeep()
Thunk - 0x401104
Main - 0x48A980

Movie data directory address: 0x4EAA78

By default it references: '\DATA\'

No drive letter by default, so this is touched upon elsewhere.

3

Called from both GameDoIdleUpKeep and '1' just above
Thunk - 0x402360
Main - 0x48A810

It also references: '\DATA\'

Portability

Exploring portability currently, ie storing all relevant registry keys for the sc2kfix module, sc2k and scurk in a specific ini file.

The idea in this case is that the library will create an ini by default with 'portability' disabled, so the current behaviour is preserved, however when it is enabled then it will load/save all settings from there.

This will require a few tweaks concerning binary detection so it knows what to touch, load and save.

At the moment this is an experiment.