LINUX.ORG.RU

Для привелегирлванных программ существуют методы которыми можно. Ещё можно давать программам выполнять свой код путём добавления/подмены разделяемых библиотек.

PolarFox ★★★★★
()

Мне говорили, что из одного приложения нельзя менять память другого

Можно. man 2 ptrace

Но для виндовых игр существуют всякие трейнеры, ArtMoney, Cheat Engine.

Для линукса тоже можно это сделать. Можно даже банальным gdb подцепиться к процессу и поменять память

Как и почему они работают?

Работают через какие-то винапи функции, которыми можно цепляться к процессу.

SZT ★★★★★
()

Ядро может лазить в память любого приложения. Приложение может попросить ядро сделать это. При этом ядро устанавливает определённые правила, каким приложениям можно о таком просить, а каким нет.

Соответственно, все эти art money просто вызывают стандартные функции ОС и делают не больше, чем им она позволит. Например, попробуй запустить artmoney от обычного пользователя и залезть в память процесса запущенного от имени админа - получишь кукиш.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от Harald

админские права

В том то и дело, что нет. Даже под вайном всё это работает, юзер что под виндой, что под линем обычный.

ozz_is_here
() автор топика
Ответ на: комментарий от KivApple

Например, попробуй запустить artmoney от обычного пользователя и залезть в память процесса запущенного от имени админа - получишь кукиш.

Т.е. в пределах одного юзера можно менять память в приложениях?

ozz_is_here
() автор топика
Ответ на: комментарий от ozz_is_here

Насчет винды я не знаю т.к. не работаю с ними, а в линуксе можно ограничить использование вызова ptrace (см. CAP_SYS_PTRACE https://www.kernel.org/doc/Documentation/security/Yama.txt )

The sysctl settings (writable only with CAP_SYS_PTRACE) are:

И /proc/pid/mem можно ограничить: https://lwn.net/Articles/476832/

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 1)

В андроиде тоже есть.

tyamur ★★
()

посмотри scanmem на гитхабе.

takino ★★★★★
()

Как и почему они работают?

Как - уже описали. А потому что нужно было создать бардак и рынок антивирусных программ. Как говорят МЦСТ, что Эльбрус лишён этой проблемы.

xwicked ★★☆
()

ArtMoney

scanmem

Cheat Engine

scanmem + evan debuger

SR_team ★★★★★
()

Как и почему они работают?

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

atrus ★★★★★
()
Ответ на: комментарий от ozz_is_here

а подобные проги есть и под Linux?

Я думал что линуксоиды куда более честные люди чем виндузятники, поэтому использование подобного софта не этично.

Felgengauer
()
Ответ на: комментарий от Felgengauer

Не знаю, но под вайном всё это прекрасно работает.

Я думал что линуксоиды куда более честные люди чем виндузятники, поэтому использование подобного софта не этично

Успокою тебя. Я использовал анлокер 60 фпс для одной игры, ибо в игре стоял лок на 30 фпс и никак не снимался. Никаких читов.

ozz_is_here
() автор топика

Есть такая техника - inject. Когда интересующий код инжектится в интересующую программу. Чаще всего делается это через разделяемые библиотеки. Так, например, работают всякие улучшалки графики для игр.

Quasar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.