![]() |
eXeL@B —› Вопросы новичков —› Защита от ArtMoney и т.п. |
Посл.ответ | Сообщение |
|
Создано: 18 января 2007 04:24 · Личное сообщение · #1 |
|
Создано: 18 января 2007 06:59 · Личное сообщение · #2 lyolik пишет: Если как-нибудь хитро закодировать переменную, то это поможет? Да хоть примитивнейшей математикой - при чтении добавлять например 57ВА8870h, при записи - отнимать. Можно ксорить и т.д. Главное чтобы они хранились не в открытом виде. lyolik пишет: И можно ли как-то отслеживать что врублены эти программы и их отрубать? Конечно! Так же как и детектить ольгу (хотя и не надежно) - поиск окна с опр. названием класса, поиск по названию процесса, по названию модуля, по сигнатуре в процессе (придется открывать процесс). Можно определять названия (или положение) дочерних элементов окна и т.д. ![]() |
|
Создано: 18 января 2007 11:56 · Личное сообщение · #3 А если использовать такой метод: Перед вычислением переменной(x) находим случайное число(r) (1-100), затем, вычислив переменную, умножить на случайное. А при выводе на экран/записью в файл и тд делить это число на случайное. Например так: r = rand(1,100); x=25;//Наше значение для работы x*=r; printf(x/r); Такая схема работает, в ArtMoney 7 искал как кодированное значение, ничего не нашёл. Действительно ли такая схема надёжна? ![]() |
|
Создано: 19 января 2007 02:18 · Личное сообщение · #4 |
|
Создано: 19 января 2007 08:26 · Личное сообщение · #5 "Тогда уж printf("%f", x/r); " Это понятно конечно), так, для примера написал.. "От простого поиска в памяти процесса - да. Ведь ломалки тупо ищут введенное число, если оно зашифровано - естейственно не найдут." ArtMoney как раз ищет И зашифрованные значения. Алгоритм примерно такой: для начала сохраняет все значения в памяти от ломаемой проги. Затем, получив новое число в проге, вызываешь ArtMoney и отсеиваешь, выбирая опцию изменилось число либо не изменилось. И так оно отсеивает за шагов 20. У меня ни нашло, что нужно, но мало ли. Так можно ли найти число с помощью этого алгоритма ArtMoney? ![]() |
|
Создано: 19 января 2007 08:50 · Личное сообщение · #6 lyolik Дык ты сам же сказал что оно просто сравнивает число с нужным. lyolik пишет: ArtMoney как раз ищет И зашифрованные значения. На сайте artmoney нашел только Extra feature: Filter by formula. The most powerful searching! You will find any coded value! - т.е. по определенной формуле (и только в зареганной версии ![]() ЗЫ Кривовато выразился, но думаю понятно. Развить идею тоже никто не мешает. ![]() |
|
Создано: 19 января 2007 20:11 · Личное сообщение · #7 |
|
Создано: 20 января 2007 01:31 · Личное сообщение · #8 В общем придумал, как защититься. НЕ ВЗЯЛА. Алгоритм такой(оцените, может есть слабые места, а я их не нашёл): Сам пример: Допустим, есть float x, который мы защищаем. Есть ф-ия, которая вычисляет его. Ф-ия вызывается на нажатии мыши. Потом эта переменная передаётся в другую ф-ию, но остаётся неизменной до следующего вычисления. Защита: Вместо float x, вводим float x[2] и каждый раз записываем, поочерёдно на 0-ой или 1-ый элемент нужное значение. +Умножаем его на random, а при передачи этого аргумента ф-ии делим на тот же random и берём нужный индекс. Что получилось: Артмани ни взяла ни по <>, ни по изменилось/не изменилось. Искал неизвестное значение. Понятно, что известное искать смысла нет, тк цепочка поиска сразуже и оборвётся. Выскажите своё мнение пожалуйста. ![]() |
|
Создано: 20 января 2007 02:08 · Личное сообщение · #9 |
|
Создано: 20 января 2007 03:54 · Личное сообщение · #10 |
|
Создано: 20 января 2007 07:51 · Личное сообщение · #11 lyolik сам не геймер, но знаю многих пацанов которые играют. из них трое ни в какую не будет использовать всякие артмани и т.д. они будут биться над проблемой (если пройти не могут) около месяца и если не смогут пройти это место, то просто бросят игру, а артмани использовать не будут. другие (их побольше) будут играть по правилам игры, но если им встретиться проблема описанная выше они побъются над ней день, а уж после! заюзают арт, т.е. ты им отрежешь путь к кислороду и они забросят игру или будут долго и нудно искать патч и постить на форумах, что не могут пройти это место - все форумы этим уже засраны, после им подкинут патч, кот даст им бесконечное что-то. смысл тебе это делать??? другие (их меньше) сразу заюзают артмани или отладчик - не играя в игру (я) - не зарабатываю я деньги в играх, т.к. в реале мне этого хватает. вот и скажи зачем тебе это? добавишь себе в игру только глюков и покроешь свою жизнь гемороем (код-то тоже надо игры писать и проверять). ![]() |
|
Создано: 20 января 2007 08:10 · Личное сообщение · #12 gegter пишет: все форумы этим уже засраны, после им подкинут патч, кот даст им бесконечное что-то. смысл тебе это делать??? Где тонко - там и рвется. Естейственно защита должна быть многосторонняя. gegter пишет: вот и скажи зачем тебе это? добавишь себе в игру только глюков и покроешь свою жизнь гемороем (код-то тоже надо игры писать и проверять). Любая защита должна тщательно проверяться. А то будет как во многих горе-протах - ТЛС не обрабатывается, тонкости формата РЕ заброшены черте куда... Но при должной проверке может получиться действительно хорошая защита. ![]() |
|
Создано: 21 января 2007 00:38 · Личное сообщение · #13 lyolik пишет: В общем придумал, как защититься. Дополнительная идея. Надо обязательно "ложный след" давать. Сделай фальшивые переменные, которые будут вести себя , как реальные. Можно вообще защищенные переменные использовать только по таймеру для восстановления. Таймер лучше использовать существующий, тогда тяжелее будет реверсить. ![]() |
|
Создано: 21 января 2007 12:45 · Личное сообщение · #14 gegter пишет: ты им отрежешь путь к кислороду и они забросят игру Почитайте мои посты внимательнее. Я нигде не писал что я защищаю игру. Я просто хочу в своей программе защитить пару десятков переменных от программ, которыми сейчас умеют пользоваться даже школьники средних классов. tundra37 пишет: Надо обязательно "ложный след" давать. Сделай фальшивые переменные, которые будут вести себя , как реальные В принципе фальшивые переменные делать и не надо. Они уже есть. Например, float x=0; //переменная которую защищаем х=function();//вычисляем ее, потом например отсылаю этот х на сервер или еще куда Вывожу на экран sprintf(tmp,"%f",x); x=0; //переменную обнуляем. Все!.Переменная x не берется, так как для артмани она всегда равна нулю. ![]() |
|
Создано: 21 января 2007 23:49 · Личное сообщение · #15 :lyolik пишет: Переменная x не берется, так как для артмани она всегда равна нулю. "Фальшивые" должны ловится. Понимаешь, если человек ничего не найдет - он будет копать вглубь. А так - будет долго мучится "переприсваивая" ложные переменные и радуясь на несколько секунд/минут(в зависимости от таймера), что он крутой хакер ![]() ![]() ![]() |
|
Создано: 23 января 2007 09:28 · Личное сообщение · #16 tundra37 пишет: "Фальшивые" должны ловится. Понимаешь, если человек ничего не найдет - он будет копать вглубь Согласен. Ловятся переменные которые выводятся на экран (типа char). Ну и пусть себе их меняют. В расчетах используется int и float. А они при защите, про которую написал выше, отличны от нуля очень короткий промежуток времени (милисекунды). И копай хоть в глубь, хоть в ширь - ничего не найдешь. В общем, тех нескольких способов, которые я сам придумал и написал выше, на данный момент мне хватает для защиты от артмани. Проверял часами, ничего не нашел. Спасибо всем за обсуждение. ![]() |
|
Создано: 24 января 2007 00:35 · Личное сообщение · #17 |
|
Создано: 31 января 2007 23:05 · Личное сообщение · #18 lyolik На самом деле, не всё так уж просто. ArtMoney последних версий могут искать даже кодированные значения, если кодинг этих значений постоянный, т.е. если к переменной для кодирования постоянно прибавлять одно и то же значение, а потом для декодирования отнимать, то артмани имеет возможность (хотя, и 100%, но всё же вероятность есть) найти такое значение, про случайное число для кодирования - это уже вариант, а ещё лучше применить немного криптографии, ну, скажем, что-то на основе открытого ключа, и не хэш, а шифр, ведь это значение надо потом восстановить. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 01 февраля 2007 01:25 · Личное сообщение · #19 |
|
Создано: 09 февраля 2007 10:15 · Поправил: artobstrel95 · Личное сообщение · #20 |
|
Создано: 20 февраля 2007 04:43 · Личное сообщение · #21 artobstrel95 пишет: Есть такой сайт- zgsprojects.narod.ru Можешь написать автору игры-он тебе сырец пришлёт. это еще бабушка надвое сказала. а сырцы нах не нужны - вся защита в том, что перед внесением ИГРОЙ нового значения денег (или чего там еще) считывается старое значение и сравнивается со старым значением (кэшированным ![]() artobstrel95 пишет: но с артманей ничего не выйдет эт тоже бабушка надвое сказала. можно подменить и кэшированное значение на новое и само значение на новое (одновременно) - и проверка сойдется ![]() Все, что написано выше - это без отладчика, а если есть отладчик, то защита снимается за 30 секунд ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Защита от ArtMoney и т.п. |