|
|
  |
Расшифровать (декомпилировать) POF файл, есть POF как его конвертнуть в VHDL |
|
|
|
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:40
|
Участник

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

|
Цитата(des00 @ May 23 2011, 07:03)  в чем проблема то ? внутри прописан хук на адрес, по этому адресу какая то константа влияющая на размер выигрыша  Почти в точку! Вот это экстрасенсорика...
|
|
|
|
|
May 23 2011, 07:44
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(sazh @ May 23 2011, 01:20)  Да и подтягивать разряды на старом CPLD нечем. ну прям. что то вроде assign output_bit = (ce & oe) ? data : 1'bz; правим на assign output_bit = (ce & oe) ? data : ((~ce & oe & (addr == NEED_ADDR)) ? 1'b0 : 1'bz); и все.
--------------------
|
|
|
|
|
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:00
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Bad0512 @ May 23 2011, 01:50)  Такой трюк прокатит только в случае если надо 1 из пзушки превратить в 0, в обратном случае - не получится. Ну и адрес, естественно, нужен тут полный, иначе можно получить непредсказуемые side effects. это понятно, я телепатирую, док то нет. хакинг дело тонкое, алгоритм вероятностный, куда там реально надо подвинуть константу и константу ли двигают хз. может играют на неопределенности уровня на шине данных.
--------------------
|
|
|
|
|
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
Эскизы прикрепленных изображений
 РЈРСВВВВВеньшено Р В Р’В Р СћРІР‚ВВВВР С• 95%
3309 x 2339 (805.6 килобайт)
|
|
|
|
|
|
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, если еще учесть что они как правило тупее разработчиков. Искать надо дополнительное ПЗУ где-то хитро спрятанное на плате. Либо сам ТС извините хакер.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|