Oaki. Point made, conversation ended. You didn't shut me up, and I don't believe you work for them. Now back on track - any tutorials? Am saying this because I am curious how XLive works - sure, people will ask me to get a game that uses XLive.. name one that works on 512 DDR 1, ATI Radeon 9800 and a dusty 1.92 Ghz AMD CPU and I will take that suggestion into consideration..
Seen a lot of integrity checks, both in games and protectors. Back in MapleStory days, there was a custom hash made on first two sections of the file, 400000-end of .data section, and this was a dynamic hash as it was constantly accessed and compared:http://theoklibrary.org/showthread.php?t=113
So for that matter, a swapping of main ptr to data buffer was enough. I don't know how XLive works, but from what you say:
"so placing a RETN 0C at the start of the code is one way to achieve this."
I guess it maps whole file in memory (CreateFileMapping, MapViewOfFile) etc.. and checks it against active memory (ReadProcessMemory, ReadFile). Just assuming, that's why I want you to make a tutorial.. :-) Of course, not for my benefit, since I rarely touch games these days, but I reckon you want it documented (and not simply a thrown array of bytes at random), right?