-
Постов
27 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Alexandro
-
-
По поиску общего - в игре есть возможность не выстреливать, а выбрасывать патроны - по одному, по несколько?
или выпил или еще чего , не понимаю вопроса, есть возможность подбирать, есть возможность выстреливать, и обмениваться на станциях патронами
все, устал!
пара свежих кодов, саму таблицу пока не обновляю ввиду ее не готовности.
мины
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+1EA308)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
mov [rcx+0000031C],#5
originalcode:
mov eax,[rcx+0000031C]
exit:
jmp returnhere
"metro.exe"+1EA308:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"metro.exe"+1EA308:
mov eax,[rcx+0000031C]
//Alt: db 8B 81 1C 03 00 00
аптечки
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+346C60)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
mov [rcx+00000478],0000001F
originalcode:
mov edx,[rcx+00000478]
exit:
jmp returnhere
"metro.exe"+346C60:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"metro.exe"+346C60:
mov edx,[rcx+00000478]
//Alt: db 8B 91 78 04 00 00
и второй вариант но_релоад (на револьвере игра вылетает!)aobscanmodule(noreload_aob,metro.exe,B2 48 8B 06 48 8B CE) // should be unique
alloc(newmem,$1000,"metro.exe"+2C0E4E)
label(returnhere)
label(no_reload)
registersymbol(no_reload)
newmem:
push [rsi+450]
pop [rsi+448]
mov rax,[rsi]
mov rcx,rsi
jmp returnhere
noreload_aob+01:
no_reload:
jmp newmem
nop
returnhere:
registersymbol(noreload_aob)
[DISABLE]
no_reload://"metro.exe"+2C0E4E
mov rax,[rsi]
mov rcx,rsi
unregistersymbol(noreload_aob)
dealloc(newmem)
[ENABLE]пока забросил это дело нужен моральный отдых ))- 1
-
но теперь однозарядный обрез подвисает после 2ух ( !) выстрелов - вариант тогда либо как я и говорил работать с обоими частями (патроны в обойме + патроны общие), либо делай плюс 1 патрон приблизительно так
до слез теперь обрез работает а хельсингом вылетает это если c add, а если без как ты указал ранее то работает хельсинг и все остальное оружие кроме обреза
-
Alexandro мне кажется, что основная проблема в том, что ты пытаешься работать только с одной частью. А нужно с обоими: и с количеством патронов в обойме и с общим количеством патронов.
упростить:
выбора инструкции - ошибки не вижу
да извини по этому моменту не отписал, кучу способов перепробовал что бы найти общее кол-во патронов обоимы и запаса, и с учетом+1 и без него и либо мне опыта и знания ассемблера не хватает или такой параметр не задействован
за подсказку и поправку спс +
з.ы. уже 14 запоротый сейв ушел ))
newmem:push [rsi+450]pop [rsi+448]mov rax,[rsi]mov rcx,rsijmp returnhere
-
Посмотри первое видео из этого сообщения внимательно (если понадобится несколько раз).
А то переспрашивать тебя:
а правильно ли ты нашёл инструкцию?
правильно ли нашёл фильтр?
отвечает ли твоя инструкция за все виды оружия?
и т.д., как я понял - это запутывать тебя ещё больше.
В видео, на которое я дал ссылку, как раз рассказывает про поиск патронов всех видов оружия, пример поиска фильтра и написание готового скрипта понятным языком.
не просто просмотрел а скачал обе части на hdd и просмотрел раз ё10 каждый. Но суть уловил посмотрю еще раз, может действительно не туда повернул.
не ... так золотуха, вот такой адрес накопал в истоках процесса:
[ENABLE]
aobscanmodule(noreload_aob,metro.exe,B2 48 8B 06 48 8B CE) // should be unique
alloc(newmem,$1000,"metro.exe"+2C0E4E)
label(returnhere)
label(no_reload)
registersymbol(no_reload)
newmem:
push rdi
mov rdi,[rsi+450]
mov [rsi+448],rdi
mov rax,[rsi]
mov rcx,rsi
pop rdi
jmp returnhere
noreload_aob+01:
no_reload:
jmp newmem
nop
returnhere:
registersymbol(noreload_aob)
[DISABLE]
no_reload://"metro.exe"+2C0E4E
mov rax,[rsi]
mov rcx,rsi
unregistersymbol(noreload_aob)
dealloc(newmem)
с ним работает no_reload но теперь однозарядный обрез подвисает после 2ух ( !) выстрелов, зато и с хельсингом работает и не вылетает, порекомендуйте упростить скрипт. спасибо.
вышел на него так, на хельсинг на запись идет 2 адреса:
1) 13FC10008 - 48 89 BE 48040000 - mov [rsi+00000448],rdi взял за основу его вероятное место значения 1FD50BA0 *
2) 13FEE0B2F - 44 89 B6 48040000 - mov [rsi+00000448],r14d
* в нем нашел все 3 оружия и больше никаких инструкций, пробил его по "найти какие адреса..."в нем взял за основу mov rax,[rsi] (вот с этим сижу и думаю а ту ли я инструкцию взял ?)есть какие мысли по поводу выбора инструкции и грамотности написания скрипта, принимается любая критика... -
помогите осознать мы имеем инструкцию mov eax,[rbx+00000448], есть 3 оружия, автомат, хельсинг и револьвер, у них есть обоима, если их через поиск выцеплять и морозить отдельно то все как бы нормально, если делать скрипт на mov eax,[rbx+00000448] которая за них отвечает то происходит вылет, а если отдельно морозить через поиск с отсеиванием то нет, делать фильтр именно на этой инструкции или на инструкции выше? мне эта перезарядка всю плешь проела...
-
Не правильно. Сек
Вот так.
У тебя в структуре по смещению 498h значение было 4 байта или байт?
если 4 байта, то cmp dword ptr [rbx+498],#1
если байт, то cmp byte ptr [rbx+498],1
спасибо, попробую. там 4 байта...
[ENABLE]alloc(newmem,256,"metro.exe"+2C0A1A) label(returnhere)label(Originalcod)newmem: cmp byte ptr [rbx+498],1 jne Originalcod push [rbx+00000450] pop [rbx+00000448] Originalcod: mov eax,[rbx+00000448]jmp returnhere "metro.exe"+2C0A1A:jmp newmemnopreturnhere: [DISABLE]"metro.exe"+2C0A1A:mov eax,[rbx+00000448]dealloc(newmem)
-
ВСЕ! по этому вопросу отбой фильтр в принципе верный, на револьвере хтябы не вылетает , но теперь он и не заряжается, все время перезаряжается, а при выборе хельсинга вылетает. будем искать другой путь, спасибо.
Вариант 3 самый правильный из 3, если фильтр нашёл верно, он по идее должен работать для всего вида оружия.
Код чуть-чуть подправь:лучше полностью код покажу:
Перепиши как в последнем моём варианте.
правильно я понял ?
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+2C0A1A)
label(returnhere)newmem: //this is allocated memory, you have read,write,execute access
cmp dword ptr [rbx+498],1
jne returnhere // здесь должен быть прыжок на оригинальные инструкции с последующим выходом
push [rbx+00000450]
pop [rbx+00000448]
"metro.exe"+2C0A1A:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
"metro.exe"+2C0A1A:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
dealloc(newmem)[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048,"metro.exe"+2C0A1A) label(returnhere)label(exit) // не удалить, а изменить название, если изменишь не забудь изменить везде, // где я проставил exitnewmem: //this is allocated memory, you have read,write,execute accesscmp byte ptr [rbx+498],1 jne exit // здесь должен быть прыжок на оригинальные инструкции с последующим выходом push [rbx+00000450] pop [rbx+00000448] exit: // метка оригинальных инструкций mov eax,[rbx+00000448]jmp returnhere //exit: // удалить обе//jmp returnhere // строчки "metro.exe"+2C0A1A:jmp newmemnopreturnhere: [DISABLE]//code from here till the end of the code will be used to disable the cheat"metro.exe"+2C0A1A:mov eax,[rbx+00000448]//Alt: db 8B 83 48 04 00 00dealloc(newmem)
-
спасибо за плюсы смог сам переделать надеюсь правильно ...
Но убедительно прошу избегать "взаимных" плюсов.
услышал, его пост мною расценен как вспомогательный, потому как по его совету сейчас пытаюсь разобраться с функцией но_релоад. но общую суть уловил спасибо.
очередной глупый вопрос:
где тут ошибка ?
вариант 1
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+2C0A1A)
label(returnhere)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
cmp [rbx+498],#1 // фильтр на оружие
jnb returnhere // уходим если false
push rcx // резервим rcx
mov rcx,[rbx+00000450] // записываем максимальное кол-во патронов
mov [rbx+448],rcx // заносим получившееся значение в обоиму
pop rcx // удаляем rcx
mov eax,[rbx+00000448]
jmp returnhere
exit:
jmp returnhere
"metro.exe"+2C0A1A:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
"metro.exe"+2C0A1A:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
dealloc(newmem)вариант 2
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+2C0A1A)
label(returnhere)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
cmp [rbx+498],1 // фильтр на оружие
jnb returnhere // уходим если false
push rcxx // резервим rcx
mov rcx,[rbx+00000450] // записываем максимальное кол-во патронов
mov [rbx+448],rcx // заносим получившееся значение в обоиму
pop rcx // удаляем rcx
mov eax,[rbx+00000448]
jmp returnhere
exit:
jmp returnhere
"metro.exe"+2C0A1A:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
"metro.exe"+2C0A1A:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
dealloc(newmem)[ENABLE]
вариант 3
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048,"metro.exe"+2C0A1A)label(returnhere)label(exit)newmem: //this is allocated memory, you have read,write,execute accesscmp [rbx+498],#1 // фильтр на оружиеjnb returnhere // уходим если falsepush [rbx+00000450] // берем значение из 450pop [rbx+00000448] // и заносим в 448mov eax,[rbx+00000448]jmp returnhereexit:jmp returnhere"metro.exe"+2C0A1A:jmp newmemnopreturnhere:[DISABLE]//code from here till the end of the code will be used to disable the cheat"metro.exe"+2C0A1A:mov eax,[rbx+00000448]//Alt: db 8B 83 48 04 00 00dealloc(newmem)
при анализе структур стало понятно что револьвер и дробовик единственный кто не обладает значением 1 в смещении 498
спрашиваю потому что при выше сделанном фильтре игра УРА не вылетает и О БЕДА максимальное значение патронов записанный в строке 450 не учитывается, у калаша например в обоиме всегда "1" патрон, у обреза однозарядного "0", а у револьвера 6 как и положено . При чем без перезарядки у всех кроме дробовика работает как положено(в смысле процесса а не того что мелькает на экране). что это? смещение кода целиком?
-
взято по принципу свой\чужой
все! Позаимствовал построение кода у Alexander D , внес построение фильтра по принципу свой чужой. Пока 3 уровня прошел без глюков, обновил таблицу изменен код фонарика и но_релоад, но-релоад чуть позже доработаю.
Бессмертие (health) рабочий наконец то
[ENABLE]
aobscanmodule(Health_aob,metro.exe,F3 0F 10 81 08 03 00 00 F3) // should be unique
alloc(newmem,$1000,"metro.exe"+820D69)
label(returnhere)
label(Health)
registersymbol(Health)
newmem:
cmp [rcx+2ec],#1 // проверяем наш ли это персонаж
jnb returnhere // перепрыгиваем если неверноpush [rcx+310] // копируем базовое значение жизни
pop [rcx+308] // вытаскиваем уже готовое значение жизни
movss xmm0,[rcx+00000308] // записываем
jmp returnhere
Health_aob:
Health:
jmp newmem
db 90 90 90
returnhere:
[DISABLE]
Health:
movss xmm0,[rcx+00000308]
unregistersymbol(Health)
dealloc(newmem)просьба залить на форум сюда по возможности. спасибо!- 2
-
Я думаю, судя по описанному, проблема похожа на ту, которая была у меня при написании скриптов "Бесконечные патроны и стрельба без перезарядки". я её решил.
Посмотрите здесь, здесь, здесь, здесь и окончательный вариант скрипта, при котором уже вылетов не было ТУТА.
И вылетает именно после четырех выстрелов из дробовика? То есть, с другим оружием проблем нет?
Вообще, завтра, так и быть, постараюсь поставить на скачку данную игру, гляну, что там и как. Собственно, если можешь скинуть сохранения, чтобы я не мучился, собирая нужное оружие - то кидай в эту тему, или мне в личку. Надеюсь только, что репак потянет сохранения с лицензии)
да я читал данные статьи, просто меня не тк понимают, я не так поясняю. проблема во мне.
я видимо не умею отсеивать через стек начальный адрес , потому что через стек найти не удалось, зато где то вчера вычитал и узнал что можно узнать по "предположительному начальному адресу" и о да это он, потом я всю эту ночь пытался понять как правильно написать фильтр по типу свой чужой.
тема такая почти все оружие стандартно кроме 3
1) револьвер после заморозки или нуп адреса +448 при переключении на револьвер игра вылетает
2) хельсинг, типа пневматики которая стреляет металлическими стрелами, при переключении на него все норм, но как только с него делается выстрел игра вылетает
3) обрез, нее важно 2 или 4 там ствола, при но_релоаде после 2/4 выстрелов игра продолжается но вот само оружие не перезаряжается и на другое оружие не переключается, спасает только ручное изменение кол-ва патронов через се.
Это все говорит о том что в начальном процессе установка должна действовать только на выбранное оружие (у выбранного оружия вместо 0 появляется значение) и не распространять его на другие что бы не нарушать структуру кода. т.о. проблема в моих не знаниях и не умения, так что я пока покурю на эту тему в одиночку что бы не играть в испорченный телефон
по поводу не стим, а репака... не мне рассказывать что код может фатально отличаться
-
В каком смысле? Игра падает? Или имеется в виду отдельные глюки с оружием, как например - "зависание" (невозможность перезарядки) дробовика?
вылетает.
в целом я думаю тут так можно до бесконечности пока я не найду начало структуры, так что спасибо за помощь не хочу мучить в пустую
-
Скрипт перекопируй, я его исправил (см. UPD в этом посте)
работает, но все также крашится. как меня злит моих знаний, умений и понимания не хватает
это анализ:
имеем:
1)дробовик базовое значение патронов 2, в примере модифицированный 4 ствольный дробовик (все тот же дробовик но с доп значением которое никак не могу найти)
2/3) подонок, базовое значение обоимы 8, в примере модифицированный 20 патронов суть та же
если пустить скрипт и мой и твой они оба ссылаются на +450, в итоге подонок работает, дробовик после 4 выстрелов зависает без возможности перезарядки, спасает только ручное изменение кол-ва патронов на 0 после чего он отвисает.
долго пытался выяснить уже всю голову сломал. Александр решил этот вопрос проще, просто впихнул в обоиму 999 патронов, решение согласен, но не интересно же, надо же до истины докопаться
-
А это можно сделать с помощью дополнительного регистра:
круто больше нечего сказать
я кстати нашел того ктт писал трейнер, это участник данного форума, трейнер мейкер, Alexander D
-
да именно это имелось в виду спасибо! но проблема в другом, тут пример с 400 это фиксированное число, но у каждого оружия оно отлично 6-8-30-45 и т.д. и если будет допустим 8 то он будет пытаться пропихнуть #1 что скорее всего приведет к крашу.[ENABLE]alloc(newmem,2048,"metro.exe"+2C0A1A)label(returnhere)label(originalcode)newmem:cmp [rbx+448],#400 // сравниваем значение по смещению 448, с 400jnb originalcode // если значение по смещению 448 не ниже (больше, или равно) 400, то выполняем оригинальную инструкциюadd [rbx+448],#1 // если предыдущее условие не сработало, то добавляем один патронoriginalcode: // оригинальная инструкция, в такой конструкции - будет выполняться всегда, так что ошибок быть не должноmov eax,[rbx+00000448]jmp returnhere"metro.exe"+2C0A1A:jmp newmemnopreturnhere:[DISABLE]"metro.exe"+2C0A1A:mov eax,[rbx+00000448]//Alt: db 8B 83 48 04 00 00dealloc(newmem)
Возможно я не там ищу ответ, просто суть в том что допустим в 450 записано максимальное значение для каждого типа оружия, я меняю с оружия АК (30 патронов) на хельсинг (8 патронов), в памяти (+448) прописывается именно 8 в игре отображается тоже 8 (т.е. вроде все правильно), но как только я произвожу выстрел с хельсинга, то игра слетает. я прикинул что может это именно из-за этого, а может и нет и меня это вопрос мучает
второй интересный момент что в игре если подобрать оружие вместимостью 30 патронов то оно дает(показывает) оружие с 30 патронами (но по поиску через СЕ бьется как 29), как только я жму reload то на экране отображается 31 патрон в обоиме, при этом по поиску он так же пробивается как 30, защита? может в этом дело?
-
Залил под твоим авторством. В теме напиши информацию по игре (если репак - то какая таблетка, если лицензия - то укажи, что это лицензия, и список опций составь), я обновлю в посте.
надеюсь правильно вписал
mov eax,[rbx+450]mov [rbx+448],eax
учту спасибо ,
в целом суть в том что бы если обоима не полная то плюсовалось по патрону (т.е. типа
cmp [rbx+448],[rbx+450]
add [rbx+448],#1
jme returnhere
не знаю как правильно )
до полного достижения максимального значения и при достижении такогого останавливалось.
-
ну долго пояснять в общем и целом, суть в том что не могу отыскать корневой процесс отвечающий за свой чужой в силу неопытности.В общем и целом кидаю скрипт там все достаточное для прохождения игры "с кайфом"1. противогаз(фильтр)2. фонарик (если холдить возможен вылет лучше забиндить на клаву)3. no reload (100% вылет при смене на хельсинг или револьвер)4. гранаты и ножи х55. все патроны включая револьверные "убойные"6. давление для хельсинга7. заряд для рельсы8. давление для тихарь и огнеметдаже файл залить не могу нормальноПы.Сы. в любом случае спасибо за ответы и ссылки много нового и действительно полезного узнал после годов использования артаМ. Удачи в новом году )
файл переделан и перезалит , знаю так тут не принято но я реально устал, проведя пол дня на родном форуме СЕ нашел парочку рабочих скриптов, протестировал , объединил в один что бы другие как я не парились в поисках
функции:
1) фильтр
2) фонарик (torch) (по прежнему может вылететь если переходить от сцены к сцене)
3) без перезарядки (no_reload) не включать с хельсингом или револьвером
4) снаряжение (ammunition(kniwes, granade x5))
5) все патроны (all 30000(включая револьверные убойные и пульки))
6) давление хельсинга (metro 2033) (helsing)
7) заряд рельсы (relsa)
8) давление пневматики (pnevma)
дальше не мои:
Infinite Mask Filter
NoClip ( toggle with ~ hotkey ) (работает)
hideCrosshair (работает)
hideHands And hideWeapon (работает)
GodMode (работает но только на арене местами крашит где есть демоны или пауки, самому отфильтровать не удалось и не мне одному видимо...)
GasmaskOverride (работает)
readme описание скриптов указанных выше
Новые адреса:
на майл облаке
на яндексе (если кому не сложно перезалейте на форум у меня пока нет такой опции)
пы.сы. все же был бы рад в принятии помощи по удаленке типа скайпа или ТмВ в отсеивании свою чужой, фонарика и перезарядки для исключения краша
-
такой вопрос:
есть инструкция
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+2C0A1A)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
originalcode:
push ecx
mov ecx,[rbx+00000450]
mov dword ptr [rbx+00000448],ecx
pop ecx
mov eax,[rbx+00000448]
exit:
jmp returnhere
"metro.exe"+2C0A1A:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
"metro.exe"+2C0A1A:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
dealloc(newmem)интересует этот фрагмент :
originalcode:
push ecx
mov ecx,[rbx+00000450]
mov dword ptr [rbx+00000448],ecx
pop ecx
mov eax,[rbx+00000448]как правильно написать фильтр если смещение -450 это базовое значение, а смещение -448 это текущее значение в игре (обоима)?
например с функцией ADD к примеру #1
вся проблема в том что при переключение на хельсинг или револьвер изначально выставляется значение верно, при перезарядке та же цифра которая записана в -450 (то есть условие выполняется), а при выстреле из оружии происходит краш
-
Честно говоря, я мало что понял из поста
ну долго пояснять в общем и целом, суть в том что не могу отыскать корневой процесс отвечающий за свой чужой в силу неопытности.В общем и целом кидаю скрипт там все достаточное для прохождения игры "с кайфом"1. противогаз(фильтр)2. фонарик (если холдить возможен вылет лучше забиндить на клаву)3. no reload (100% вылет при смене на хельсинг или револьвер)4. гранаты и ножи х55. все патроны включая револьверные "убойные"6. давление для хельсинга7. заряд для рельсы8. давление для тихарь и огнеметдаже файл залить не могу нормальноПы.Сы. в любом случае спасибо за ответы и ссылки много нового и действительно полезного узнал после годов использования артаМ. Удачи в новом году ) -
Спасибо) С наступающим
все, мозга нет! по инструкции со ссылки выше в поиске бряка на адрес по записи, и чтения доступа с отладчика выпадает миллион адресов а не конкретно игрок\враг. если делать как в видео "часть 2" то по доступу выпадает конечно только 1 адрес, и бряк (данные-прерваться на записи (стек)) адекватно с адреса берет, но вот значения которые там есть ни одно не подходит , даже пробовал значения ниже уровнем
2D177EC8(float) здоровье
значения из стека:
2D177EC0-сам себя
2D177bc0-сам себя
2D176c20-в найденых адресах нет искомого с8
2D16ecf0-сам себя
2D16a1d8-нет с8, не подходят потому что они показывают на бряке только самих себя готов поделиться TeamW или sky для решения вопроса, или можно закрывать тему ) видимо я чего то недогнал реально по теме
поиск через доступ:
metro.exe+1DDDFD - 0F2F 81 08030000 - comiss xmm0,[rcx+00000308]
поиск через запись:
13F56388C - F3 0F11 49 08 - movss [rcx+08],xmm1
13F56394D - F3 41 0F11 10 - movss [r8],xmm2
поиски проводил по обоим.
-
В главном окне СЕ нажать на кнопку "Опции" (под логотипом СЕ, справа, сверху), далее, в открывшемся окне перейти в "Параметры отладчика" (слева), и выбрать нужный отладчик. Лучше - "VEH отладчик")
Варианты всегда есть. На каждый хитрый болт - найдется гайка похитрее
помогло, тема актуальна, ушел курить на новогоднии праздники. админов, модеров и персонал с наступающим
-
""Тут" - это вам не здесь" (с)
На нашем форуме множество статей и видео-уроков
сделал по видео "вслом булитшторм" срипт норелоад
, работает
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"metro.exe"+2C0A1A)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
originalcode:
push ecx
mov ecx,[rbx+00000450]
mov dword ptr [rbx+00000448],ecx
pop ecx
mov eax,[rbx+00000448]
exit:
jmp returnhere
"metro.exe"+2C0A1A:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
"metro.exe"+2C0A1A:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
dealloc(newmem)
относительно здоровья все сложнее, не могу воспользоваться ни анализатором ни проверку ни "кто еще может использовать этот процесс" причем ни с metro redux ни с last ligth (екзешник у стима видимо один и тот же)
сложность в том, что при запуске бряка на запись или доступ игра вылетает 100% всегда, адреса я цеплял из окна отладчика пока горит окно о некорректном завершении работы игры...
что делать ума не приложу, но ведь тренер есть, значит есть варианты? вторая 1.5 хмеля пошла
-
По поводу бессмертия: тебе нужно написать фильтр "Свой-Чужой", чтобы бессмертие действовало только на тебя. Для этого можешь почитать эту тему, а также видео-уроки по данному вопросу в соответствующем разделе форума.
спс за наводку покурю, но пойму наврядли, потому что подобных тем "тут" прочел немало, так и не понял ничего (собственно что стало позывом о помощи), только тестировал с копированием скрипта и подставлением действующих значений , но если они канали в 1.0.0.1 то в 1.0.0.3 они работают но с крэш"ем .
По поводу бессмертия: тебе нужно написать фильтр "Свой-Чужой", чтобы бессмертие действовало только на тебя. Для этого можешь почитать эту тему, а также видео-уроки по данному вопросу в соответствующем разделе форума.По поводу остальных скриптов сказать не могу, т.к. игры под рукой нет, и точно не знаю, какие там значения максимальные, и какие типы имеют. Так что нужно ждать людей, у кого эта игра есть, либо какую-то дополнительную информацию привести, которая бы пролила свет на возможные ошибки в скриптах.
дополнительную информацию какого рода? логи с отладчика? игра есть... руки тоже, с мозгами сложнее
-
Доброго времени суток! Прошу помощи в редактировании таблицы, конкретно есть 3 меню из-за которых происходит вылет игры на перезарядку (при смене оружия с меньшим кол-вом патронов) и при включении фонарика когда поставлено максимальное значение зарядки.
Бессмертие действует но при это и на меня и на противников
работает как на метро редукс так и на metro last light redux 1.0.0.3
пы.сы. могу выложить все таблицы, если кто-то хочет создать трейнер
пы.сы да трейнер уже существует но кто его знает что там напихано, и после него игра начинает подвисать и так же лагает с валютой. лаги даже после перезагрузки вплоть до сноса игры.
пы.сы. 2 да статьи в туторах читал про esi eax, но чесnно говоря ничего не получилось видать мозгов не хватило.
Заранее спасибо!
[ENABLE]
//это энергия
alloc(newmem,2048,"metro.exe"+3485C8)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
mov [rbx+00000480],(float)1
originalcode:
mov eax,[rbx+00000480]
exit:
jmp returnhere
"metro.exe"+3485C8:
jmp newmem
nop
returnhere:
[DISABLE]
dealloc(newmem)
"metro.exe"+3485C8:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
[ENABLE]
//это no reload
alloc(newmem,2048,"metro.exe"+2C0A1A)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
mov [rbx+00000448],00000006
originalcode:
mov eax,[rbx+00000448]
exit:
jmp returnhere
"metro.exe"+2C0A1A:
jmp newmem
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"metro.exe"+2C0A1A:
mov eax,[rbx+00000448]
//Alt: db 8B 83 48 04 00 00
[ENABLE]
//здесь бессмертие (но что странно оно действует и на меня и на противников )) )
alloc(newmem,2048,"metro.exe"+1DDDFD)
label(returnhere)
label(originalcode)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
mov [rcx+00000308],(float)1
originalcode:
comiss xmm0,[rcx+00000308]
exit:
jmp returnhere
"metro.exe"+1DDDFD:
jmp newmem
nop
nop
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"metro.exe"+1DDDFD:
comiss xmm0,[rcx+00000308]
//Alt: db 0F 2F 81 08 03 00 00
//NullAlex: дубликат темы удалил, который был создан спустя пять минут. Саму тему переместил в подходящий раздел. На будущее: темы и сообщения от членов группы "Гостей" должны пройти модерацию перед тем, как попасть на форум. Как только пользователь перестает быть членом группы "Гостей" - его темы и сообщения проходят на форум без премодерации.
Metro 2033 redux (Steam 1.0.0.3) правка скриптов таблицы CE 6.4
in Вопросы по созданию читов в одиночных играх
Опубликовано · Изменено пользователем Alexandro
можно ли объеденить 3 инструкции в одну если относятся к разным адресам exe?
эту (ножи бомбы) :