Здравствуйте, gear nuke, Вы писали:
GN>Несколько раз уже проскакивало такое мнение, извините, но это некомпетентность.
Может быть, я не так много софта ломал. Алгоритмы, правда, не вытаскивал.
GN>Если хотите, реверс алгоритма в отладчике — это "грязная работа", и даже может быть не принята здравомыслящим заказчиком. Потому что это динамика и можно что-то пропустить. Чистый реверс "белого ящика" — когда оригинал запускается в самом конце, для сверки результата работы с уже полученным аналогом. И если кто-то тупо сдампит образ и засунет в IDA — то скорее от нецелессообразности (лени, экономии времени) писать статический распаковщик.
GN>Кстати, поэтому, здесьАвтор:
Дата: 17.06.09
Аноним совершенно правильно советует по возможности сделать из "белого" ящика "чёрный", перенеся вычисления на сервер. Это сделает невозможным статический анализ, а, в случае необратимых алгоритмов, и реверс вообще.
Безусловно, вычисления на сервере безопаснее. Лучше даже локально с Opera Unite
Но если алгоритм — это десяток или больше функций, которые непонятно как работают, даже не знаю как тут без отладчика.
Зависит от задачи, конечно же.
А>>Особенно размазывание кода!
GN>Что имеется ввиду, раскидать код алгоритма по исполняемому файлу? Болше пользы объявить все функции inline
Да, код алгоритма с ложными функциями ведущими в тупик, чтобы взять врага измором, ну или усложнить жизнь
p.s. Я признаю правило, что сломать можно все, но...
Здравствуйте, <Аноним>, Вы писали:
А>я не так много софта ломал. Алгоритмы, правда, не вытаскивал.
Взлом и обратная разработка — в общем то ортогональные вещи, последняя применяется и при созидании с нуля, наряду с "водопадом" и спиралевидной моделью. Есть даже мнение, что это единственно верный путь, когда речь не идет о "клепании на потоке".
А>Безусловно, вычисления на сервере безопаснее. Лучше даже локально с Opera Unite
Если локольно — значит белый ящик, то есть атакующий имеет доступ к алгоритму.
А>Но если алгоритм — это десяток или больше функций, которые непонятно как работают, даже не знаю как тут без отладчика.
Дык, возьми любой почти проект без тех документации и получишь сходную ситуацию

При отсутствии исходников добавится еще предварительный шаг — переписывание дизасма на понятный большинству С, или псевдокод. Впринципе, в случае "наукоёмких алгоритмов", после этого шага работа реверсера может быть и окончена, и далее передана специалисту в предметной области, он уже скажет — вот тут FFT, а тут хз что и надо дальше ковырять. А может быть и рипнута (пардон, скопирована) в клон, вплоть до тупой сборки IDAшного листинга ассемблером. Подобное разделение труда позволит не заморачиваться с протектором, а проаутсорсить задачу каким-нибудь Unpacking Gods.
А>Да, код алгоритма с ложными функциями ведущими в тупик, чтобы взять врага измором, ну или усложнить жизнь
А... впринципе, да, усложнит. Однако, и так 99% кода приложения — лишнее и не имеет отношения к алгоритму.
А>p.s. Я признаю правило, что сломать можно все, но...
Всё будет упираться во время и деньги.
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Здравствуйте, Uzumaki Naruto, Вы писали:
UN>www.siliconrealms.com
Я давно отстал от жизни, или лишь бы что запостить?
.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth