AR_Favorit » 21 май 2007, 02:14
Belatra, скажите мне как художник художнику, какой нужен объем закупок (в вагонах), чтоб Atmel сделал мне еще один регистр в 8-битном ядре? :D
Я правильно понял, у вас, "как пример", дополнительный регистр в атмеловском микроконтроллере? :D
Ну даже если они ради вас перепахали свое 8-битное ядро так, чтоб появился 33 регистр - этого мало, адресовать его программа не сможет - ну формат машинного слова у них такой, 5 бит в команде отвечают за указание регистра (в некоторых командах и того не удалось дать, лишь 4 бита, вследствие чего эти команды работают только с половиной регистрового банка).
Но даже закрою глаза на техническую несуразность "тридцать третьего регистра" (ну допустим, имелось в виду не регистр, а дополнительные ячейки ОЗУ сверх стандартного объема для данного МК, либо адресуемые вместо какого-нибудь write only либо изменяющегося без участия программы регистра, который у Белатры не используется, и потому не им нужен, ну там таймер какой или что-то еще - хотя опять же, сказочно это, ибо переделочка хоть бы и несложная и, платы у белатры не дешевые, но одна маска на производстве чипов съест ой как немало стоимостей этих плат!):
Единственная "несерийность", которую могу допустить как реально возможную - это только "нестандартный", "заказной" ID микроконтроллера, который он сообщает при работе по SPI с внутренней флеш. Чипы с таким ID наверное можно заказать, и договориться, что больше никто их не получит. Но только вот программе МК этот самый ID - НЕДОСТУПЕН, потому как она работала, так и будет работать...
Если можно стереть бит защиты (ответственно заявляю: на любом недорогом микроконтроллере - теоретически МОЖНО! Об этом же говорят и сами производители микроконтроллера, подчеркивая, что защита программы в них не абсолютная, а имеет свои пределы стойкости, кстати в старых микроконтроллерах эта стойкость гораздо хуже), то плата будет работать именно так, как оригинальная. Почему нет-то? :)
Ведь тогда не придется писать содержимое "по своему пониманию и уразумению"!!! Достаточно будет дизассемблировать прошивку, и увидеть, как она работает - и если есть какой-то "нестандартный регистр" - то изменить ее так, чтоб записи в него с последующим чтением не было... Какие сложности? :)
Или может, у вас в CL7500FE лишний регистр по спецзаказу? :D ;D
Ну так и там та же беда, все биты, адресующие регистры в формате машинного слова заняты под адресацию стандартного банка регистров, увы... :)
Как хорошо наверное рассказывать про нестандартный микроконтроллер всяким бизнесменам - они сразу проникаются масштабностью подхода, внушающим уважение альянсом производителя электроники с производителями микросхем, загипнотизированные словами "регистр", "адресация", "ГСЧ"... ;) Технари обычно в некоторых вопросах гораздо скептичней... :(
Если игра не запоминает значения ГСЧ (при выключении, я так понял), то то, что будет, зависит от очень простой вещи: каким образом инициализируется ГСЧ при включении, и есть ли периодические "холостые" обращения к ГСЧ (как того требует, например, GLI), если инициализация осуществляется с привязкой к текущему времени, и/или несколько сотен раз в секунду происходит обращение к ГСЧ - то не будет ничего плохого. Игра будет работать как и работала. Если ни того ни другого - тогда беда, при каждом включении игра будет "начинать сначала", и результат - предсказуем :) Только опять же - запоминает оригинал - значит и копия запоминает, кто ей не даст? :)
Ну а что касается легкости обнаружения копии - вот сейчас задумался, есть несколько вариантов.
В случае с "заказным" ID микроконтроллера - все сразу понятно, считали его программатором, вывод налицо - или плата своя, или чужая.
Есть еще и со стандартным микроконтроллером, но вполне изящный - это если в защищенном МК на плате есть некий алгоритм шифрования, "ответной" части которого нету в самой программе игры, а есть только "транзитное" обращение к МК, алгоритм получает, к примеру, 64-битное число, и шлет обратно зашифрованным, причем ключ шифрования основан на серийном номере платы, прописанном в МК. У производителя есть компьютерная "ответная" часть, которая имеет такой же алгоритм шифрования,она-то и передает случайное число "туда", сама генерирует правильный ответ, используя серийный номер, сообщенный платой, и сравнивает с полученным. Без "вскрытия" микроконтроллера нереально понять алгоритм шифрования (даже если он не очень навороченный, и мог бы быть вскрыт "алгебраическими атаками", защититься крайне просто - отклик не чаще раза в несколько секунд - и расшифровывайте на здоровье :)), а поскольку пираты никогда не задавались целью сделать такую копию, которую бы сам производитель спутал с оригиналом - им не было нужды реализовывать в своем варианте прошивки МК это шифрование, и их вариант, работая корректно с основной программой, выдает кашу при проверке с компа. Зато они наверняка обошлись без "вскрытия" МК, просто сэмулировали его работу в своей версии прошивки.
Есть и еще более простые и, пожалуй, менее изящные варианты - не стану о них особо распространяться.
Итак, к чему это все:
1) подделка НЕ МОЖЕТ быть спутана с оригиналом производителем оригинала, если он принял к этому специальные меры.
2) современные технологии и оборудование позволяют без особого труда понять и сэмулировать работу платы уровня платформы Белатра, дальше все в руках человека, делающего реверс-инжиниринг, если он толковый - он разберется, если нет - сделает неработающую копию и разорится с ней. Несмотря на большой объем флеш, программа не очень велика (думаю, если больше 200 кБ - то ненамного), не тот объем, чтоб; не разобраться. Хотя не каждому дано, конечно...
3) "несерийные" чипы, способные выполнять программу не так, как серийные - блеф.
4) повторю чьи-то слова по этому поводу - чтоб игру не подделали, она должна удовлетворять одному из двух условий: очень дешево стоить, будучи оригинальной, и/или быть просто непопулярной и никому не нужной. К продукции Белатра ни одно из этих утверждений не относится, так что появление копий - незаконно, но закономерно. Весь вопрос в том, работают ли копии хуже оригинала. Так вот, в данном случае - несмотря на общее более низкое качество изготовления, копии работают ТАК ЖЕ, как и оригинал. Их не могут отличить игроки, они не уходят в минус чаще, нежели оригиналы, и копий очень много эксплуатируется - до сих пор. Этот факт меня не радует, но это все же факт.
В принципе, мне понятно желание производителя все проблемы, которые возникают с продуктом, списать на неоригинальность плат, особенно, с учетом того, что производитель, судя по его намекам, сам заложил такое поведение в своей программе, если она вдруг попала в неоригинальную плату. Однако давно уже пора признать, что средств защиты, направленных на неработоспособность копий, оказалось недостаточно, и перестать играть в игру, которая была очень популярна несколько лет назад - "ах, вам копии предлагают? ну берите, берите, мы не против, вы с ними поработаете, и поймете свою ошибку - когда они вас обанкротят, раздав игрокам, все, что вы нажили непосильным трудом". Перестать как производителю, так и тем, кто давно работает с ним и повторяет за ним бездумно то же самое.
Да, людей не останавливала незаконность использования контрафакта, а вот такая страшилка останавливала, даже в случае с игрософтом, программе которого, как теперь известно каждому, абсолютно по барабану, в какую плату она вставлена... Зато теперь люди понимают, что производитель их обманывал - и это несколько облегчает их совесть при пользовании контрафактными копиями игрософта...
Белатру как производителя я оцениваю очень высоко, несмотря на то, что осмеливаюсь перечить! :)
Но с другой стороны, не стоит недооценивать и пиратов. Не думайте, что пиратство появилось с PC и Windows, просто вспомните, каким образом в СССР появились компьютеры серии ЕС, все серийно выпускавшиеся в СССР процесоры и микроконтроллеры, и много-много-много еще чего... Сделать работоспособную копию процессора 8086 - это покруче, чем сделать работоспособную копию 1-2-килобайтной программки в МК. Однако делали, и сделали. Как говорится, что один человек сделал - другой завсегда сломать может :D
Ну а для кого все эти мои слова покажутся бредом - скажу два волшебных слова, которые все объяснят ничуть не хуже - промышленный шпионаж... Тоже ведь вариант ;)
У меня такое пожелание к пользователю с ником Белатра в связи с 33 регистром и уверенными утверждениями о некорректной работе контрафактных плат.
Надо все-таки с уважением относиться к посетителям технического форума, многие из них тоже ведь не совсем чайники, обидно им, когда их держат за полностью некомпетентных людей! :(
Уверения по поводу "минусящих копий", да еще с такими жуткими техническими подробностями (хотя понятно, ведь с чего бы вдруг производитель стал давать ПРАВДИВЫЕ намеки на то, КАК ИМЕННО построена защита в его платах, для чего бы это ему? :)) - это старая сказка, которая так и не стала былью. Реально все уже знают, что это не так, так зачем вам "терять лицо", поднимая ее вновь?
Я ни в коем случае не поддерживаю ни производителей контрафакта, ни тех, кто его покупает, однако считаю, что обман не красит никого.
Последний раз редактировалось
AR_Favorit 21 май 2007, 03:02, всего редактировалось 1 раз.
С уважением, AR