| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > сокрытие данных обрабатываемых программой |
| Автор: shara 15.10.2008, 20:54 |
| собственно вопрос такого плана, если значения переменных выполняемой программы хранятся в памяти, то можно ли зная адрес по которому конкретной переменной(грубо говоря ее указатель *i ) может ли чужая программа получить доступ к данным содержащиеся по этому адресу. если можно, а я думаю что можно, то что читать по этому поводу. сей вопрос интересует с целью защиты собственных программ от несанкционированного проникновения из вне |
| Автор: Maka6er 15.10.2008, 23:06 |
| В современных ОС нельзя. Почитайте про защищенный режим процессора и способы адресации. |
| Автор: J0ker 17.10.2008, 19:24 | ||
на стандартных платформах это невозможно впринципе. Вы можете осложнить задачу путем шифрования данных в памяти, но т.к. вся программа выполняется на открытой системе, это тоже не гарантирует безопасность. На моем компе я могу выковырять из вашей программы все что мне хочется - вопрос лишь в трудозатратах |
| Автор: shara 17.10.2008, 20:34 |
| J0ker, это с наличием исходников или можно и без них? если не затруднит, не могли бы Вы описать сам процесс, хотя бы в общих чертах. |
| Автор: J0ker 17.10.2008, 22:23 |
| процесс чего? выковыривания? так любой дизассемблер и отладчик (например IDA + SoftIce) |
| Автор: Lazin 18.10.2008, 07:48 |
| данные программы в памяти будет очень сложно правильно интерпритировать, так-что это лишнее |
| Автор: shara 19.10.2008, 16:57 |
| а тот-же АртМани, ведь он сканирует память заданного процесса и за два три отсева можно найти интересующую область памяти и например просто перезаписать ее нужным значением... что Вы по этому поводу думаете. т.е. я хочу понять насколько возможно имея полный доступ к программе (кроме исходников) научится перехватывать и подменять обрабатываемые ею данные, я так понимаю что в принципе это возможно. и посему интересен еще один вопрос: можно ли сделать тоже самое, но при помощи программы-вируса, на чужой машине |
| Автор: J0ker 19.10.2008, 18:59 |
| сделать можно все что угодно вопрос - сколько это будет стоить |
| Автор: shara 19.10.2008, 21:28 |
| J0ker, +1 вот и хочу научиться делать так, чтобы было ПОДОРОЖЕ и по напряжней |
| Автор: J0ker 20.10.2008, 00:26 |
| скажем так если хакнуть вашу прогу будет стоить 100 баксов а продаете вы ее за 20 - то скорее всего ее у вас купят вы же не собираетесь ваять что-то грандиозное за 10 косарей? если собираетесь - есть коммерческие продукты для защиты ПО - вам будет дешевле их купить чем изобретать самому потому как в этом деле много тонкостей |
| Автор: shara 20.10.2008, 23:11 |
| J0ker, Не могли бы Вы что-то посоветовать почитать по сему поводу. или гугль гугль и еще раз гугль |
| Автор: J0ker 21.10.2008, 06:01 |
| посоветовать ничего не могу я никогда таким вопросом не задавался (по той-же причине, по которой не играю в лоттереи) я немного ломал и из этого опыта могу вам сказать что то, что один написал другой завсегда поломать может понимаете, даже если вы что-то внутри программы шифруете, то там-же, внутри, вы должны это расшифровать что-бы программа с этим могла работать - и ничто не помешает кракеру этот дешифратор рипнуть даже, в большинстве случаев, не вникая как он работает. Поэтому чаще трудозатраты по изобретению различных защит бывают гораздо выше трудозатрат по взлому. |
| Автор: shara 21.10.2008, 19:28 |
| то что шифрование данных тут бесполезно это понятно и так, поскольку в зашифрованном виде с ними особо не наработаешь - приходится их расшифровывать. так что проблема это не криптографическая а скорее стенографическая (сокрытия данных) ну или строгое разграничение доступа к памяти |
| Автор: J0ker 21.10.2008, 19:40 |
стеГАнографическая это не поможет данные отслеживают по доступу вашей-же программы, а вовсе не просмотром бинарника (хотя такое очень редко и применяют в тривиальных случаях) на моем компе вы ничего разграничивать не можете |