Okay.... writing this in the middle of the day, when my thoughts are clearer
So I went back in and started a few new games. I ALWAYS search for the XP of the hero first... this number seems to be free from encryption, as the value holds from one battle to the next SO LONG AS YOU DONT LEVEL UP. As I said before, this game carries over the unused XP from one level to the next, so finding it one time, and changing the number to 99 million gets you all 50 levels instantly.... or as soon as you gain xp from the next battle.
This provides you with the general area for ALL the other addresses, and their temporary storage when they get pulled off of the stack or before they are put on the stack.
Once you have your hero at lvl 50, the XP value will be 245,000 as 4Bytes, it will always be easily found, and the number of addresses that show up when you find it will only increase as you gain more and more heroes.
From here, I shut down the game & cheat engine and start it all back up again. I PAUSE THE GAME QUICKLY! I only do this because I know the game must display the value of ducats, but that value has not changed yet - meaning there is no reason I can see to put it on the stack (XOR encryption).
Search for the current value of Hero XP (245000)[4bytes] and move ALL of the addresses to the bottom. There should be a good many all within one single range (representing the total number of lvl 50 chars in the game?) and a few other individual locations.
Now search for your ducats value as 4 bytes. DO NOT CHANGE THE VALUE. Do not unpause the game. There shouldn't be too many in the list, a few hundred. From that list I like to individually pick out the addresses that most closely match the addresses from the Hero XP search. I change ALL of those to 99 million (a huge number, but it will still display it in full in the merchant shop, making it easier to find other heroes by searching for the ONLY number in the game that is so huge and also close to your other stuffs)
Before I unpause, I use my quicksave just incase. Now is the worst part.... trial and error. The game MUST put that 99 million on the stack for it to stick permanently. But if you spend money? The number on the stack already, gets used. I have even failed to get this to stick when I earn money by killing bandits. Every time I have succeeded in getting the value to stick..... I have done nothing. Nothing but wait for the game to somehow write that number I have changed.... not crash when it does so... and display the new value in time before I go crazy from waiting.
I will jump in again soon and try a handful more times to see if i can deduce the exact action that causes the game to take this temp ducat value that initially loads, and toss it on the stack as though it were normal.
Family Rep, like XP, is not encrypted, but the address does not carry over from one level to the next. So long as you can earn rep, but not level up, you will be able to find it like any normal value.