Перейти к публикации

Дизассемблер Power-pc кода


alxxbx
 Поделиться

Рекомендованные сообщения

Пишу для PC на C# .NET дизассемблер для процессора Power-PC, надеюсь в будущем станет отладчиком.

нужны консультации от программистов Power-PC. есть такие?

Ссылка на комментарий
Поделиться на других сайтах

На этом форуме вряд ли найдешь... Тут тех, кто соображает - максимум десяток

 

вот они и нужны! :)

 

уже имитировал 40 команд, но появляются сомнения... в корректности результатов сложения и вычитания.

 

 

вот кусок загрузчика 1bl:

0x8000020000004A04 addi r4, r1, 0x0050 #0x0000000000000F60

0x8000020000004A08 li r5, 0x0010 #0xFFFFFFFFFFFF0010 <- не нравится результат

0x8000020000004A0C addi r26, r1, 0x0050 #0x0000000000000F60

0x8000020000004A10 lwz r27, 0000 (r23) #0x0000000000000000 0x0000000000000000

0x8000020000004A14 lwz r28, 0004 (r23) #0x0000000000000004 0x0000000000000000

0x8000020000004A18 lwz r29, 0008 (r23) #0x0000000000000008 0x0000000000000000

0x8000020000004A1C lwz r30, 000C (r23) #0x000000000000000C 0x0000000000000000

0x8000020000004A20 lwz r31, 0010 (r23) #0x0000000000000010 0x0000000000000000

0x8000020000004A24

0x8000020000004A28 addi r9, r1, 0x0090 #0x0000000000000FA0

0x8000020000004A2C li r11, 0x0002 #0x0000000000000002

0x8000020000004A30 li r10, 0x0040 #0x0000000067450040

0x8000020000004A34 addi r8, r11, 0x000B #0x000000000000000D

0x8000020000004A38 addi r7, r11, 0x0006 #0x0000000000000008

0x8000020000004A3C

0x8000020000004A40

0x8000020000004A44

0x8000020000004A48 addi r5, r1, 0x0050 #0x0000000000000F60

0x8000020000004A4C subi r6, r11, 0xFFFE #0xFFFFFFFFFFFF8004 <- не нравится результат

0x8000020000004A50

0x8000020000004A54 addi r4, r1, 0x0050 #0x0000000000000F60

0x8000020000004A58

0x8000020000004A5C lwzx r8, r8, r5 #0x0000000000000F6D 0x0000000000000000

Изменено пользователем alxxbx
Ссылка на комментарий
Поделиться на других сайтах

Ппц, для кого это? :)

 

 

для ХАКЕРОВ, для кого же еще...

моей программой можно будет легко найти как убить проверку АР25, например... :)

 

тебе на wasm.ru

 

на wasm.ru уже занимаются jailbreak-ом XBOX360?

Ссылка на комментарий
Поделиться на других сайтах

Keeper, думаю если бы у него была карма > 20, уже бы давно написал в Q&A.

alxxbx, а разве PPC дизассемблеров до нынешнего момента несуществовало?

для ХАКЕРОВ, для кого же еще...

моей программой можно будет легко найти как убить проверку АР25, например... :)

Наивный, проверку с привода уже убили, а если ты о дашборде, то JTAG консоли (найдите?) вообще в лайв не выходят.

 

Кстати IDA кажется дизассемблирует PPC бинарники.

Ссылка на комментарий
Поделиться на других сайтах

Keeper, думаю если бы у него была карма > 20, уже бы давно написал в Q&A.

alxxbx, а разве PPC дизассемблеров до нынешнего момента несуществовало?

 

Наивный, проверку с привода уже убили, а если ты о дашборде, то JTAG консоли (найдите?) вообще в лайв не выходят.

 

Кстати IDA кажется дизассемблирует PPC бинарники.

 

это не дизассемблер!

моя программа уже выполняет PowerPC код, работает с 512 мегабайт оперпамяти. переходы временно заблокированы, чтобы она была похожа на простой дизассемблер.

 

скоро буду делать графическую оболочку, в которой будет возможно запускать куски кода PowerPC, в т.ч. и xbox 360, и смотреть результаты их работы - регистры, опер память и т.д.

Ссылка на комментарий
Поделиться на других сайтах

alxxbx, xboxhacker.org тебе в помощь.

 

Что собственно делает это прога? Дизассемблирует PPC бинарник, транслирует во что-то и выполняет? Зачем это? Что-то типо дебаггера? Для хакеров есть IDA с дизассемблером какой только пожелаешь архитектуры. Получил листинг, а дальше сиди изучай и ничего более не нужно.

Ссылка на комментарий
Поделиться на других сайтах

alxxbx, xboxhacker.org тебе в помощь.

 

Что собственно делает это прога? Дизассемблирует PPC бинарник, транслирует во что-то и выполняет? Зачем это? Что-то типо дебаггера? Для хакеров есть IDA с дизассемблером какой только пожелаешь архитектуры. Получил листинг, а дальше сиди изучай и ничего более не нужно.

 

выполняет команды на "лету" так же как и PowerPC процессор :)

пока еще не все команды эмулированы, но это вопрос времени на 1-2 месяца.

 

Его с хбоксхакера прогнали, вроде там везде агенты майкрософта...

 

ага, они весде есть :)

 

еще несколько команд эмулировал

 

http://ifolder.ru/21679107

 

Ссылка на комментарий
Поделиться на других сайтах

alxxbx, powerPC симулятор пробовал? Если нужно проверить правильность выполнения команд, то он наверняка поможет.
Ссылка на комментарий
Поделиться на других сайтах

alxxbx, powerPC симулятор пробовал? Если нужно проверить правильность выполнения команд, то он наверняка поможет.

 

скачал с IBM сайта, но не пробовал, т.к. с линуксом не дружу :(

 

с командами практически разобрался, полистал подробнее public Book I v.2.2

Изменено пользователем alxxbx
Ссылка на комментарий
Поделиться на других сайтах

Задумка вроде бы хорошая, но есть ряд сомнений

Допустим в ящике стоит проц полностью PPC-совместимый, даже если это так (а это вряд ли), это означает лишь что он поддерживает все их команды, НО наверняка там есть дополнительный набор команд, использующихся исключительно в XENON-процах и описанных в XBOX360 SDK, идущем с девкитом, который никто бы не отсылал, если бы была хотя бы гипотетическая возможность отладки софта под бокс на компе

Алсо, вспомним что в линухе для ящика до сих пор нет толковой поддержки видюхи (3d-ускорения и нормальных разрешений экрана). Может быть оттого что документации на эту видюшку в паблике нет, и как следствие дров? Ведь драйвера возможно написать лишь зная какие именно команды надо посылать видеочипу и что он на это ответит.

 

Мне кажется что написание интерпретатора PPC на сишарпе пойдет тебе на пользу, нехило подняв твои навыки программирования, но пользы сцене принести с этим не получится

Ссылка на комментарий
Поделиться на других сайтах

realsintez, он powerpc совместимый, это точно. А вот доп набор команд - это однозначно.

 

совместимый, но уже в 1BL имеется 6 недокументированных команд, которых нет в book 1, book 2 и book 3.

а book 4 не опубликована.

но в IDA они уже имеются, так, что не проблема.

 

Ссылка на комментарий
Поделиться на других сайтах

alxxbx,

По моему тебе проще было бы накатать свой трасировщик в виде плагина для IDA, а не заморачиваться С#. Зачем изобретать дизасемблер когда он уже есть?

Ссылка на комментарий
Поделиться на других сайтах

Боюсь эмулировать получится в лучшем случае хомбрю, вроде xexmenu и иже с ними. Об эмуляции игр на компе не может быть и речи
Ссылка на комментарий
Поделиться на других сайтах

RichY,

До эмулятора - еще далеко ru.wikipedia.org/wiki/эмулятор

Как я понял alxxbx написал софт который может только некоторые команды обрабатывать и выдавать результат действия в регистрах - это банальная трассировка - http://ru.wikipedia.org/wiki/Трассировка_(программирование).

Дизассемблером назвал в надежде что все же программа умеет переводить байткод в асм. Но если этого не умеет, то увы и ах ...

 

alxxbx поддерживаю за его старания и пытаюсь предложить более простые решения его задач. Называть всё надо своими именами, а то фразы иногда сбивают с толка.

Почему и правда не взять эмуль PearPC, запустить на нём Linux и дебажить куски кода от коробки?! Писать тогда ничего не придется с нуля.

Ссылка на комментарий
Поделиться на других сайтах

aaa111, это больше похоже на симулятор набора инструкций - очень маленькая часть того, что уже умеет IBM PowerPC Instruction Set Simulator.

 

Дизассемблером назвал в надежде что все же программа умеет переводить байткод в асм. Но если этого не умеет, то увы и ах ...

Вроде умеет как раз. АСМ листинг в консоли виден.

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...