реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
zombi
сообщение May 22 2011, 15:24
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Alex-2 @ May 22 2011, 15:22) *
так вот, каким то образом хакеры записали в EPM9320 свой код, который заставляет процессор выполнять некоторые подпрограммы, т.е. аналогично ПЗУ.

Наводящий вопрос:
Получается что хакеры поменяли прошивку только EPM9320 и не тронули код основного ПЗУ?
Go to the top of the page
 
+Quote Post
Alex-2
сообщение May 23 2011, 00:51
Сообщение #17


Участник
*

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



Цитата(zombi @ May 22 2011, 19:24) *
Наводящий вопрос:
Получается что хакеры поменяли прошивку только EPM9320 и не тронули код основного ПЗУ?

Вот именно, ПЗУ не тронули (его можно сравнить с оригиналом и узнать что они внесли изменения), а поменяли именно в EPM9320

Расскажу предысторию:

есть такой игровой автомат Новоматик (надеюсь что такое игровые автоматы вам рассказывать не нужно), так вот,
в начале хакеры прописывали в ПЗУ автомата программу-баг при активации которой он начинал выдавать очень крупные выигрыши.
Но баг легко обнаруживался при сравнении ПЗУ с оригиналом или просто при просчете контрольной суммы.
Тогда каким то образом они прописали баг в EPM9320 и залочили его (т.е. прочитать стало не возможно), благо можно записать не снимая с платы, даже разьем для этого на плате есть.
То что записали именно туда это известно точно

Сообщение отредактировал Alex-2 - May 23 2011, 00:53
Go to the top of the page
 
+Quote Post
des00
сообщение May 23 2011, 04:03
Сообщение #18


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Alex-2 @ May 22 2011, 18:51) *
Вот именно, ПЗУ не тронули (его можно сравнить с оригиналом и узнать что они внесли изменения), а поменяли именно в EPM9320

Расскажу предысторию:

в чем проблема то ? внутри прописан хук на адрес, по этому адресу какая то константа влияющая на размер выигрыша wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Bad0512
сообщение May 23 2011, 06:49
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(des00 @ May 23 2011, 11:03) *
в чем проблема то ? внутри прописан хук на адрес, по этому адресу какая то константа влияющая на размер выигрыша wink.gif

Для этого в Альтеру должны заходить шина адреса, шина данных памяти, а также формироваться CS и OE на память.
Сильно сомневаюсь, что вся шина адреса заходит на FPGA. Хотя... надо смотреть схему...
Go to the top of the page
 
+Quote Post
des00
сообщение May 23 2011, 06:52
Сообщение #20


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Bad0512 @ May 23 2011, 01:49) *
Для этого в Альтеру должны заходить шина адреса, шина данных памяти, а также формироваться CS и OE на память.
Сильно сомневаюсь, что вся шина адреса заходит на FPGA. Хотя... надо смотреть схему...

не обязательно вся, если там bidir шина данных, то можно просто на некоторых битиках подтяжки убрать %) ведь автор пишет об увеличении вероятности, а не о гарантированном выигрыше %)


--------------------
Go to the top of the page
 
+Quote Post
sazh
сообщение May 23 2011, 07:20
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Bad0512 @ May 23 2011, 09:49) *
Для этого в Альтеру должны заходить шина адреса, шина данных памяти, а также формироваться CS и OE на память.
Сильно сомневаюсь, что вся шина адреса заходит на FPGA. Хотя... надо смотреть схему...


Ног конечно хватит. Но процессор наверно мастером сидит на шине. С эталлонным ПЗУ он не достучится до золотого ключика.
Да и подтягивать разряды на старом CPLD нечем.
(Даже если задействован бит секретности, то вроде бы есть возможность сравнить содержимое с эталонным *.pof_ом)
Go to the top of the page
 
+Quote Post
Kavlav
сообщение May 23 2011, 07:40
Сообщение #22


Участник
*

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



Цитата(des00 @ May 23 2011, 07:03) *
в чем проблема то ? внутри прописан хук на адрес, по этому адресу какая то константа влияющая на размер выигрыша wink.gif

Почти в точку! Вот это экстрасенсорика... a14.gif
Go to the top of the page
 
+Quote Post
des00
сообщение May 23 2011, 07:44
Сообщение #23


Вечный ламер
******

Группа: Модераторы
Сообщений: 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);
и все.


--------------------
Go to the top of the page
 
+Quote Post
Bad0512
сообщение May 23 2011, 07:50
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
Kavlav
сообщение May 23 2011, 07:51
Сообщение #25


Участник
*

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



Цитата(Bad0512 @ May 23 2011, 10:47) *
Важно, что данные из ПЗУшки надо подменять только по конкретному адресу, для этого надо этот адрес дешифровать полностью, иначе есть большой риск попортить код (а там в пзушке наверняка код вперемешку с данными(константными) лежит).

Процессор при старте перегружает программный код с флэшины в SDRAM и там исполняется.
При этом ресет заводится как на процессор, так и на плм-ку. Вот ей и все карты в руки...
Go to the top of the page
 
+Quote Post
Bad0512
сообщение May 23 2011, 07:57
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Kavlav @ May 23 2011, 14:51) *
Процессор при старте перегружает программный код с флэшины в SDRAM и там исполняется.
При этом ресет заводится как на процессор, так и на плм-ку. Вот ей и все карты в руки...

Шина адреса, та что идёт на пзушку, заходит на Альтеру?
А шина данных?
Если всё это совпадает, то нет проблем подменить по требуемому адресу несколько байт данных.
Ведь сигналы управления пзушкой (CS, OE и WE если запись используется) наверняка рождаются в альтере.

З Ы Топикстартеру - я вот только не пойму, зачем с этми левыми прошивками разбираться? Не проще ли перезалить "родную" прошивку
в Альтеру и забыть это "кулхацкерство" как страшный сон? Заодно можно уничтожить разъём для программирования Альтеры, дабы
кулхацкерам лазить туда неповадно было. Или в данном случае играет роль, так назваемый "спортивный интерес"?
Go to the top of the page
 
+Quote Post
des00
сообщение May 23 2011, 08:00
Сообщение #27


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Bad0512 @ May 23 2011, 01:50) *
Такой трюк прокатит только в случае если надо 1 из пзушки превратить в 0, в обратном случае - не получится.
Ну и адрес, естественно, нужен тут полный, иначе можно получить непредсказуемые side effects.

это понятно, я телепатирую, док то нет. хакинг дело тонкое, алгоритм вероятностный, куда там реально надо подвинуть константу и константу ли двигают хз. может играют на неопределенности уровня на шине данных.


--------------------
Go to the top of the page
 
+Quote Post
Kavlav
сообщение May 23 2011, 08:03
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 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 килобайт)
 
Go to the top of the page
 
+Quote Post
Bad0512
сообщение May 23 2011, 08:17
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(Kavlav @ May 23 2011, 15:03) *
Чтобы не гадать на кофейной гуще приатачил кусок схемы

Как видно из схемы, шина данных с процессора заходит в том числе и на FPGA (вероятно внутри альтеры есть какие-то регистры управления-статуса). Адрес тоже полностью заходит на Альтеру.
Все чипселекты и R/W - тоже там. Подменить данные на конретном адресе - никаких проблем. Правда, неплохо бы ещё повторить оригинальную функциональность, а это без исходников сделать
ооооооой как непросто. ИМХО сорцы альтеры из этой конторы "ушли" куда-то налево. Ну либо обидели разработчика, а он выложил сорцы в сеть, либо тупо продал "заинтересованным лицам".
Дальше лёгкая правка сорцов - и получаем "альтернативную" версию прошивки.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 23 2011, 08:35
Сообщение #30


Ally
******

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



Цитата(Bad0512 @ May 23 2011, 11:17) *
Все чипселекты и R/W - тоже там. Подменить данные на конретном адресе - никаких проблем. Правда, неплохо бы ещё повторить оригинальную функциональность, а это без исходников сделать
ооооооой как непросто. ИМХО сорцы альтеры из этой конторы "ушли" куда-то налево. Ну либо обидели разработчика, а он выложил сорцы в сеть, либо тупо продал "заинтересованным лицам".
Дальше лёгкая правка сорцов - и получаем "альтернативную" версию прошивки.


Хакеры так не работают.
Счетчик в каждой игре в своем месте, какая игра будет CPLD не знает.
Хакеры так же как и все не умеют восстанавливать исходники из CPLD, если еще учесть что они как правило тупее разработчиков.
Искать надо дополнительное ПЗУ где-то хитро спрятанное на плате.
Либо сам ТС извините хакер. wink.gif
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 18:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01682 секунд с 7
ELECTRONIX ©2004-2016