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

Рекомендуемые сообщения

Версия игры 1.0.0.447 win7 размер файла 4 530 176 байт

в команде 4 червя

ищю указатели на каждого в моей комманде

всё прекрасно находится в таблице всё работает

как сделать скрипт чтоб сравнивать все 4 указателя и писать значение

попробывал так

игра крашится (я нуб)

сам скрипт


aobscan(_faddress,8bxxxxxxxxxx85xx76xx8bxxxxxxxxxxc1xxxxf6xxxx75xxf6xxxxxxxxxxxx74)
alloc(_newmem,2048)
label(_returnhere)
label(_originalcode)

_newmem:
push eax
mov eax,[[WormsReloaded.exe+003FAB30]+64]
cmp eax,[eax+00000088]
pop eax
jne short _originalcode
mov [eax+00000088],#555

push eax
mov eax,[[WormsReloaded.exe+003FAB24]+64]
cmp eax,[eax+00000088]
pop eax
jne short _originalcode
mov [eax+00000088],#555

push eax
mov eax,[[WormsReloaded.exe+003FAB18]+64]
cmp eax,[eax+00000088]
pop eax
jne short _originalcode
mov [eax+00000088],#555

push eax
mov eax,[[WormsReloaded.exe+003FAB0C]+64]
cmp eax,[eax+00000088]
pop eax
jne short _originalcode
mov [eax+00000088],#555

_originalcode:
mov ecx,[eax+00000088]
jmp _returnhere

_faddress: // 00451820 = WormsReloaded.exe+51820
jmp _newmem
nop
_returnhere:

[DISABLE]
aobscan(_faddress,9085xx76xx8bxxxxxxxxxxc1xxxxf6xxxx75xxf6xxxxxxxxxxxx74)

_faddress-5:
mov ecx,[eax+00000088]

dealloc(_newmem)
//Alt: db 8B 88 88 00 00 00
[ENABLE]

Ссылка на комментарий
Поделиться на другие сайты

Не просто нельзя, а бессмысленно. Зачем сравнивать указатель со значением, на которое он указывает (даже с учетом смещения)? Ведь очевидно же, что вероятность совпадения этих значений стремится к нулю. Возможно, крэш именно из-за этого. Выход подсказан верно - использовать другой регистр для сравнения.

Ссылка на комментарий
Поделиться на другие сайты

По скрипту который автор привел точно ничего не подскажешь (может быть он считает что мы должны скачать игру и разобраться :ninja: ... ). Можно описать только некоторые рекомендации:

1) просмотреть как ассемблировались команды (CE может грешить на этом)

2) поставить бряк на доступ при вхождении в тело инъекции и пошагово выполнять каждую инструкцию при этом следить за обращением к адресам которых может не существовать

3) если проходы успешно выполняются, то может быть ситуация когда через ~1000 раз указатель укажет на не существующий или запрещённый адрес процесса; вручную выйти на такой момент не реально следовательно нужно писать скрипт с проверкой на существующие адреса или же на LUA написать логер проскакивания адресов при бряках;

4) ещё одна вероятная штука это сохранить и выгрузить регистр флагов: pushfd- popfd

Ссылка на комментарий
Поделиться на другие сайты

cmp eax,[eax+00000088] - так можно делать? Я предпочитаю таких сравнений избегать. Может лучше заменить первый eax на ebx допустим.

Помогло!!

Ссылка на комментарий
Поделиться на другие сайты

Искать указатели на каждого червяка - плохая идея. Я уже не помню почему точно, но указатели будут не всегда правильные.

Самый оптимальный вариант (так делал я и, вроде, все кто ломал эту игру) искать указатель на команду

если ходит моя команда, то

если ходит не моя команда, то

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
ANT' date='09 Март 2011 - 01:53' timestamp='1299617603' post='2330']

Искать указатели на каждого червяка - плохая идея. Я уже не помню почему точно, но указатели будут не всегда правильные.

Самый оптимальный вариант (так делал я и, вроде, все кто ломал эту игру) искать указатель на команду

если ходит моя команда, то

если ходит не моя команда, то

Ты целиком и полностью прав!!!!

Не знаю почему но эти указатели иногда пашут под противника(скорее всего потому что искал указатели имея 2 комманды на поле а менятся начали с появленим 3)

КАК НАЙТИ УКАЗАТЕЛЬ НА КОММАНДУ????????????

Ссылка на комментарий
Поделиться на другие сайты

При ходе твоей команды ищи 0 (тип 1 байт), когда ходит следующая команда - отсеивай "1", следующая "2", если снова ходит твоя команда - отсеивай "0". Или, при ходе твоей команды, ищи/отсеивай "0", а при ходе др. команды "изменилось". Ну а далше, указатель не составит труда найти.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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