Перейти к содержанию

Coder

Ветераны
  • Постов

    815
  • Зарегистрирован

  • Посещение

  • Победитель дней

    13

Весь контент Coder

  1. Второй параметр это массив. Так что надо int offsets[] = {0x30}; я думаю. Остальные переменные создавать не надо, это можно сразу передать в функцию.
  2. Я думал ты в состоянии хоть что-то сам сделать. basepointer - база указателя, offsets - массив смещений, level - кол-во смещений. Не знание англ. языка - карается смертью
  3. Нет никакого jmp. Причём тут исполняемый код приложения и обыкновенные адреса? Советую вначале почитать об указателях, прежде чем говорить - http://ru.wikipedia....D0%B0_(C%2B%2B) Писал раньше для себя такую функцию. public int ReadPointer(int basepointer, Int32[] offsets, int level) { VAM = new VAMemory(process_name); int pointer = basepointer; for (int i = 0; i < level; i++) { pointer = VAM.ReadInteger((IntPtr)pointer) + offsets[i]; } return pointer; }
  4. Ответ не верный. Указатель - это обычный блок памяти в адресном пространстве, а содержит в себе он, не патроны или здоровье, а другой адрес. То есть, вот наш указатель: 0x00F04096, и по этому адресу в памяти записана вот такая штука - 0x007A8000, т.е. указатель 0x00F04096 содержит в себе 0x007A8000. Иными словами - он указывает на адрес - 0x007A8000, все адреса имеют тип целое 4 байта (DWORD/Int32).
  5. По-хорошему надо бы хоть немного самому выучить C# и понять - что есть указатель.
  6. Проблема связана, со спецификой WinXP, так как на Win7 данных проблем нет. И всё же она вызвана отсутствием каких-либо необходимых привилегий, поэтому мы дадим нашему трейнеру привилегии отладчика (SE_DEBUG_NAME). Предлагаю следующее решение этой проблемы. Добавляем этот код в проект: 1) Функция получения каких-либо привилегий (данная функция взята с MSDN), можно вставить перед void Cheats. BOOL SetPrivilege( HANDLE hToken, // access token handle LPCTSTR lpszPrivilege, // name of privilege to enable/disable BOOL bEnablePrivilege // to enable or disable privilege ) { TOKEN_PRIVILEGES tp; LUID luid; if ( !LookupPrivilegeValue( NULL, // lookup privilege on local system lpszPrivilege, // privilege to lookup &luid ) ) // receives LUID of privilege { MessageBox(NULL, "!!!", "LookupPrivilegeValue failed!", MB_OK); return FALSE; } tp.PrivilegeCount = 1; tp.Privileges[0].Luid = luid; if (bEnablePrivilege) tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; else tp.Privileges[0].Attributes = 0; // Enable the privilege or disable all privileges. if ( !AdjustTokenPrivileges( hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), (PTOKEN_PRIVILEGES) NULL, (PDWORD) NULL) ) { MessageBox(NULL, "!!!", "AdjustTokenPrivileges failed!", MB_OK); return FALSE; } if (GetLastError() == ERROR_NOT_ALL_ASSIGNED) { MessageBox(NULL, "!!!", "The token does not have the specified privilege!", MB_OK); return FALSE; } return TRUE; } 2) В WinMain до строки ShowWindow(hWnd, CmdShow), вставить этот код: HANDLE hToken = 0; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken)) { MessageBox(NULL, "OpenProcessToken failed!", "!!!", MB_OK); } if (!SetPrivilege(hToken, SE_DEBUG_NAME, true)) { MessageBox(NULL, "Can't execute SetPrivilege!", "!!!", MB_OK); }
  7. В след. версиях сделаю. Так что ломайте эту версию, хочу уже патч сделать
  8. Ээээ, Андрей! Ты давай там, секреты производства не разглашай
  9. Пока я не получил подтверждения этого. Как только оно будет, на свет выйдет v1.2
  10. Андрей, какие ужасы ты говоришь Надо бы конструктор ракет найти и его вызывать)))
  11. Поверь нужно будет много времени) У меня учёба сейчас, в принципе может быть в следующим месяце.
  12. Зря ты это сказал Хотя я тебе скажу, реверсить придётся упорно, чтобы добиться результатов (мне Руслан рассказывал о СТАЛКЕР'е). Ну, а так игра классная, довольно-таки хорошая физика (спасибо Unity), но не помешало бы рассчитывать траекторию понижения снаряда (то бишь чтобы гравитация действовала на снаряды).
  13. В качестве первого ЯП, который компилируется я учил - C# (Microsoft в нём всё сделали очень простым для понимания).
  14. Ну так давай, выложи людям скрипт) Заодно я оценю.
  15. Да там всё делается проще) Мне лень было проводить какую либо оптимизацию. У меня AMD Phenom II x4 3.4Ghz, версия "c" даёт нагрузку на мой ЦП 25%, "b" - 50%.
  16. Проблема, извиняюсь в говно проце Хотя это ещё не максимальные возможности нагрузки ЦП) Хотя, опять же 2 экземпляра программы, убивают мой проц (100% нагрузка), но комп не виснет) Скоро будет версия 1.2 она для слабых ПК будет, и с обновлённым кодом (+ к безопасности) Про взлом версий "b" и "c" приведу в пример случай с зарубежного форума (текст переведён мной на русский) - "Я использовал в BattleField 3 v1.5 хук для BattleField 3 v1.2, почему меня забанили? Он же должен был работать!", нет смысла ломать старые версии, когда новая уже есть)
  17. Coder

    Трейнми by ZOCKIR

    Приношу свои извинения) Когда я это писал, я был немного пьян)
  18. v1.1d Была маленькая неточность в коде [sTATUS: Fixed/Patched] TrainME.zip Жду новой версии скрипта...
  19. 1.1c TrainME.zip Пофиксил, спасибо за помощь, жду другого варианта взлома
  20. Решил преуменьшить количество наглецов, патчащих ядро программы. V 1.1b TrainME.zip Нагрузку ЦП немного снизил, на 50%
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.