Page 1 of 1

Fallout 1 DEMO - hacking and restoration

Posted: Thu Apr 14, 2011 11:29 am
by Pizzahut Lover
==Summary==
Attempt to open save file - call sub_483AC4 : jnz loc_452500
report error ; "\n ** Error opening save game for writin"...

Attempt save Header - call sub_484744, call sub_452828 : jnz loc_452554
report error ; "\n ** Error writing save game header! **"...

print ; " Save file header size written: %d byte"...


Attempt Save Complete - : jnz loc_4525B8
00452577 call sub_484744
00452585 call ds:off_4CBCB8[esi]
report error ; "\n ** Error writing save function #%d da"...

print ; " Save function #%d data size written: %"...

print ; " Total save data written: %ld bytes.\n"


BEGTEXT:00452639 retn

make folder data in your game folder.
make folder SAVEGAME in data folder
make folder SLOT00 in SAVEGAME
copy fallout 2 save.dat to SLOT00 folder.

this DLL if injected, takes one key press of ctrl-right. your game will crash. go and refresh view of SLOT00 folder contents.

your save.dat will be 0kb. all data will have been cleared but nothing written. the crash is because of complication with strncopy.

the ultimate solution for no crash no doubt, a few instructions modified/added. but for now you have insight.

Code: Select all

#include <Windows>

void SimpleGoto&#40;&#41;;

HRESULT WINAPI InputThread&#40;LPVOID&#41;;

BOOL WINAPI DllMain&#40;HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved&#41;
&#123;
	if&#40;fdwReason == DLL_PROCESS_ATTACH&#41;&#123;

		DisableThreadLibraryCalls&#40;hinstDLL&#41;;

		CreateThread&#40;NULL, 0, &#40;LPTHREAD_START_ROUTINE&#41;InputThread, NULL, NULL, NULL&#41;;
		return TRUE;
	&#125;

	return FALSE;

&#125;

HRESULT WINAPI InputThread&#40;LPVOID Param&#41;
&#123;
	while&#40;1&#41;&#123;
		Sleep&#40;1&#41;;
		if&#40;GetAsyncKeyState&#40;VK_RCONTROL&#41; & 0x8000&#41;&#123;

			SimpleGoto&#40;&#41;;

			Sleep&#40;1&#41;;
		&#125;
		if&#40;GetAsyncKeyState&#40;VK_PAUSE&#41; & 0x8000&#41;&#123;

			break;
		&#125;
	&#125;

	return TRUE;
&#125;


char szSaveBuff &#91;30051&#93;=&#123;0&#125;; // modding wiki . decimal value for header size is 30051.
void SimpleGoto&#40;&#41;
&#123;
	// with a debugger changing the register eax from 0xcd2a20bc to offset of szSaveBuff
	// gets a bit further, but still confused.

	DWORD dwSaveAddr = 0x00452488;
	__asm &#123;
		call dwSaveAddr
	&#125;


&#125;

Posted: Sat Apr 16, 2011 4:28 am
by Gunman
Fuck this thread.


Image

Posted: Sat Apr 16, 2011 6:56 am
by Stalagmite
Wait so what is Cakester trying to accomplish here?

Posted: Sat Apr 16, 2011 4:11 pm
by Pizzahut Lover
Stalagmite wrote:Wait so what is Cakester trying to accomplish here?
probably too complicated for you. seeing how you refer to me, and how you would be kind if you unbanned cakester.

Posted: Sat Apr 16, 2011 4:44 pm
by Retlaw83
He's either genuinely schizo or this is the worst attempt at lying ever.

Posted: Sat Apr 16, 2011 4:56 pm
by Pizzahut Lover
Retlaw83 wrote:He's either genuinely schizo or this is the worst attempt at lying ever.
the worst liars being more convincing. Don't talk about genuine when your own skills are in jeopardy.

Posted: Sat Apr 16, 2011 5:41 pm
by Retlaw83
My skill at being schizophrenic is in jeopardy? That's a good thing, I'd hope.

Posted: Sat Apr 16, 2011 6:48 pm
by Pizzahut Lover
Retlaw83 wrote:My skill at being schizophrenic is in jeopardy? That's a good thing, I'd hope.
schizophrenic and unskilled. your worth is in jeopardy.

Posted: Sat Apr 16, 2011 6:49 pm
by Retlaw83
I'd swear Cakester is looking at a mirror.

Posted: Sat Apr 16, 2011 8:49 pm
by Pizzahut Lover
Retlaw83 wrote:I'd swear Cakester is looking at a mirror.

your assertion and no doubt with smoke. gj freak.

Posted: Sat Apr 16, 2011 9:08 pm
by Retlaw83
Cakester's cute when he's mad.

Posted: Sun Apr 17, 2011 1:04 am
by Psychoul
wtf?

Posted: Sun Apr 17, 2011 1:07 am
by Stalagmite
Pizzahut Lover wrote:
Stalagmite wrote:Wait so what is Cakester trying to accomplish here?
probably too complicated for you. seeing how you refer to me, and how you would be kind if you unbanned cakester.
I asked a damn legit question you moron and you still throw bullshit. And I don't even know what the hell you're talking about in the second sentence.
Baa what's the use, it's becoming clear that suicide is probably the only feasible option for this kid.

Posted: Sun Apr 17, 2011 2:16 am
by SenisterDenister
cakester in every post he's ever made wrote:AUTISM! I HAVE AUTISM!

Posted: Sun Apr 17, 2011 5:57 am
by Pizzahut Lover
Stalagmite wrote:
Pizzahut Lover wrote:
Stalagmite wrote:Wait so what is Cakester trying to accomplish here?
probably too complicated for you. seeing how you refer to me, and how you would be kind if you unbanned cakester.
I asked a damn legit question you moron and you still throw bullshit. And I don't even know what the hell you're talking about in the second sentence.
Baa what's the use, it's becoming clear that suicide is probably the only feasible option for this kid.
but that is something you should of suggested for your self. you can't handle it. :joy:

Posted: Sun Apr 17, 2011 9:01 am
by Gunman
Prosper. Now with 70 % more dick up his ass. :pelvic_thrust:

Posted: Fri Jul 15, 2011 7:26 pm
by Pizzahut Lover
Stalagmite wrote:
Pizzahut Lover wrote:
Stalagmite wrote:Wait so what is Cakester trying to accomplish here?
probably too complicated for you. seeing how you refer to me, and how you would be kind if you unbanned cakester.
I asked a damn legit question you moron and you still throw bullshit. And I don't even know what the hell you're talking about in the second sentence.
Baa what's the use, it's becoming clear that suicide is probably the only feasible option for this kid.
I will be merciful.

What Cakester was working on was first the flow of the save/load process. Upon pressing the red button you are prompted with NOPE YOU CANT. but with some inspection he found the non-demo's normal save routine was still present.

the source code in his OP compiles into a DLL. to test for an effect, once you inject it, you go and press the save game button.

the result is a save file is overwritten if present, otherwise a new one is created. it will be blank.

Posted: Sat Jul 16, 2011 4:37 am
by Yonmanc
Gunman wrote:Fuck this thread.


Image

Posted: Sat Jul 16, 2011 6:39 am
by rad resistance
Cakester your hurting my dick, please stop talking.