Un-extern some strings in zLightningTweakChangeType#413
Un-extern some strings in zLightningTweakChangeType#413SquareMan merged 3 commits intobfbbdecomp:mainfrom
Conversation
|
Could be that it's trying to start at a specific offset in the string data. Might be better expressed as: |
|
I'm almost willing to bet that this isn't what they wrote, and that it has something to do with reusing the string |
|
Have you tried just using the string at that starts at the offset? Not something I've ever confirmed but I would think the way it ends up in the program memory, it's like using a specific substring that gets loaded in from the static data. So like: |
|
So strings are treated specially by the compiler. All the strings used in a single translation unit get pooled together into the single This was originally old, pre dtk code. To get matching assembly a fake extern char* symbol was used and the offset was manually added. Tldr the correct string is likely the literal you have now without any of the weird indexing stuff. This may not match for the stringBase offset if previous functions that use strings aren't decomped but what's important is that the string itself is correct. You can verify this by viewing the stringBase symbol data and seeing what string starts at the offset used. Additionally recent versions of objdiff should show the specific string used if you hover the instruction that adds the offset. |
|
Oh, good to know. I'll verify that and remove the offsets |


Honestly, not sure if this is correct, but it got the function's matching score up a little bit. Anyone have any idea why those
+ 0x18s are necessary?