|
Расшифровать (декомпилировать) POF файл, есть POF как его конвертнуть в VHDL |
|
|
|
May 18 2011, 03:30
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Добрый день, ночь или вечер... Суть задачи такой, есть программа quartus 11.0 и есть файл POF микросхемы: EPM9320как можно конвертнуть его на понятный язык, лучше VHDL или еще какой нибуть. Если просмотреть файл в хексе, то первые строки содержат следующее: POF...........,...MAX+plus II Programmer Version 9.23 3/19/99.......EPM9320ARC208-10...+...Copyright © 1988-1999 Altera Corporation.......... Прошу откликнуться специалистам в этом деле.
|
|
|
|
|
 |
Ответов
|
May 21 2011, 02:49
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Цитата(zombi @ May 20 2011, 17:49)  Есть результат? Пока ни каких ответов
|
|
|
|
|
May 21 2011, 06:04
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 30-06-06
Пользователь №: 18 486

|
Цитата(Alex-2 @ May 21 2011, 05:49)  Пока ни каких ответов  Смотрите почту, я Вам ответил.
|
|
|
|
|
May 22 2011, 12:22
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Цитата(Kavlav @ May 21 2011, 10:04)  Смотрите почту, я Вам ответил. Письма нет, просьба писать на k1523@ya.ru Задача состоит в следующем. Предисловие: Для выполнения центральным процессором задач, нужно ему их предоставить. Коды программы для выполнения находятся в ПЗУ которые последовательно выбирает процессор для выполнения. Так вот, возможно ли что EPM9320 может содержать коды подпрограмм аналогично ПЗУ. Т.е. есть плата с центральным процессором с ПЗУ, ОЗУ и т.д. и EPM9320, так вот, каким то образом хакеры записали в EPM9320 свой код, который заставляет процессор выполнять некоторые подпрограммы, т.е. аналогично ПЗУ. Каким образом из набора логических микросхем это возможно сделать, или EPM9320 содержит буфер ПЗУ?
|
|
|
|
|
May 23 2011, 00:51
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Цитата(zombi @ May 22 2011, 19:24)  Наводящий вопрос: Получается что хакеры поменяли прошивку только EPM9320 и не тронули код основного ПЗУ? Вот именно, ПЗУ не тронули (его можно сравнить с оригиналом и узнать что они внесли изменения), а поменяли именно в EPM9320 Расскажу предысторию: есть такой игровой автомат Новоматик (надеюсь что такое игровые автоматы вам рассказывать не нужно), так вот, в начале хакеры прописывали в ПЗУ автомата программу-баг при активации которой он начинал выдавать очень крупные выигрыши. Но баг легко обнаруживался при сравнении ПЗУ с оригиналом или просто при просчете контрольной суммы. Тогда каким то образом они прописали баг в EPM9320 и залочили его (т.е. прочитать стало не возможно), благо можно записать не снимая с платы, даже разьем для этого на плате есть. То что записали именно туда это известно точно
Сообщение отредактировал Alex-2 - May 23 2011, 00:53
|
|
|
|
|
May 23 2011, 07:50
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(des00 @ May 23 2011, 13:52)  не обязательно вся, если там bidir шина данных, то можно просто на некоторых битиках подтяжки убрать %) ведь автор пишет об увеличении вероятности, а не о гарантированном выигрыше %) Важно, что данные из ПЗУшки надо подменять только по конкретному адресу, для этого надо этот адрес дешифровать полностью, иначе есть большой риск попортить код (а там в пзушке наверняка код вперемешку с данными(константными) лежит). Цитата(des00 @ May 23 2011, 14:44)  ну прям. что то вроде assign output_bit = (ce & oe) ? data : 1'bz; правим на assign output_bit = (ce & oe) ? data : ((~ce & oe & (addr == NEED_ADDR)) ? 1'b0 : 1'bz); и все. Такой трюк прокатит только в случае если надо 1 из пзушки превратить в 0, в обратном случае - не получится. Ну и адрес, естественно, нужен тут полный, иначе можно получить непредсказуемые side effects.
|
|
|
|
|
May 23 2011, 07:51
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 30-06-06
Пользователь №: 18 486

|
Цитата(Bad0512 @ May 23 2011, 10:47)  Важно, что данные из ПЗУшки надо подменять только по конкретному адресу, для этого надо этот адрес дешифровать полностью, иначе есть большой риск попортить код (а там в пзушке наверняка код вперемешку с данными(константными) лежит). Процессор при старте перегружает программный код с флэшины в SDRAM и там исполняется. При этом ресет заводится как на процессор, так и на плм-ку. Вот ей и все карты в руки...
|
|
|
|
|
May 23 2011, 07:57
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(Kavlav @ May 23 2011, 14:51)  Процессор при старте перегружает программный код с флэшины в SDRAM и там исполняется. При этом ресет заводится как на процессор, так и на плм-ку. Вот ей и все карты в руки... Шина адреса, та что идёт на пзушку, заходит на Альтеру? А шина данных? Если всё это совпадает, то нет проблем подменить по требуемому адресу несколько байт данных. Ведь сигналы управления пзушкой (CS, OE и WE если запись используется) наверняка рождаются в альтере. З Ы Топикстартеру - я вот только не пойму, зачем с этми левыми прошивками разбираться? Не проще ли перезалить "родную" прошивку в Альтеру и забыть это "кулхацкерство" как страшный сон? Заодно можно уничтожить разъём для программирования Альтеры, дабы кулхацкерам лазить туда неповадно было. Или в данном случае играет роль, так назваемый "спортивный интерес"?
|
|
|
|
|
May 23 2011, 08:03
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 30-06-06
Пользователь №: 18 486

|
Цитата(Bad0512 @ May 23 2011, 10:57)  Шина адреса, та что идёт на пзушку, заходит на Альтеру? А шина данных? Если всё это совпадает, то нет проблем подменить по требуемому адресу несколько байт данных. Ведь сигналы управления пзушкой (CS, OE и WE если запись используется) наверняка рождаются в альтере. Чтобы не гадать на кофейной гуще приатачил кусок схемы
Сообщение отредактировал Kavlav - May 23 2011, 08:05
Эскизы прикрепленных изображений
|
|
|
|
|
May 23 2011, 08:17
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(Kavlav @ May 23 2011, 15:03)  Чтобы не гадать на кофейной гуще приатачил кусок схемы Как видно из схемы, шина данных с процессора заходит в том числе и на FPGA (вероятно внутри альтеры есть какие-то регистры управления-статуса). Адрес тоже полностью заходит на Альтеру. Все чипселекты и R/W - тоже там. Подменить данные на конретном адресе - никаких проблем. Правда, неплохо бы ещё повторить оригинальную функциональность, а это без исходников сделать ооооооой как непросто. ИМХО сорцы альтеры из этой конторы "ушли" куда-то налево. Ну либо обидели разработчика, а он выложил сорцы в сеть, либо тупо продал "заинтересованным лицам". Дальше лёгкая правка сорцов - и получаем "альтернативную" версию прошивки.
|
|
|
|
|
May 23 2011, 08:35
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Bad0512 @ May 23 2011, 11:17)  Все чипселекты и R/W - тоже там. Подменить данные на конретном адресе - никаких проблем. Правда, неплохо бы ещё повторить оригинальную функциональность, а это без исходников сделать ооооооой как непросто. ИМХО сорцы альтеры из этой конторы "ушли" куда-то налево. Ну либо обидели разработчика, а он выложил сорцы в сеть, либо тупо продал "заинтересованным лицам". Дальше лёгкая правка сорцов - и получаем "альтернативную" версию прошивки. Хакеры так не работают. Счетчик в каждой игре в своем месте, какая игра будет CPLD не знает. Хакеры так же как и все не умеют восстанавливать исходники из CPLD, если еще учесть что они как правило тупее разработчиков. Искать надо дополнительное ПЗУ где-то хитро спрятанное на плате. Либо сам ТС извините хакер.
|
|
|
|
|
May 23 2011, 09:10
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(AlexandrY @ May 23 2011, 15:35)  Хакеры так не работают. Ещё как работают! Социальная инженерия используется очень активно. Цитата(AlexandrY @ May 23 2011, 15:35)  Счетчик в каждой игре в своем месте, какая игра будет CPLD не знает. В оперативной памяти - да. Но константы изначально лежат во флэшке. Место каждой константы известно, оно не меняется от игры к игре. На месте разработчиков можно было бы замутить проверку всего образа флэшки в рантайме, т.е. уже во время старта программы. И в случае несовпадения CRC - печатать ошибку, и не стартовать. Цитата(AlexandrY @ May 23 2011, 15:35)  Хакеры так же как и все не умеют восстанавливать исходники из CPLD, если еще учесть что они как правило тупее разработчиков. По поводу "не умеют" - согласен. По поводу "тупее" - тут вы категорически не правы. Как правило для того, чтобы разобраться в чужом дизайне при минимуме информации, квалификация нужна на порядок выше, чем для того, чтобы создать такой дизайн. Цитата(AlexandrY @ May 23 2011, 15:35)  Искать надо дополнительное ПЗУ где-то хитро спрятанное на плате. Это слишком сложно. Да и не спрячешь такое количество проволок.
|
|
|
|
|
May 23 2011, 10:00
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Bad0512 @ May 23 2011, 12:10)  Ещё как работают! Социальная инженерия используется очень активно.
В оперативной памяти - да. Но константы изначально лежат во флэшке. Место каждой константы известно, оно не меняется от игры к игре. На месте разработчиков можно было бы замутить проверку всего образа флэшки в рантайме, т.е. уже во время старта программы. И в случае несовпадения CRC - печатать ошибку, и не стартовать.
По поводу "не умеют" - согласен. По поводу "тупее" - тут вы категорически не правы. Как правило для того, чтобы разобраться в чужом дизайне при минимуме информации, квалификация нужна на порядок выше, чем для того, чтобы создать такой дизайн.
Это слишком сложно. Да и не спрячешь такое количество проволок. Прогу под такие процы хранят в сжатом виде, а то и зашифрованном. Распаковывается возможно она не без помощи CPLD. Распаковывается прога прямо в DRAM. Насчет хакеров, вы просто не в курсе. Я думаю тут каждый второй может признаться, что начинал карьеру с реверса. Но не видел людей которые бы реверсом заканчивали карьеру. Проволки прятать не нужно. Хакерам проще всего скопировать схемотехнику платы, поскольку это поставлено на поток и известны цены на такие услуги. Потом воспроизводится видимая топология. А обновить прогу возможно они могут и по последовательному интерфейсу воспользовавшись неумышленным бэкдором разработчиков. Во всяком случае в сложных дивайсах частенько есть отладочные мониторы на RS232. Кстати, не такая уж редкая фишка как перекорпусирование микросхем. Тож услуга не интеллектуальная, но убойная.
|
|
|
|
|
May 23 2011, 10:07
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Цитата(AlexandrY @ May 23 2011, 14:00)  Прогу под такие процы хранят в сжатом виде, а то и зашифрованном. Распаковывается возможно она не без помощи CPLD. Распаковывается прога прямо в DRAM.
Насчет хакеров, вы просто не в курсе. Я думаю тут каждый второй может признаться, что начинал карьеру с реверса. Но не видел людей которые бы реверсом заканчивали карьеру.
Проволки прятать не нужно. Хакерам проще всего скопировать схемотехнику платы, поскольку это поставлено на поток и известны цены на такие услуги. Потом воспроизводится видимая топология. А обновить прогу возможно они могут и по последовательному интерфейсу воспользовавшись неумышленным бэкдором разработчиков. Во всяком случае в сложных дивайсах частенько есть отладочные мониторы на RS232. Кстати, не такая уж редкая фишка как перекорпусирование микросхем. Тож услуга не интеллектуальная, но убойная. Плата огромная и менять ее это слишком долго, тем более они пронумерованы вытравлено на плате). Подключение для обновления предусмотрено. Мы меняли на оригинал все что можно перешить, все равно баг работал. Прошивали баг в течении 5-ти минут прямо возле аппарата, ни чего не вытаскивая и не переставляя
|
|
|
|
|
May 23 2011, 13:35
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Цитата(zombi @ May 23 2011, 14:37)  Это видеонаблюдение показало? или со слов очевидцев? И еще вопррос: EPM9320 единственная мс с LOCKBITом? это рассказал сам участник взлома, да и мы пользовались несколько раз услугой перепрошивки EPM9320 для получения выигрышей чтобы увести аппарат в минус. Нет, это не единственная микруха с защитой, есть еще геймселектор, но он не может это 100% -проверено!
|
|
|
|
|
May 24 2011, 06:13
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 18-05-11
Пользователь №: 65 083

|
Цитата(zombi @ May 23 2011, 18:05)  Увести в минус?! с какой целью? повлиять на вероятностную модель? И что, был "положительный" результат? Есть такая стратегия, когда аппарат начинает выплевывать крупные выигрыши его нужно увести в минус. Алгоритм выдачи выигрышей упирается в данные входных и выходных счетчиков, для того чтобы владельцы не обонкротились и чтобы игроки были довольны. Процент отдачи аппаратом в среднем равен 95%, т.е. если кто то проиграл в него 100т.р. то следующий после него закинув всего 1000р. может выиграть 95т.р., но это конечно в теории, потому что очередь следующего невозможно просчитать. Но когда аппарат обнулить (счетчики равны 0), аппарат начинает сразу выдавать при крупных ставках. Чтобы это предотвратить нужно его увести в минус, т.е. выиграть на нем к примеру 500т.р. После этого аппарат будет неделю играть в свою сторону, но затем снова вернется в нужный алгоритм. Это было до того как запретили игровые автоматы. Для новых -лотерейных, процент занижен практически до 0, т.е. играет только на хозяина.
|
|
|
|
Сообщений в этой теме
Alex-2 Расшифровать (декомпилировать) POF файл May 18 2011, 03:30 dvladim Цитата(Alex-2 @ May 18 2011, 07:30) ... May 18 2011, 04:13 -Al- Цитата(dvladim @ May 18 2011, 08:13) Ника... May 18 2011, 04:36 eugen_pcad_ru Цитата(Alex-2 @ May 18 2011, 07:30) ... May 18 2011, 06:26 Shtirlits В случае со столь небольшой микросхемой можно наде... May 18 2011, 07:29 Kavlav Цитата(Alex-2 @ May 18 2011, 06:30) ... May 18 2011, 07:32 Alex-2 Цитата(Kavlav @ May 18 2011, 11:32) Пришл... May 18 2011, 09:07    Kavlav Цитата(Alex-2 @ May 22 2011, 15:22) ... May 22 2011, 13:34     Alex-2 Цитата(Kavlav @ May 22 2011, 17:34) По ск... May 22 2011, 13:43               Kavlav Цитата(AlexandrY @ May 23 2011, 11:35) Ха... May 23 2011, 09:06                 Kavlav Цитата(AlexandrY @ May 23 2011, 13:00) ..... May 23 2011, 10:05                      zombi Цитата(Alex-2 @ May 24 2011, 09:13) ... May 24 2011, 07:14                 Bad0512 Цитата(AlexandrY @ May 23 2011, 17:00) На... May 23 2011, 10:11              des00 Цитата(Bad0512 @ May 23 2011, 02:17) Прав... May 23 2011, 09:27               Alex-2 так значит можно в альтеру программу закладку внед... May 23 2011, 09:34                des00 Цитата(Alex-2 @ May 23 2011, 04:34) ... May 23 2011, 09:40           Alex-2 Цитата(zombi @ May 23 2011, 13:18) Т.е. с... May 23 2011, 09:25          des00 Цитата(Bad0512 @ May 23 2011, 01:50) Тако... May 23 2011, 08:00           sazh Цитата(des00 @ May 23 2011, 11:00) это по... May 23 2011, 08:43         Alex-2 Цитата(des00 @ May 23 2011, 10:52) не обя... May 23 2011, 09:13          zombi Цитата(Alex-2 @ May 23 2011, 12:13) ... May 23 2011, 09:18        sazh Цитата(Bad0512 @ May 23 2011, 09:49) Для ... May 23 2011, 07:20         des00 Цитата(sazh @ May 23 2011, 01:20) Да и по... May 23 2011, 07:44       Kavlav Цитата(des00 @ May 23 2011, 07:03) в чем ... May 23 2011, 07:40      zombi Цитата(Alex-2 @ May 23 2011, 03:51) ... May 23 2011, 08:44 tAmega "...MAX 9000 EPLDs contain 320 to 560 macroce... May 22 2011, 13:01 Kuzmi4 По моему товарищи вы копаете не в том направлении.... May 22 2011, 13:53 Shtirlits Счетчик конечно может быть где угодно, но у умных ... May 23 2011, 08:49 XVR Закладка могла быть зашита заранее в ПЗУ, а в CPLD... May 24 2011, 15:13 Kavlav Цитата(XVR @ May 24 2011, 18:13) Закладка... May 24 2011, 17:52 XVR ЦитатаЕсли закладка зашита в ПЗУ её легко вычислит... May 24 2011, 18:41 zombi Цитата(XVR @ May 24 2011, 21:41) Она могл... May 24 2011, 18:52 Alex-2 Цитата(XVR @ May 24 2011, 22:41) Она могл... May 25 2011, 15:18 S_Hawk не пойму, в чем проблема в альтеру запихать код, к... May 29 2011, 19:31 Alex-2 А возможен такой вариант:
Альтера и проц сидят на ... May 30 2011, 13:18 XVR Цитата(Alex-2 @ May 30 2011, 17:18) ... May 30 2011, 16:24  Alex-2 Цитата(XVR @ May 30 2011, 20:24) Это уже ... May 31 2011, 00:19 MisterDi Если в Альтере был зашит просто дешифратор адреса,... Jun 1 2011, 10:15 Bad0512 Цитата(MisterDi @ Jun 1 2011, 17:15) Для ... Jun 1 2011, 12:34
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|