holy

Пользователи
  • Публикации

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

  • Посещение

Репутация

15 Newbie

О holy

  • Звание
    Продвинутый пользователь
  1. TrainME by Xipho

    Значения очков, я вроде искал через неизвестные значения. Т.е. изначально ищем неизвестные значения, потом в игре увеличиваются очки, и в Cheat Engine отсеиваю результаты через "Увеличилось значение"
  2. TrainMe - Chameleon [Level 2]

    Не знаю Вроде ничем не паковал. А если и пакую, то UPX'ом
  3. Ещё как вариант , предположу что BaseAddress у модуля Game.exe смещается. У тебя на скрине статичный адрес это "Game.exe"+016*** (видны на скрине только первые 3 цифры). А в коде у тебя жестко задано число. Однако в зависимости от смещения Game.exe будет разный первоначальный адрес.
  4. Прикольно вам
  5. По аналогии с этим: wchar_t My_Little_String[100]; swprintf(My_Little_String, L"%d - %s", 24, L"piupiu"); Все функции printf работают одинаково. Либо они выводят инфу в консоль (и тогда первый параметр является сразу форматом строки) Либо они выводят инфу в строку (и тогда первый параметр всегда строка в которую будет писаться результат)
  6. Помогите Generals Zero Hour 1.08

      Я вообще не стал бы конкретно эту ошибку патчить. Судя по описанию ошибки, она может возникнуть во время любой рассинхронизации, а не только в момент читерства. От сюда следует, что эта ошибка, возможно, где-то выше вызывается через call. Возьми отладчик, поставь BP на место где она вызывается, и смотри на стек вызовов. Исследуй код который вызывает эту функцию, возможно найдешь как "починить", если повезет.
  7.   Память выделяется динамически, в зависимости от входных данных ) А это значит, что: 1. Эти данные хранятся не в стеке, а в куче 2. Эти данные всегда имеют соответствующий входным строкам размер, а значит переполнения не может быть   И именно по этому я не люблю когда Visual Studio что-то пытается решить за меня, по этому юзаю Code::Blocks и GCC компилятор )
  8.   Вообще-то все эти ошибки гуглятся... Столько лишних вопросов, попробуй сам гуглить.   То что студии не нравится swprintf это я знаю, по этому и не люблю Visual Studio, слишком много на себя берет. Попробуй вторым параметром передать длину строки, т.е. swprintf(My_Little_String, len_string, L"%d - %s", entry.th32ProcessID, entry.szExeFile); Может поможет. Если нет, то загугли альтернативные функции.
  9.   так как у тебя ExeFile уже имеет тип WCHAR то тебе уже ничего не надо делать, можешь все что связано с переменной forExeFile удалить, а строку   swprintf(My_Little_String, L"%d - %s", entry.th32ProcessID, forExeFile); заменить на swprintf(My_Little_String, L"%d - %s", entry.th32ProcessID, entry.szExeFile);
  10.   У меня, в CodeBlocks, в структуре переменная szExeFile имеет тип TCHAR, скорее всего в Visual Studio другой тип. Попробуй вместо strlen использовать wcslen (она для WCHAR)
  11.   Используй MessageBoxW   MessageBoxA для ASCII строк (там где символы 1 байт), MessageBoxW для UNICODE строк (там символы обычно 2 байта)
  12. DWORD это 32-bit unsigned int (Т.е. целое беззнаковое число от 0x00000000 до 0xFFFFFFFF)   Объясни вопрос более подробно и с примером. Иначе не понятно, причем тут число и количество символов в нем.   Если более филосовско рассуждать, то DWORD это 2 WORD'а, которые состоят из 4х CHAR'ов :DD а значит 4 символа