Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Technical Support » Linux FDS » "No Gameplay Pending" patch for LFDS!
icon7.gif  "No Gameplay Pending" patch for LFDS! [message #225465] Sun, 08 October 2006 07:25 Go to next message
howang is currently offline  howang
Messages: 57
Registered: September 2005
Location: Hong Kong
Karma: 0
Recruit
After a few days of work and much help from BadBoy, I've found out the way to patch the LFDS for always "Gameplay in process". This is my first reserve engineering product, and the experience is great! If there is anything wrong, please tell me so that I can have a chance to improve.

RH7.3
========================
offset xxxxx | org | new
offset 23A38 | B8 | 90
offset 23A39 | 87 | B8
offset 23A3A | F8 | 01
offset 23A3B | 01 | 00
offset 3FECA | 00 | 01
========================

Special thanks to:
StealthEye for the initial idea on patching the cGameDataCnc::Is_Gameplay_Permitted(void)
v00d00 for the wFDS version patch
BadBoy for finding out sub_472C40 = cGameData::Export_Tier_1_Data(cPacket &) and explain the tricks in the wFDS version patch

P.S. I'll find out the offsets in the RH8 version of LFDS soon Wink


Thanks blazer for the xwisp! My dream comes true!
<Ghostshaw> duh
<Ghostshaw> its awesome
<Ghostshaw> cheat the cheaters :P

[Updated on: Sun, 08 October 2006 07:30]

Report message to a moderator

Re: "No Gameplay Pending" patch for LFDS! [message #225483 is a reply to message #225465] Sun, 08 October 2006 08:40 Go to previous messageGo to next message
Cat998
Messages: 1081
Registered: January 2004
Location: Austria, Vienna
Karma: 0
General (1 Star)
Moderator/Captain

well done mate !

When people ask me "Plz" just because it's shorter than "Please" I feel perfectly justified to answer "No" because it's shorter then "Yes"

Programming is like sex: one mistake and you have to support it for the rest of your life

Want the best answers? Ask the best questions!

"So long, and thanks for all the fish."
Re: "No Gameplay Pending" patch for LFDS! [message #225501 is a reply to message #225483] Sun, 08 October 2006 10:14 Go to previous messageGo to next message
howang is currently offline  howang
Messages: 57
Registered: September 2005
Location: Hong Kong
Karma: 0
Recruit
Cat998 wrote on Sun, 08 October 2006 23:40

well done mate !

ty


besides, I think I've found the bytes for RH8, it is quite tricky because it works in another way that is difference from the RH7.3 version and the wFDS

offset xxxxx | org | new
offset 2BBAA | B8 | 90
offset 2BBAB | 87 | 90
offset 2BBAC | F8 | 90
offset 2BBAD | 01 | 90
offset 2BBAE | 01 | 6A
offset 2BBAF | 01 | 01
offset 3DF12 | 00 | 01

I don't have a box to run the RH8 version, anyone can help me to test it? Tell Me


Thanks blazer for the xwisp! My dream comes true!
<Ghostshaw> duh
<Ghostshaw> its awesome
<Ghostshaw> cheat the cheaters :P
Re: "No Gameplay Pending" patch for LFDS! [message #225961 is a reply to message #225465] Tue, 10 October 2006 16:31 Go to previous messageGo to next message
Blazer is currently offline  Blazer
Messages: 3322
Registered: February 2003
Location: Phoenix, AZ
Karma: 0
General (3 Stars)
Administrator/General

I run the RH8 version. Are you manually patching or are you using a tool or script?
Re: "No Gameplay Pending" patch for LFDS! [message #225969 is a reply to message #225961] Tue, 10 October 2006 17:46 Go to previous messageGo to next message
howang is currently offline  howang
Messages: 57
Registered: September 2005
Location: Hong Kong
Karma: 0
Recruit
I patched it with a hex editor and upload it to the server for testing.
After the patch works, I deleted the "excess" patched binary and patch the unpatched version with a patcher program, which is modified from the patcher.c from the scripts.dll/scripts.so package.


Thanks blazer for the xwisp! My dream comes true!
<Ghostshaw> duh
<Ghostshaw> its awesome
<Ghostshaw> cheat the cheaters :P
Re: "No Gameplay Pending" patch for LFDS! [message #225981 is a reply to message #225465] Tue, 10 October 2006 19:22 Go to previous messageGo to next message
Blazer is currently offline  Blazer
Messages: 3322
Registered: February 2003
Location: Phoenix, AZ
Karma: 0
General (3 Stars)
Administrator/General

I'll test your patcher.c on my RH8 binary...then you can release it! Smile
Re: "No Gameplay Pending" patch for LFDS! [message #226004 is a reply to message #225981] Tue, 10 October 2006 22:08 Go to previous messageGo to next message
howang is currently offline  howang
Messages: 57
Registered: September 2005
Location: Hong Kong
Karma: 0
Recruit
/* * * * * * * * * * * * * * *
LFDS no gameplay pending patcher (RH7.3)

offset xxxxx | org | new
offset 23A38 | B8  | 90
offset 23A39 | 87  | B8
offset 23A3A | F8  | 01
offset 23A3B | 01  | 00
offset 3FECA | 00  | 01
* * * * * * * * * * * * * * */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
	FILE *f;
	printf("Renegade LFDS no gameplay pending patcher\n");
	if (argc < 2)
	{
		printf("Usage: patcher <name of Linux FDS binary>\n");
		exit(1);
	}
	f = fopen(argv[1],"rb");
	if (f == 0)
	{
		printf("File %s not found\n",argv[1]);
		exit(1);
	}
	fclose(f);
	printf("patching Redhat 7.3 binary\n");
	char c;
	f = fopen(argv[1],"r+b");
	fseek(f,0x23A38,SEEK_SET);
	c = 0x90; /* 0x90 is a big cheater */
	fwrite(&c,1,1,f);
	fseek(f,0x23A39,SEEK_SET);
	c = 0xB8;
	fwrite(&c,1,1,f);
	fseek(f,0x23A3A,SEEK_SET);
	c = 0x01;
	fwrite(&c,1,1,f);
	fseek(f,0x23A3B,SEEK_SET);
	c = 0x00;
	fwrite(&c,1,1,f);
	fseek(f,0x3FECA,SEEK_SET);
	c = 0x01;
	fwrite(&c,1,1,f);
	printf("Patching complete\n");
}


/* * * * * * * * * * * * * * *
LFDS no gameplay pending patcher (RH8.0)

offset xxxxx | org | new
offset 2BBAA | B8 | 90
offset 2BBAB | 87 | 90
offset 2BBAC | F8 | 90
offset 2BBAD | 01 | 90
offset 2BBAE | 01 | 6A
offset 2BBAF | 01 | 01
offset 3DF12 | 00 | 01
* * * * * * * * * * * * * * */

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
	FILE *f;
	printf("Renegade LFDS no gameplay pending patcher\n");
	if (argc < 2)
	{
		printf("Usage: patcher <name of Linux FDS binary>\n");
		exit(1);
	}
	f = fopen(argv[1],"rb");
	if (f == 0)
	{
		printf("File %s not found\n",argv[1]);
		exit(1);
	}
	fclose(f);
	printf("patching Redhat 8.0 binary\n");
	char c;
	f = fopen(argv[1],"r+b");
	c = 0x90; /* 0x90 is a big cheater */
	fseek(f,0x2BBAA,SEEK_SET);
	fwrite(&c,1,1,f);
	fseek(f,0x2BBAB,SEEK_SET);
	fwrite(&c,1,1,f);
	fseek(f,0x2BBAC,SEEK_SET);
	fwrite(&c,1,1,f);
	fseek(f,0x2BBAD,SEEK_SET);
	fwrite(&c,1,1,f);
	c = 0x6A;
	fseek(f,0x2BBAE,SEEK_SET);
	fwrite(&c,1,1,f);
	c = 0x01;
	fseek(f,0x2BBAF,SEEK_SET);
	fwrite(&c,1,1,f);
	fseek(f,0x3DF12,SEEK_SET);
	fwrite(&c,1,1,f);
	printf("Patching complete\n");
}


Thanks blazer for the xwisp! My dream comes true!
<Ghostshaw> duh
<Ghostshaw> its awesome
<Ghostshaw> cheat the cheaters :P
Re: "No Gameplay Pending" patch for LFDS! [message #226470 is a reply to message #225465] Fri, 13 October 2006 09:23 Go to previous messageGo to next message
Stumpy is currently offline  Stumpy
Messages: 93
Registered: May 2005
Karma: 0
Recruit

Nice work howyang Big Grin
I dont think that everyone knows how compile works so..
I link the compiled version with Source Readme.txt so that everyone can use it.
http://ren-hq.de/files/rh8.zip
http://ren-hq.de/files/rh7.zip


Visit and dream about it http://pb-live.team64.eu

[Updated on: Fri, 13 October 2006 09:24]

Report message to a moderator

icon7.gif  Re: "No Gameplay Pending" patch for LFDS! [message #226682 is a reply to message #226470] Sat, 14 October 2006 19:33 Go to previous messageGo to next message
howang is currently offline  howang
Messages: 57
Registered: September 2005
Location: Hong Kong
Karma: 0
Recruit
UESir28:
that's C but not C++ Wink
btw, did you test the rh8 version for me? it's syntax should be correct, but I don't know if it work or not.

Yes, I forgot to post the command for compile and run it:
gcc -o gameplay_in_process_patcher <name of the C file>
chmod a+x gameplay_in_process_patcher
./gameplay_in_process_patcher <name of LFDS binary>


Thanks blazer for the xwisp! My dream comes true!
<Ghostshaw> duh
<Ghostshaw> its awesome
<Ghostshaw> cheat the cheaters :P

[Updated on: Sat, 14 October 2006 19:38]

Report message to a moderator

Re: "No Gameplay Pending" patch for LFDS! [message #226710 is a reply to message #225465] Sun, 15 October 2006 02:26 Go to previous messageGo to next message
Stumpy is currently offline  Stumpy
Messages: 93
Registered: May 2005
Karma: 0
Recruit

yes i tested it its working fine. Thumbs Up

Visit and dream about it http://pb-live.team64.eu
Re: "No Gameplay Pending" patch for LFDS! [message #226807 is a reply to message #226710] Sun, 15 October 2006 17:33 Go to previous message
howang is currently offline  howang
Messages: 57
Registered: September 2005
Location: Hong Kong
Karma: 0
Recruit
Thank you UESir28. Big Grin

So now, it is safe for everyone to use the patch!


Thanks blazer for the xwisp! My dream comes true!
<Ghostshaw> duh
<Ghostshaw> its awesome
<Ghostshaw> cheat the cheaters :P
Previous Topic: New LFDS Bot (PwnageBot)
Next Topic: complex with AI bot
Goto Forum:
  


Current Time: Sat Nov 23 15:22:15 MST 2024

Total time taken to generate the page: 0.00870 seconds