Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[PATCH] ShaiyaPatcher


SuperBartek

Rekomendowane odpowiedzi

Opublikowano

ShaiyaPatcher

 

 

Aktualizacja 1.1:

 

Na poczatku miałem na celu tylko naprawić bug z misjami, którego twórcy/współtwórcy shaiyii jakoś nie chcą lub co dziwne by było nie mogą naprawić. A więc oprócz tej opcji w wersji 1.1 mamy:

 

- MultiClient - otwieramy tyle shaiyii ile tylko chcemy (bezposrednio przez plik game.exe, najlepiej stworzyc sobie nowy skrót)

- Anty zamrazanie - gra jest aktywna w tle czy nawet zminimalizowana

- Usuniety GameGuard - usuniete zabezpieczenie przed cheatami etc.

- Wspinaczka po gorach - teraz możemy się wspiąć na każdą górę :)

- MultiSkok - skaczemy w górę ile tylko chcemy co pozwala nam wejść nie tylko na każdą górę ale też na dowolnie wysoki obiekt ;)

 

Ogólnie są wszystkie i więcej opcji, które możemy znaleźć w starym patcherze.

 

Po spatchowaniu zalecam uruchamianie gry bezpośrednio poprzez plik "game.exe" z głównego folderu shaiya.

 

Tak wygląda program:

 

 

2m4srcm.png

 

 

DOWNLOAD:

 

 

http://www.sendspace.com/file/ukb17i

 

Po przejściu na stronę kilkamy w: "Click here to start download from sendspace"

 

 

 

Może jedyne co brakuje temu patcherowi to wybór poszczególnych opcji i "okienkowego stylu", czego nie chciało mi się zrobić.

 

Dobra mata te skany ;d :

VirusTotal URL: https://www.virustot...sis/1347213845/

VirusTotal File: https://www.virustot...sis/1347213988/

  • 2 tygodnie później...
Opublikowano

Testował ktoś? Działa? Bo nie wiem czy pobierać?

 

Przetestowane:

 

Multi działa

Antyfreeze działa

Chodzenie po górach działa

Reszta nie wiem , mi skacze normalnie a hacków działających nie posiadam.

 

Przydał by się to tego wszystkiego jeszcze Speed ale i tak + że komuś się chciało cokolwiek z tą grą jeszcze zrobić.

  • 2 tygodnie później...
Opublikowano

Nie wiem czy to tylko ja mam tak, że mi to nie znajduje "game.exe". Mimo tego, że jest w tym samym folderze co sam plik "game.exe". Pozdrawiam ;)

7c281e74f20db27c4e64c1df2bc4615f.gifkonopia.jpgDaj lubię to jeśli pomogłem lub spodobała ci się moja odpowiedź :D

Opublikowano

Dałem żeby spatchowało i teraz nie mogę shaiy uruchomic!

Nie znaleziono porządkowej 1479 w bibliotece dołączanej dynamicznie ADVAPI32.DLL

bez youtuba

Opublikowano

Możliwe, że wyszła aktualizacja do shaiyii i patch na nowszej wersji już nie będzie działał. Trzeba by się zaopatrzyć starszego execa od kogoś komu ten patch działał przed aktualizacją. Patchera nie mam zamiaru aktualizować, bo w shaiye już nie gram.

  • 2 tygodnie później...
Opublikowano

Możliwe, że wyszła aktualizacja do shaiyii i patch na nowszej wersji już nie będzie działał. Trzeba by się zaopatrzyć starszego execa od kogoś komu ten patch działał przed aktualizacją. Patchera nie mam zamiaru aktualizować, bo w shaiye już nie gram.

Skoro nie masz zamiaru aktualizować, to podesłał byś mi source ;)

Gdyby ludzie rozmawiali tylko o tym, co rozumieją, zapadłaby nad światem wielka cisza

Albert Einstein

Opublikowano

Skoro nie masz zamiaru aktualizować, to podesłał byś mi source ;)

 

Source jest na tyle mały, że pozwolę go sobie wrzucić tutaj:

 

 

#include <iostream>
#include <conio.h>
#define VER "v1.1"
typedef unsigned char u32;
#define FILE_SHAIYA "game.exe"
#define SEEK_ACTIVE    0x00008058
#define SEEK_MULTI_1   0x0000A9FC
#define SEEK_MULTI_2   0x0000A6AC
#define SEEK_MULTI_3   0x0000A6EF
#define SEEK_GAME_GUARD   0x0000AAC7
#define SEEK_CAVE_MISSIONS  0x0000EF67
#define SEEK_CAVE_MULTIJUMP2 0x0000EF7C
#define SEEK_MULTIJUMP   0x0003DEDD
#define SEEK_CLIMB    0x0004228A
#define SEEK_MULTIJUMP2   0x000420B1
#define SEEK_MISSION   0x00102CD6
u32 code_active[] =
{0xC7,0x05,0x04,0x8D,0x76,0x00,0x01,0x00,0x00,0x00,0x75}; //mov [00768D04],00000001
u32 code_multi_1[] = {0xE9, 0xA5, 0x00, 0x00, 0x00, 0x90}; //jmp
u32 code_multi_23[] = {0xEB};
u32 code_gg[] = {0xEB};
u32 code_cave_missions[] =
{0x83, 0xC8, 0xFF, 0x89, 0x46, 0x34, //origin
0x81, 0xF9, 0x00, 0x00, 0x00, 0x00, //cmp ecx,00000000
0x75, 0x02, //jne
0x5E, //pop esi
0xC3, //ret
0xE9, 0x60, 0x3D, 0x0F, 0x00}; //jmp origin
u32 code_cave_multijump2[] =
{0x56,
0x8B, 0x35, 0xA0, 0x8F, 0x6F, 0x00,
0x89, 0x35, 0xF8, 0x49, 0x75, 0x00,
0x5E,
0x89, 0x3D, 0xB0, 0xC2, 0x76, 0x00,
0xE9, 0x22, 0x31, 0x03, 0x00};
u32 code_multijump[] = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};
u32 code_climb[] = {0x90, 0x90, 0x90, 0xE9, 0x1D, 0x02, 0x00, 0x00}; //jp -> jmp
u32 code_multijump2[] = {0xE9, 0xC6, 0xCE, 0xFC, 0xFF, 0x90};
u32 code_mission[] = {0xE9, 0x8C, 0xC2, 0xF0, 0xFF, 0x90}; //jmp to code
FILE * pFile = NULL;
void Text()
{
char author[] = "{]XMZjIZ\\MC";
for (int i = 0; i < sizeof(author) - 1; i++)
 author[i] ^= 40;
printf (" _-_-_ShaiyaPatcher "VER" by %s_-_-_\n\n", author);

printf ("* MultiClient\n");
printf ("* Anty zamrazanie (gra zawsze aktywna (w tle/zminimalizowana))\n");
printf ("* Usuniety GameGuard\n");
printf ("* Wspinaczka po gorach\n");
printf ("* MultiSkok (skaczemy w gore ile tylko chcemy)\n");
printf ("* Naprawiony bug z akceptowaniem misji\n\n");
fopen_s(&pFile, FILE_SHAIYA, "rb+");
if (pFile)
{
 printf (" Znaleziono plik "FILE_SHAIYA"\n");
 u32 code_cmp[6];
 fseek(pFile, SEEK_MISSION, SEEK_SET);
 fread(code_cmp, 1, sizeof(code_cmp), pFile);
 bool eq = true;
 for (int i = 0; i < sizeof(code_cmp) && eq; i++)
  if (code_cmp[i] != code_cave_missions[i]) eq = false;
 if (eq == false)
 {
  if (code_cmp[0] != 0xE9)
  {
   printf (" Zla wersja pliku!\n");
   fclose(pFile);
   pFile = NULL;
  }
 }
 if (pFile != NULL) printf (" Rozpoczac patchowanie? T/N: \n");
}
else
{
 printf (" Nie moge znalezc pliku "FILE_SHAIYA"!\n");
 printf (" Wrzuc mnie do folderu z gra.\n");
}
}
int main()
{
system("COLOR 17");
Text();

if (pFile)
{
 int ch = _getch();
 fflush(stdin);

 if (ch == 'T' || ch == 't')
 {
  rewind(pFile);
  FILE * pBak;
  fopen_s(&pBak, FILE_SHAIYA".bak", "rb");
  if (!pBak)
  {
   fopen_s(&pBak, FILE_SHAIYA".bak", "wb");
   u32 buffer[1024];
   while (fread(buffer, 1, sizeof(buffer), pFile))
   {
 fwrite(buffer, sizeof(buffer), 1, pBak);
   }
  }
  fclose(pBak);
  rewind(pFile);
  fseek(pFile, SEEK_ACTIVE, SEEK_SET);
  fwrite(code_active, 1, sizeof(code_active), pFile);
  fseek(pFile, SEEK_MULTI_1, SEEK_SET);
  fwrite(code_multi_1, 1, sizeof(code_multi_1), pFile);
  fseek(pFile, SEEK_MULTI_2, SEEK_SET);
  fwrite(code_multi_23, 1, sizeof(code_multi_23), pFile);
  fseek(pFile, SEEK_MULTI_3, SEEK_SET);
  fwrite(code_multi_23, 1, sizeof(code_multi_23), pFile);
  fseek(pFile, SEEK_GAME_GUARD, SEEK_SET);
  fwrite(code_gg, 1, sizeof(code_gg), pFile);
  fseek(pFile, SEEK_CAVE_MISSIONS, SEEK_SET);
  fwrite(code_cave_missions, 1, sizeof(code_cave_missions), pFile);
  fseek(pFile, SEEK_CAVE_MULTIJUMP2, SEEK_SET);
  fwrite(code_cave_multijump2, 1, sizeof(code_cave_multijump2), pFile);
  fseek(pFile, SEEK_MULTIJUMP, SEEK_SET);
  fwrite(code_multijump, 1, sizeof(code_multijump), pFile);
  fseek(pFile, SEEK_CLIMB, SEEK_SET);
  fwrite(code_climb, 1, sizeof(code_climb), pFile);
  fseek(pFile, SEEK_MULTIJUMP2, SEEK_SET);
  fwrite(code_multijump2, 1, sizeof(code_multijump2), pFile);
  fseek(pFile, SEEK_MISSION, SEEK_SET);
  fwrite(code_mission, 1, sizeof(code_mission), pFile);
  printf (" Spatchowano pomyslnie!\n");
 }
 fclose(pFile);
}
printf ("\n Nacisnij dowolny klawisz aby zamknac program.");
_getch();
return 0;
}

 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...