Jump to content


  • Content Count

  • Joined

  • Days Won


Everything posted by V3ct0r

  1. Привет, @Dimasik! Пароли хранятся в базе данных AccountServer, таблице account_login, поле password. Все пароли хранятся в виде MD5 хэшей исходных (незашифрованных) паролей. Расшифровать и получить исходный пароль по хэшу нельзя. Если есть необходимость узнать пароль, чтобы выполнить вход на аккаунт, то пароль можно сменить на другой, который будет заранее известен.
  2. Hello @boris cardona! Open your Game.exe in any HEX editor (for example HxD) and search for the following sequence of bytes: 83 C4 0C 5E C3 CC CC CC CC CC CC CC CC CC CC CC 8B 81 88 02 00 00 You will see something like: Bytes in which the server port is stored will be next to a little higher (see picture). In my case they are B5 07 00 00 or port 1973.
  3. Hello! Users can't delete their accounts but they can ask administration to do that. I can delete your account if you want or change your nickname. Then I need know a nickname which you want to use.
  4. Hello! You better contact administration of server in client of which you found the virus in order to receive any comments.
  5. Hello @Sultan! Shaitan Icicle Castle Download YAMMI can't crop .obj files.
  6. You are trying create new database named AccountServer, but DB with the same name is already exsists. You should delete old AccountServer before creating the new one.
  7. Hello @lanochan! Try start this program from root client folder or from system folder.
  8. Hello @LuciferMorningStar! Open file Apache\conf\httpd.conf and put to the end: # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.php index.html index.htm </IfModule> After that, restart your web server.
  9. Hello @Fritt! Yes, we know about this forum. About 95% of the contents on it (guides, scripts, programs, even servers advertisement) is copy pasted from PKODev word for word without our permission. Therefore, there are no fundamentally new ideas and materials. The administration of this forum sent spam to our users through private messages, as you could see, so private messages had to be disabled for a certain time. After that, they started spamming in profile messages and right on the forum. All this characterizes the administration not from the best side, in my opinion. What do you say if I start stealing other people's materials and spamming on their forum? I think that everyone can draw conclusions and decide for himself to go there or not. Regarding your 'Community Source Code Development - Server / Client' topic, I confirm that I deleted some posts with fixes. These posts were posted by the administrator of the forum you mentioned. This user was recently banned on PKODev due to the fact that he is known as a scammer in Russian community of developers and players. After that, he continued to produce fake accounts on our forum, but my position remains unchanged. So, I keep deleting only his fixes. You are doing a great job, but for a more streamlined development process, following the example of other users, I advise you to create a common repository. The format of the forum is not very convenient for such development. Thank you for your question and have a good day!
  10. Hello @Smokie! Try Effect Editor: https://cdn.discordapp.com/attachments/293398774511042560/485564502738468895/Untitled_-_EffectEditor_01_09_2018_4_35_22.mp4 Download Thanks to @Wrexor
  11. Hello @LuciferMorningStar! All websites are different and set up differently. You need to read the instructions that come with a specific site. One of the common aspects, as a rule, is a bunch of Web Server and PHP. You can find in Google many guides how to install it.
  12. Hello @YeYeJuice! Make sure that mixed authentication is enabled in MSSQL Server settings:
  13. Hello, @Tempest! You can various programs for client and server in 'Release' section. Also check our Archive which@Spidpex mentioned above.
  14. Hello, @Zackeus! You can find many guides and books in Google and teaching videos on YouTube for various programming languages.
  15. Maybe these threads will help you: Also you need allow mixed authentication in MSSQL Server settings (use MSSQL Management Studio). Don't forget to restart MSSQL Server.
  16. Привет, @leanth240! Открой GameServer.exe в редакторе HxD и найди последовательность байт: 89 45 80 C6 45 FC 09 83 7D 80 00 74 1C Ты должен увидеть следующее: Лимит skilleff будет через 6 байт от искомой последовательности. У меня это число 3E8 или 1000 строк. У тебя там может быть любое другое значение. Для примера я заменю это число на 2000 (3D0), то есть увеличу лимит в 2 раза: Для этого байты E8 03 я заменяю на D0 07. После всех изменений необходимо сохранить файл.
  17. Hello! Send an update to you. The problem should be solved now. Do you have StallServer.exe? If yes then remind me your Discord.
  18. KONG is now known as MonkeyCode

  19. No, probably it is caused by buffer overflow in SystemNotice(), PopupNotice(), BickerNotice() and PlayerNotice() functions. They use unsafe vsprintf() function.
  20. Hello @Josh and weclome to the forurm! Yes, you can setup the server on your pc and play alone. Check this thread:
  21. Hello @Amaru! This program is unneccesary if you see in your AccountServer.exe and GroupServer.exe message: SQL Injection fix It protects only against SQL injections in AccountServer.exe and GroupServer.exe (login packet and change secret code (PIN) packet).
  22. Hello @Sultan and @patrick13! Maybe the source code of my program will help you: #include <iostream> #include <fstream> #include <string> #include <vector> #include <stdexcept> #include <cstdio> #include <Windows.h> #include "Shlwapi.h" // Напечатать приветственное сообщение void Welcome(); // Получить директорию, в которой находится программа std::string GetBaseDir(); // Прочитать .bin файл void ReadBinaryFile(const std::string& path, std::vector<std::string>& list); // Получить список файлов в директории void GetFilesInDir(const std::string& path, std::vector<std::string>& list); // Получить название файла без расширения std::string ExtractFileName(const std::string& name); // Проверить, что программа находится в корневой папке с игрой bool CheckClient(const std::string& base_path); // Точка входа int main(int argc, char *argv[]) { // Список файлов моделей в sceneeffectinfo.bin std::vector<std::string> models; // Список файлов в директории Client\model\effect std::vector<std::string> client_models; // Базовый путь std::string base_path = GetBaseDir(); // Печатаем привественное сообщение Welcome(); // Проверим, что программа находится в папке с игрой if (!CheckClient(base_path)) { std::cout << "[error] Please place the program in the root directory of the game client!" << std::endl << std::endl; system("PAUSE"); return 0; } // Читаем .bin файлы try { ReadBinaryFile(base_path + "\\scripts\\table\\sceneffectinfo.bin", models); } catch (const std::runtime_error& e) { std::cout << "[error] " << e.what() << std::endl; } catch (...) { std::cout << "[error] Unknown error!" << std::endl; } // Получаем список файлов в клиенте GetFilesInDir(base_path + "\\model\\effect\\", client_models); // Ищем файлы, которые можно удалить unsigned int n = 0; for (unsigned int i = 0; i < client_models.size(); i++) { auto it = std::find(models.begin(), models.end(), client_models[i]); if (it == models.end()) { std::string file_path = base_path + "\\model\\effect\\" + client_models[i] + ".lgo"; if (remove(file_path.c_str())) { std::cout << "[error] Can't remove model: " << client_models[i] << std::endl; } else { std::cout << "[ok] Model removed: " << client_models[i] << std::endl; n++; } } } std::cout << n << " files removed!" << std::endl; system("PAUSE"); return 0; } // Напечатать приветственное сообщение void Welcome() { std::cout << "Swings Fixer by V3ct0r from PkoDEV.NET" << std::endl; std::cout << "Version 1.0 (05.05.2018)" << std::endl << std::endl; } // Получить директорию, в которой находится программа std::string GetBaseDir() { TCHAR path[MAX_PATH]; GetModuleFileName(NULL, path, MAX_PATH); PathRemoveFileSpec(path); return std::string(path); } // Прочитать .bin файл void ReadBinaryFile(const std::string& path, std::vector<std::string>& list) { std::cout << "Reading file: " << path << " . . . " << std::endl; // Открываем файл std::ifstream file(path, std::ios::binary); if (file.is_open() == false) { throw std::runtime_error("Can't open file " + path + "!"); } // Получим размер файла size_t file_size = 0; file.seekg(0, file.end); file_size = static_cast<size_t>(file.tellg()); file.seekg(0, file.beg); // Выделяем память под файл char *file_mem = nullptr; try { file_mem = new char[file_size]; } catch (const std::bad_alloc&) { throw std::runtime_error("Can't allocate memory for file " + path + "!"); } // Читаем файл в память file.read(file_mem, file_size); if (file.gcount() != file_size) { delete[] file_mem; throw std::runtime_error("Error while reading file " + path + "!"); } // Закрываем файл file.close(); // Получаем размер блока unsigned int block_size = 0; std::memcpy(reinterpret_cast<char *>(&block_size), file_mem, sizeof(block_size)); // Определяем количество файлов unsigned int n = (file_size - sizeof(block_size)) / block_size; // Читаем файлы char name[72]; std::memset(name, 0x00, sizeof(name)); for (unsigned int i = 0; i < n; i++) { unsigned int offset = sizeof(block_size) + 8 + i * block_size; std::memcpy(name, file_mem + offset, sizeof(name)); list.push_back(ExtractFileName(name)); } // Освобождаем память delete[] file_mem; std::cout << n << " objects read!" << std::endl; } // Получить список файлов в директории void GetFilesInDir(const std::string& path, std::vector<std::string>& list) { std::cout << "Reading directory: " << path << " . . . " << std::endl; WIN32_FIND_DATA fd; HANDLE hFind = ::FindFirstFile((path + "*.*").c_str(), &fd); unsigned int n = 0; if (hFind != INVALID_HANDLE_VALUE) { do { if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { } else { list.push_back(ExtractFileName(fd.cFileName)); n++; } } while(::FindNextFile(hFind, &fd)); ::FindClose(hFind); } std::cout << n << " files found! " << std::endl; } // Получить название файла без расширения std::string ExtractFileName(const std::string& name) { size_t pos = name.find_last_of('.'); return name.substr(0, pos); } // Проверить, что программа находится в корневой папке с игрой bool CheckClient(const std::string& base_path) { bool ok = false; std::ifstream file(base_path + "\\system\\MindPower3D_D8R.dll"); if (file.is_open()) { ok = true; file.close(); } return ok; }
  23. Hello @rilex! Do you can give more information regarding the problem?
  • Create New...