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

Justman

Стажёры
  • Постов

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

  • Посещение

Репутация

0 Навыки не прокачены

Информация

  • Пол
    Не определился
  1. Код оригинальный. Бряк ставил на количество патронов в обойме. Через него вышел на структуру оружия. Там и нашел функции подсчета патронов, скорострельность, отдачу. Нашел даже функцию стрельбы отсечками. А на функции точности стрельбы застрял. Сделал как сказал Garik66, не помогло. Крашится.
  2. Привет всем! Пытаюсь найти функцию, отвечающую за точность стрельбы. Перепробывал нопить call'ы, изменять значения заносимые в регистры, менять условные переходы на безусловные, менять условия перехода...В итоге сработало только затереть инструкцию или изменить вид перехода jg zbotcz.weapon_usp+602. При этом возникла проблема - появилась точность + как бонус бесконечные патроны, но...пропал дамаг. mov eax,[esi+000000CC]test eax,eaxmov [esi+000000FC],ecxjg zbotcz.weapon_usp+602 mov eax,[esi+000000B4]test eax,eaxje zbotcz.weapon_usp+5DAmov edx,[esi]mov ecx,esicall dword ptr [edx+0000014C]call zbotcz.func_rain+50fadd qword ptr [zbotcz.worldspawn+E768]fstp dword ptr [esi+000000B8]mov ecx,[zbotcz.`string'+16EA8]test ecx,ecxje zbotcz.weapon_usp+7FBmov edx,[esi+000000A4]mov eax,[ecx]push 00push edxpush 02call dword ptr [eax+24]pop edipop esipop ebppop ebxadd esp,24ret 000Ccall zbotcz.func_rain+50fadd dword ptr [esp+3C]mov ebx,[esi+000000CC]mov ecx,esidec ebxmov [esi+000000CC],ebx // Бряк на запись сработал здесьfld dword ptr [zbotcz.worldspawn+E750] // 0000000000ret
  3. Все структуры игроков изучил по несколько раз, идентификатор команды так и не нашел. Ни 0 - SP, 1 -TR, 2 - CT. Ни 1 - SP, 2 -TR, 3 - CT. Ничего похожего нет даже. Места, где совпадают по команде значения, меняются при перезапуске Пришлось зацепиться за идентификатор определения бота от игрока. В результате infinite_hp независимо от команды. Также на основе этого реализовал one_hit_kill. Дальнейшее направление связанно со структурой оружия. Реализовано infinite_ammo, no_recoil, rapid_fire. Ковыряю дальше Подскажите, как найти функцию отвечающую за кучность стрельбы? Хотя бы пример как она может выглядеть в листинге дизассемлера.
  4. Т.е. написать как фильтр, скрипт вроде этого: alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem:cmp [eax+10],#100jne exitoriginalcode:fld dword ptr [eax+10]jmp returnhereexit:fld dword ptr [eax+10]mov [eax+10],(Float)100jmp returnhere"css.dll"+977C9:jmp newmemnopreturnhere:[DISABLE]"css.dll"+977C9:fld dword ptr [eax+10]dealloc(newmem)Спасибо за подсказку. Буду работать в этом направлении.
  5. Настоящий адрес нашелся через функцию нанесения урона. Причем порадовало, что он статический. Значения в нем хранятся в виде Float. Следующая трудность возникла с реализацией бессмертия - данные о здоровье игрока и противника лежат в одной структуре. Как в этом случае отфильтровать по принципу "свой-чужой"?
  6. ДВС! Стал интересен процесс реверс инжиниринга. После просмотров мануалов на ютубе от GameHackLab и Keng'а, появились начальные знания в этой области, за что им большая благодарность! При анализе игры CS 1.6 возникла такая проблема: Не получается найти реальный адрес здоровья игрока (ХП). При поиске по значению, выдается 8 адресов и дальнейшим отсеиванием это число не изменяется. Есть 1 статический адрес, который отвечает за вывод значения ХП на экран. Остальные 7 адресов, никаким образом не влияют на истинное значение ХП. При их заморозке в Cheat Engine (CE), значения продолжают уменьшаться. Если взять любой из этих 7 адресов и поставить breakpoint на запись, то выходит инструкция такого вида : mov edx, [eax + 10]В стуктуре eax по смещению 10 записано значение ХП на данный момент. Подскажите, как найти настоящее значение?
×
×
  • Создать...

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

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