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

Xipho

Администраторы
  • Постов

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

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

    42

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

  1. Смотреть выше по коду, что именно попадает в ebx. Именно в ebx, а не в [ebx] (надеюсь, разница понятна?) Не в этой инструкции, а выше, там всяко будет инструкция с каким-то смещением. Ее значение и брать в качестве исследуемой структуры.
  2. Вот таблица для СЕ, в ней несколько вариантов отлова XLive. На практике мне помогал либо первый, либо второй пункт (зависит от версии XLive) xlive_scripts.rar
  3. Пусть не совсем в тему, но таки замечу - метод с FindWindow таки устарел. Есть методы лучше и вернее, о них читай статьи и темы на форуме и сайте.
  4. От себя добавлю: Синапс, поставил тебе за каждый из стебных постов по минусу. Вспомни себя, когда ты сам начинал и относись к юзерам с уважением, даже если они задают глупые (на твой "просвященный" взгляд) вопросы. Мы на то и есть, чтобы помогать осваивать основы геймхакинга и программирования, а без таких вопросов (азов) познание невозможно.
  5. Ставлю статье плюс, за старания автора. В будущем статьи нужно писать либо более подробно, либо для более продвинутых, ибо эта статья уж действительно совсем для новичков. ЗЫ. Тему подчистил. Пока за посты никому минусов не раздавал, дал последний шанс. Хотите уводить свою репу в минус - продолжайте срачи вместо полезной деятельности.
  6. ТУТ можешь прочитать мою статью о нахождении базового адреса модуля. Если ты неплохо программируешь, тебе не составит труда переписать представленный там код на C#. За одним исключением - в статье описано, как находить модуль по истинному имени, если имя файла модуля меняется, тебе же это не нужно, и кусок с вытаскиванием реального имени и его сравнения можешь пропустить. В остальном же - все будет актуально.
  7. Отдельного раздела не будет. Все вопросы, которые касаются геймхакинга, обсуждаются в соответствующих темах. Сторонних рассуждений нам не надо, не на то направлен наш ресурс. Если же захочется кому-то просто пообщаться, посраться и тому подобное - в скором времени я планирую запустить на нашем ресурсе чат. Пока это только в планах, ибо у меня, как и у Андрея, времени свободного практически не бывает. В будние дни - две работы, в выходные - работа в клубах и забота о сыне.
  8. Уровень репутации показывает общую геймхакерскую активность на форуме - выкладывание скриптов, трейнеров, помощь другим, а не бахвальство и флуд. Поэтому, собственно, у кого-то уровень больше, у кого-то меньше. И сразу становится видно, кто и что делает для развития нашего ресурса в частности и российского геймхакинга в целом. На этом всякий флуд и оффтоп прекращаем и смотрим мое объявление в теме "Сайт и форум".
  9. Внимание! С текущего момента администрация может ставить отрицательные оценки постам, содержащим флуд, оскорбления и тому подобное. Следовательно, будет падать ваша репутация. За особо злостные проступки будет увеличиваться уровень предупреждений.
  10. Интересно, когда закончатся подколы и начнется нормальная активность в виде публикации трейнеров или скриптов от Uchiha Sasuke? Не знаю, как насчет остальных администраторов, но мое терпение уже на исходе.
  11. Ramil, еще пара работ, и ты будешь включен в группу Trainer Maker, что позволит тебе заливать работы прямо на наш форум и не беспокоиться о том, что ссылки через некоторое время "умрут".
  12. Ребята, вы лезете в дебри. Если нужно, чтобы патроны просто перестали отниматься при выстрелах - Нужно: 1. Найти адрес патронов какого-либо оружия 2. Найти инструкцию, которая выполняется при выстреле (отнимает какое-то количество патронов) 3. Забить эту инструкцию нопами безо всяких кейвов. К примеру, на скрине выше (в посте ZOCKIR) такой инструкцией является dec [eax+78] и нопить нужно именно ее, а не ту, которая выбрана на том же скрине. Ибо выбрана "читающая" инструкция, и если ее забить нопами, это может привести к непредсказуемому результату вплоть до вылета игры.
  13. C каждой новой версией движка IP.Board, они уходят в сторону все большей "социализации". Что поделаешь - веяние времени. Именно под этим влиянием комментарии к профилях пользователя и стали "статусами", которые, по желанию пользователя, к тому же, могут экспортироваться в твиттер. Для того, чтобы вернуть именно комментарии - мне надо будет писать отдельный хак для движка или же искать какой-то мод. В принципе, с этими изменениями жить можно, поэтому это явно не первостепенная для меня задача. ЗЫ. Особо недовольным напомню две русские поговорки - "Со своим самоваром в Тулу не ходят" и "Со своим уставом в чужой монастырь не ходят". Лив, это к тебе относится. Перелопачивать полдвижка форума только из-за того, что тебя одного что-то задолбало - извиняй, но я этого делать не буду.
  14. Ну, что же, осуществлен переезд на новый хостинг. Этот хостинг обещает быть более стабильным, следовательно, ожидается, что отныне работа сайта и форума будет бесперебойной. Дополнительный плюс - теперь у нас под файлы 100 гигов места, так что, возможно, теперь я свое творчество буду и на нашем сайте выкладывать, если кому-то оно будет интересно ))
  15. В следующем патче какая-то из, к примеру, локальных переменных может "переехать" чуть ниже в стеке, и, следовательно, код немного видоизменится. В этом случае такая проверка ничего не даст - код не будет найден, ибо часть байтов будет заменена. Отсюда вывод - цепочку проверочных байт нужно строить только по байткодам инструкций, без привязки к байтам операндов.
  16. Не пробовал пока еще, но, если переводить, первая опция - "развернуть все определенные указатели" - я так понимаю, прога будет пытаться проследовать по цепочке указателей, которые определены юзером, Вторая опция, соответственно, "развернуть все определенные и неопределенные указатели". Возможно, во втором варианте прога должна это делать в отдельном потоке, но, видимо, делает в основном, поэтому и создается впечатление, что прога повисла, ибо неопределенных указателей может быть великое множество, и, чтобы их все "раскрыть" проге понадобится весьма немало времени даже на самом мощном компе. Но это лишь мои логические выкладки, которые с реальностью могут не совпадать в силу того, что таки бэтку я еще не "щупал" )
  17. В стеке, как известно, хранятся локальные для функции переменные. Так что, можно бэктрейсом выйти из функции, и посмотреть, что заталкивается в стек. Таким образом можно выйти на инструкцию, которая "подготавливает" данные для передачи в отловленную функцию, и проблем со стеком не будет.
  18. По указанному в скрипте вопросу - это значение - "опкоды" инструкций, то есть, это то же самое, что показано чуть выше (в секции DISABLE), только выраженное цифрами, а не дизассемблерным кодом (именно "цифры" и понимает процессор). По сути, это не принципиально, пока учишься. Как твои навыки станут чуть больше, ты сам поймешь суть этих цифр. Ну, а если не поймешь, то мы с радостью объясним, но только тогда, когда твой уровень достигнет той отметки, при которой ты сможешь правильно понять наши объяснения )
  19. Я сейчас навряд ли вспомню, но, возможно, игра использует модульную адресацию, следовательно, адреса должны быть не прямыми, как у тебя, а в зависимости от модуля )
  20. Так, касательно скачивания платных взломанных приложений и собственно взлома приложений здесь писать не нужно. Ибо это нарушение авторских прав, а такое на нашем форуме запрещено.
  21. Значит, ты что-то не так делаешь. Других вариантов у меня не осталось.
  22. Так ты используешь не диалог, а обычное окно, я так понимаю? Если да, тогда при регистрации класса указывай в его структуре иконку. Это раз. И, если используется окно, а не диалог - обрабатывать нужно не WM_INITDIALOG, а WM_CREATE. Впрочем, при использовании обычного окна это не понадобится, ибо иконка, как я уже писал, указывается в определенных полях структуры создаваемого класса. typedef struct tagWNDCLASSEX { UINT cbSize; UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; HICON hIconSm; } WNDCLASSEX, *PWNDCLASSEX; Как видно, иконку нужно прописать в двух полях - hIcon, и hIconSm. Загрузить ее можно, как я уже показывал выше. Или же есть еще способ (несколько изуверский, но, тем не менее) hIcon1 = (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 16, 16, LR_DEFAULTSIZE); Это для маленькой иконки, а для большой - соответственно, размеры будут больше. ЗЫ. Естественно, hInstance - это должна быть глобальная переменная, в которую, по идее, система сама хэндл процесса записывает, но я предпочитаю перестраховаться, вызвав в самом начале функцию hInstance = GetModuleHandle(0);
  23. Сначала нужно загрузить значок из ресурсов. Если у тебя IDI_ICON1 - это имя иконки, тогда воспользуйся макросом MAKINTRESOURCE(IDI_ICON1). А вообще, Насколько я помню, для WM_SETICON передается хэндл иконки. То есть, сначала надо сделать hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)) и только потом этот полученный хендл передавать в посыле сообщения WM_SETICON. Точно не помню, так ли это, проверять сейчас времени нет. ЗЫ. Для "визуалок" необязательно использовать расширенную функцию. Достаточно простой InitCommonControls. Система сама заполнит структуру и перенаправит вызов на расширенную процедуру. ЗЗЫ. Еще один маленький фокус - если в ресурсы иконку запихиваешь как MAINICON ICON "c:\path\to\icon.ico" то система автоматом присвоит ее маленьку копию окну, ибо посчитает ее основной иконкой приложения. И да, такое срабатывает, вроде как, не всегда, а только для диалоговых окон. Впрочем, я не уверен, для диалогового или для обычного окна такое срабатывает )))
×
×
  • Создать...

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

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