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

[ Red Orchestra: Ostfront 41–45 ] No recoil

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

Всем хао!

 

Впервые пишу на форуме, так что тему можно легко переместить в правильном направлении.

Дело, собственно, вот в чем, есть в игре такая фича -  "свободное перемещение оружия", из-за которого затрудняется стрельба "от бедра". Нашёл с помощью CE адреса, отвечающее за это. Адреса эти динамические (меняются только две цифры в середине), указателей на них нет или я не могу их найти. В инструкции эти адреса являются значениями edx. Если присвоить в скрипте СЕ, например, [edx+10],#0, то позиция оружия замораживается, но при обращении в игре к какой-нить UI-функции, к примеру, "счет", игра крашится. Однако, если присвоить, в том же скрипте, конкретно этим адресам ноль, то все работает как надо, но грезы разбиваются об динамизм)) Ноп инструкции блокирует также и движение мыши, что не есть гут.

 

Помогите советом, как победить енту страсть. Может, кто встречался с подобным.

 

ЗЫ: Не пинайте сильно, я токмо учусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Gnosis сказал:

Помогите советом, как победить енту страсть. Может, кто встречался с подобным.

Игра же на UE или не что подобное ему.. Там на этой edx+10 висит с  сотенку-другую адресов. Конечно игра отпадет если затереть её, а засовывать туда 0 - это писать в кучу левых адресов 0 - по этому и игра вылетает. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, LIRW сказал:

Игра же на UE или не что подобное ему.. 

Ну да, это я понимаю, но как вычленить нужный указатель на конкретно создаваемые адреса. Вот в чем вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Gnosis сказал:

Вот в чем вопрос.

1. Фильтры

Скрытый текст

 

но лучше посидеть подольше может чо найдешь.

 

2. Цитируем правильно

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 минуты назад, ReWanet сказал:

1. Фильтры

Я смотрел это видео. И многие другие. Так ничего не находится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, Gnosis сказал:

Я смотрел это видео. И многие другие. Так ничего не находится.

Ну значит плохо искал.. Смотри \ читай и пытайся.
Можешь для начала предоставить:
1. Скрин окна дизассемблера
2. Скрин структуры парочки адресов
    Адрес который тебе нужен помести в первую группу а парочку других во вторую. ( CTRL + G в окне структур ).

3. Скрин регистров адресов.

  • Плюс 1

Поделиться сообщением


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

Хорошо, запилю все по феншую))

Поделиться сообщением


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

Не вставляются по феншую у меня скрины (возможно прав не хватает), только так:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Gnosis сказал:

Не вставляются по феншую у меня скрины (возможно прав не хватает)

Эта игра платная? Если ли возможность где-то пиратку получить ( Ссылки на пиратский контент исключительно в ЛС )?
Мог бы позже глянуть если не усну :D Чертовы аниме.

 

 

P.S. за споры буду наказывать по этому если видишь что намечается спор то сразу забывай о нем. Наказываются обе стороны и не важно кто был зачинщиком.

 

Поделиться сообщением


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

Такс сделал [ No Recoil ] твой..
То как искал:

Скрытый текст

 

Там где зависло. Заморозил каждое значение отдельно и выявил что 2128 ( или какое там ) нужный адрес. При его заморозки дуло уводит быстрее. Поставил бряк и после открыл структуру адреса.

 


И что получилось:

Скрытый текст

 


1. Бесконечные патроны
2. Без отдачи

3. Быстрая стрельба
4. Отдаление рук

Таблица: RedOrchestra.CT

 

  • Плюс 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 17.10.2017 в 21:54, ReWanet сказал:

4. Отдаление рук

 

Да уж.

У нас длинные руки. :D

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 17.10.2017 в 22:54, ReWanet сказал:

4. Отдаление рук

Болшое и человеческое тебе за труд!  Завтра роспись у меня с одной девачкай, а после постараюсь во всем разобраться. Но уверен, что ты молодец! (как в репку тебе дать, не нашел, но плюсую духовно :))

 

ЗЫ: Глянул табличку, все хорошо, отдачи нет и рапид-файер, но основная задача все же не решена. движения ружжа так и осталось произвольным. Может, у тебя все норм было, просто разница клиентов?

 

Изменено пользователем Gnosis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Gnosis сказал:

Завтра роспись у меня с одной девачкай, а после постараюсь во всем разобраться.

Это выглядит как похвалился :) Ну тогда поздравляем, а по репе Rewanet'_у давать не надо, моделировать то у нас кто тогда будет. :unsure:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, LIRW сказал:

Ну тогда поздравляем

 

Спасибо, но не с чем особо. Простая формальность ну и повод выпить)))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, Gnosis сказал:

но основная задача все же не решена

(Отдача от оружия)Движение рук -> NoRecoil 
Разброс пуль -> NoSpread
Думаю NoSpread и сам уже сделаешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, ReWanet сказал:

Думаю NoSpread и сам уже сделаешь.

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

Изменено пользователем Gnosis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Gnosis сказал:

ты движешь мышку и ствол уходит от центра, т.е. в центр не стреляет.

Я понял тебя.. Посмотрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, ReWanet сказал:

Я понял тебя.

Буду ждать с нетерпением. Спасибо еще раз, камрад!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Gnosis сказал:

Буду ждать с нетерпением. 

Демонстрация:

Скрытый текст

 

Код:

Скрытый текст

[ENABLE]
aobscan(HandMove,8bxxxxxxxxxxc1xxxxf7xx83xxxx89xxxx8dxxxxxxxxxxe8)
alloc(newmem,$1000,D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5114)
label(code)
label(return)

newmem:
code:
  mov [edx+0000057C],0
  mov [edx+00000580],0
  mov esi,[edx+00000590]
  jmp return

HandMove:
  jmp newmem
  nop
return:
registersymbol(HandMove)

[DISABLE]
HandMove:
  mov esi,[edx+00000590]

unregistersymbol(HandMove)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5114

D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+50EF: 5D                               - pop ebp
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+50F0: C2 1000                          - ret 0010
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+50F3: 8B 83 0CCA0200                   - mov eax,[ebx+0002CA0C]
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+50F9: 83 B8 DC010000 00                - cmp dword ptr [eax+000001DC],00
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5100: 74 0C                            - je 08C69C1E
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5102: 8B CB                            - mov ecx,ebx
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5104: E8 F7BFFEFF                      - call 08C55C10
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5109: E9 C4020000                      - jmp 08C69EE2
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+510E: 8B 4B 08                         - mov ecx,[ebx+08]
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5111: 8B 51 34                         - mov edx,[ecx+34]
// ---------- INJECTING HERE -----------
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5114: 8B B2 90050000                   - mov esi,[edx+00000590]
// ---------- DONE INJECTING  ----------
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+511A: C1 EE 1E                         - shr esi,1E
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+511D: F7 D6                            - not esi
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+511F: 83 E6 01                         - and esi,01
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5122: 89 75 E8                         - mov [ebp-18],esi
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5125: 8D 8D 50FFFFFF                   - lea ecx,[ebp-000000B0]
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+512B: E8 60BBFEFF                      - call 08C557A0
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5130: 8B 07                            - mov eax,[edi]
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5132: 8B CF                            - mov ecx,edi
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5134: C6 45 FC 03                      - mov byte ptr [ebp-04],03
D3D9Drv.UD3D9RenderDevice::UD3D9RenderDevice+5138: FF 90 98000000                   - call dword ptr [eax+00000098]
}

 

 

 

Таблица: RedOrchestra.CT

Поделиться сообщением


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

Так я и делал, но после перезагрузки уровня, все слетает. Щас табличку попробую, но по коду - то же, что и я делал. 

ЗЫ: Да, код не работает(( Я ж говорил, что он динамический, так и есть. Ругается при смене левла. Ты так же, как и я, просто присвоил нули динамическим адресам.

Изменено пользователем Gnosis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, Gnosis сказал:

Так я и делал, но после перезагрузки уровня, все слетает.

Какие "левла"? У меня все работает.. Какие динамические адреса? Скинь свой скрипт..

Поделиться сообщением


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

я не имею прав прикреплять файлы((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Gnosis сказал:

я не имею прав прикреплять файлы((

А залить на другой источник не? 
И да я спросил не только про скрипт. Ты мне скажи что за "смена левела" и "динамические адреса". У меня скрипт работает на ура на любой карте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, ReWanet сказал:

У меня скрипт работает на ура

ну ты же в сингл играешь, а я в мульт. В сингле, возможно, и работает, но при смене сессии в мульте, адреса обнуляются. Регистр тот же, но имена адресов меняются. Остается и инструкция. Вот как вычислить смену адресов? По какому принципу они меняются? Ведь должен быть статик.

Скрытый текст

{ Game   : RedOrchestra.exe
  Version:
  Date   : 2017-10-15
  Author : hp

  This script does blah blah blah
}

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

aobscanmodule(INJECT,Core.dll,03 C2 89 03 8B D8 8B 44 24 14) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
cmp [ebx],eax
je code
code:
mov [0DB60580],#0
mov [0DB6057C],#0

  mov [ebx],eax
  mov ebx,eax
  mov eax,[esp+14]

  jmp return

INJECT+02:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT+02:
  db 89 03 8B D8 8B 44 24 14

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Core.dll"+26B6E

"Core.dll"+26B54: 75 10                          -  jne Core.dll+26B66
"Core.dll"+26B56: 8B 4E 08                       -  mov ecx,[esi+08]
"Core.dll"+26B59: 6A 00                          -  push 00
"Core.dll"+26B5B: 40                             -  inc eax
"Core.dll"+26B5C: 56                             -  push esi
"Core.dll"+26B5D: 89 46 0C                       -  mov [esi+0C],eax
"Core.dll"+26B60: FF 15 F8 68 1D 10              -  call dword ptr [Core.dll+D68F8]
"Core.dll"+26B66: 8B 03                          -  mov eax,[ebx]
"Core.dll"+26B68: 8B 54 24 10                    -  mov edx,[esp+10]
"Core.dll"+26B6C: 03 C2                          -  add eax,edx
// ---------- INJECTING HERE ----------
"Core.dll"+26B6E: 89 03                          -  mov [ebx],eax
"Core.dll"+26B70: 8B D8                          -  mov ebx,eax
"Core.dll"+26B72: 8B 44 24 14                    -  mov eax,[esp+14]
// ---------- DONE INJECTING  ----------
"Core.dll"+26B76: 5E                             -  pop esi
"Core.dll"+26B77: 89 18                          -  mov [eax],ebx
"Core.dll"+26B79: 5B                             -  pop ebx
"Core.dll"+26B7A: 59                             -  pop ecx
"Core.dll"+26B7B: C2 08 00                       -  ret 0008
"Core.dll"+26B7E: CC                             -  int 3
"Core.dll"+26B7F: CC                             -  int 3
"Core.dll"+26B80: 51                             -  push ecx
"Core.dll"+26B81: 53                             -  push ebx
"Core.dll"+26B82: 56                             -  push esi
}
 

 

Изменено пользователем Gnosis

Поделиться сообщением


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

Проверил через TW все работает.
ТС просто не проверял мой скрипт выше ( Который на руки ).

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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