Решил я развеять слухи о том что зыза 3000 преходит в сервисный режим с порта USB. Во первых, что бы активировался порт USB должен стартануть ЦП..., а он ну ни как не может это сделать на брикнутой консоли Далее я просто зацепил крутой осциллограф к среднему выводу батарейки пандора и воткнул её в 3000 брик и записал их разговор. Известно, что со старой батарейкой 3000 не стартует....но ....смотрите сами http://www.youtube.com/watch?v=T4mQofU37sg, что записал осциллограф. Короче зыза общается с батарейкой упорно на предмет получения ключика для перехода в сервисмод. Делаем выводы....нужен ключик для перевода 3000 в сервис мод, но, он не FFFFFFFF.....а какой? какие будут предложения по подбору ключика? Кто силён в написании прог под винду. Нуно сварганить прогу что бы она по USB через микруху МАХ232 эмулировала флешку батарейки ....со всеми вытекающими последствиями. А точнее сгенерила ключик и дала команду электронному ключу на вкл батарейки....посмотрели... нет сервисмод у 3000....отключаем батарейку...генерим новый ключик ...и так далее до победного конца. Кто готов написать такую прогу? Электронную начинку я беру на себя .
Boryan добавил 20-04-2010 в 11:33
народ давай подтягивайтесь в тему. неужели не интересно мозгами поработать? Мои мысли по поводу батарейки для 3000....что могли в ней изменить Сони? Применить другой ключик...слишком просто...перебрать 4 байта учитывая что код только может быть типа 0хAA AA AA AA или 0хАВ АВ АВ АВ, это не сложно. Это не в правилах Сони...уж если рубить концы, то конкретно. Я думаю что они тупо увеличили код до 8 байт, и он так и остался 0хFF FF FF FF FF FF FF FF. Что это даёт? Во первых, процессор стандартной батарейки не может дать зызе код длиннее 4 байт, а вот их специальная батарейка может выдать код длинной 8 байт. В итоге... и волки сыты и овцы целы... Мужики, подумал я тут и понял эмулировать флешку батарейки пока рано. Нужно написать прогу снифер под винду, ну типа писать протокол обмена с батарейкой. Записать один протокол с 2000 а второй с 3000, и сравнить команды запроса на серийник, если они одинаковые то возможно ключик так и остался 4 байта, и тогда перебор нам поможет. А вот если разные...то нужно думать как заставить батарейку выдать 8 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком?
Код Описание Данные Ответ от батареи Примечание
0x01 запрос оставшегося заряда нет energyleft_mAh:u16
0x02 запрос температуры нет temperature:u8 cercius degree, min/max value unknown
0x03 запрос напряжения нет voltage_mV:u16
0x04 запрос тока нет current_mA:short positive if charging battery
0x07 запрос ёмкости нет capacity_mAh:u16
0x09 запрос оставшегося времени нет timeleft_min:u16 XMB showing not this value
0x0c запрос серийного номера нет serialno:u32 suspected
0x80 запрос аутентификации? 9byte 16byte encrypted data/reply
0x81 запрос аутентификации? 8byte 8byte encrypted data/reply
0x05 ответ от батареи нет NAK, BCC error and so on??
0x06 ответ от батареи да ACK, with reply data
lport3, Потестил твою прогу под пение соловьёв в деревне супер...вот где нужно работать...на свежем воздухе в глуши Прога пашет отлично! Единственная просьба, если есть возможность, то добавить в прогу третью закладку...что бы тупо можно писать лог общения как в реалтерме...ну и в твоей проге легче лог сохранять для анализа ...в отличии от кривого реалтерма...ну вроде как одной прогой пользоваться. А то частенько для работы нужно лог снять...и приходится в реал терм лезть. А логи походу нам сейчас потребуются в больших количествах. Я попытался побрутить зызу....но споткнулся на 80 запросах....ответ не верный и сразу 31 запрос сыплется. Работы много предстоит....думаю нужно больше логов с 80 запросами и ответами. Нужно понять алгоритм ответа но 80 запросы....иначе боюсь мы ни чего без этого не добьёмся..
Boryan добавил 10-05-2010 в 17:34
Да, понял как посчитать правильно добавочный байт....тут считали со второго байта....откинув А5 или 5А.....замучился я таким методом считать...не получалось....В итоге сам допёр... нужно сложить все байты команды включая А5 или 5А...... и есно если сумма большее FF то оставляем тот байт что справа в сумме....и эту сумму нужно вычитать из FF...например нужно посчитать корректирующий байт для команды 5A0B800A31FCC62573BB2BDB.....делаем сложение...5А+0В+80+0А+31+FC+C6+25+73+BB+2B+DB=53B....оставляем 3В...FF-3B=С4....С4 это и есть то самый байт ....в итоге полная команда будет 5A0B800A31FCC62573BB2BDBС4
Последний раз редактировалось Boryan; 10.05.2010 в 17:40.
Причина: добавил, подумав
Надо второй к-лайн кидать на батарейку и
длинные запросы из нее вытаскивать..
получится что мы только определенные команды будем
перехватывать и подменять.. Жаль не понятно что вообще
представляют собой длинные команды. Есть если заметили 2 длинные
команды, первые 8008-800d они легко читаются при бруте батарейки,
но после этой команды идет еще одна длинная команда 8002..8004..8102..80d9..
они не брутятся батарейкой, а точнее считываются с нулями, вот в
этом может быть засада..во второй длинной команде..ниже пример
чистого брута батарейки по 80й команде, обратите внимание что только
8008-800d читаются..
lport3, Насколько я понимаю ты брутишь батарейку от своей 3000? Так вот про батарейки ...есть с контроллером A01V13M07G...эти батарейки пандорятся программно....есть с контроллером (новые) 16808С185С....походу у тебя такая....Что удалось выяснить....изначально батарейка работает по команде 14 (чтение епрома) но как только вы попытаетесь отрезать ножку (аппаратный перевод в пандору) команда 14 блокируется навсегда !!! Если принудительно в епроме ( надругом программаторе или батарейке) прописывать свой серийник то все серийники будут приняты контроллером...но как только серийник будет ff.....или 00..... то контроллер посылает епром далеко и достаёт из своей заначки серийник 686F7065....и всё!!! Походу в новой батарейке есть серьёзная защита от пандоривания в епроме....контроллер сечёт серийник епрома....Но, изначальная работа с командой 14(чтение) подталкивает невольно и на работу команды 13(запись)....для чего это сделано? Думаю для возможности делать батарейку пандора для 3000 но другими способами которые мы не знаем. И походу возможен серийник FFFFFFFF на такой батарейке....но там возможно в епром нужно менять не только его а ещё что то что скажет контроллеру что серийник FFFFFFFF заменён законно методами сони....и тогда батарейка будет пандоровской....
Boryan добавил 10-05-2010 в 22:12
странно что у тебя 80D9 не читается.....хотя когда батарейка пандора 2000 в 3000 стоит она как раз и запрашивает 80D9....но мои все батарейки на него тож нулями отвечали....а Стасова нормальным кодом отвечала....но он всё равно зызу не устраивал....ох уж эти китайцы и сони налепили кучу разновидностей батареек ..поди пойми теперь какая куда...
Последний раз редактировалось Boryan; 10.05.2010 в 22:12.
Причина: добавил, подумав
У меня 14я команда тоже вся нулями возвращается.
Я думаю, что для того чтобы прошли нормально некоторые
команды, например 14,13, или длинные пакеты 800d> .. например,
надо пройти что то вроде парольной сессии, это скорее всего первый
длинный пакет..
----------------------------
Судя по разнице в логах 385 и 390 пост (считывание еепрома),
для считывания еепрома из батарейки надо опять же правильно открыть
"парольную сессию" с батарейкой, иначе батарейка не выдаст правильный
ответ на 14ю команду.. В первом 385м посте вообще нет длинных команд,
видимо потому что батарейка голимая, а может псп < 300x ..
----------------------------
может в psp sdk есть намеки на эти длинные пакеты.. хотя бы
понять что это такое. Yoti в сдк должен разбиратся..
Последний раз редактировалось lport3; 10.05.2010 в 22:52.
lport3, есно логи на чтение и запись епрома были сняты на 2000 пршиваемой....на 3000 эти проги не работают вообще. Я тож думаю что обмен длинными командами это "парольная сессия".....но как взломать её? Вот в чём вопрос....
Для начала надо понять как оно устроено, а потом уже
думать как сломать. Из опыта скажу что сессии не ломаются,
их для этого и делают.. но есть другие способы.. не в лоб..
если в псп сдк используются библиотеки, то можно зная вход
и выход в процедуру вырезать кусок с криптером или декриптером..
или опять же снять длинные команды с батарейки.. варианты есть,
но не зная свойств длинных пакетов все будет сложно..
ещё заметил что дохлые батарейки на 80 запрос отвечают вместо 06 команды ...15 командой....
это понятно, negativ-positiv repose, интересно, что при отрицательных ответах на длинные
пакеты псп загружается, но наверняка с ограничеными возможностями, например непойдут
некоторые игры или невозможно будет сделать обновление версии прошивки..
Последний раз редактировалось lport3; 10.05.2010 в 23:49.
lport3, а кто говорил что будет легко ....ждём Yoti, мож он поможет .....ещё заметил что дохлые батарейки на 80 запрос отвечают вместо 06 команды ...15 командой....
Последний раз редактировалось Boryan; 10.05.2010 в 23:16.
значит у тебя заработала прога от lport3 и твой собранный k-line - так может теперь посмотришь почему не работает вариант когда подключение RX и TX идет напрямую к батарейке, ведь по идее там тоже должен реализовываться тот же k-line в виде центрального контакта...
У меня так ничего и не заработало при таком подключении - точнее слушаю я все отлично а вот на передачу вообще не пашет, а прога отlport3 даже и не слушает - видать сильно под вашу реализацию заточена, хотя я не понимаю почему такая принципиальная разница получается...Это все сужает круг участников процесса, поскольку на данный момент только у тебя и lport3 работает железяка... или у кого то еще получилось подключиться ?
Боюсь что запасной серийник не строится на прибавке....он жёстко прописан в контроллере на случай если будет сбой во внешнем епроме...3000 зызы ещё хавают китайские батарейки, а вот 3008 уже нет..посылают китайские подделки далеко..и если вдруг будет сбой в епроме родная батарейка будет работать с серийником из заначки...а с другой стороны непонятка ...зачем в таком случае внешний епром?
Вполне разумно, жестко прописать серийник в контроллере.
В теме со сменой идентификатора memory stick именно в это всё уперлось, если мне память не изменяет.
Рядовые пользователи менять его не должны, а взломщикам - палки в колеса.
Насколько я помню, внешний EPROM используется для хранения изменяемых данных, с целью калибровки батареи или вроде того. Сони могла его оставить просто для совместимости)
Кстати, в каком плане 3008? 8ка на конце - это ж вроде код региона..
Последний раз редактировалось Ins|der; 11.05.2010 в 15:26.
ANDPSP, Ну как вроде ты умеешь паять? Так в чём проблемы? Спаять девайс к-лайн по моей схеме пара пустяков. И ни каких батареек. А к-лайн на батарейке не будет работать потому, как выход Tx PL2303 по умолчанию имеет высокий уровень, который в свою очередь тупо открывает транзистор и в результате вся линия К-лайн замыкается на землю. Для того что бы эта схема в батарейке заработала её нужно дорабатывать....и эта доработка будет гораздо сложнее моей последней схемы. Поэтому я и ушёл от использования в качестве к-лайн батарейки, и разработал схему проще некуда.
Boryan добавил 11-05-2010 в 21:36 Ins|der, да, именно 3008 послала голимую китайскую батарейку...а 3000 работала с ней....Хотя вроде регион тут не причём...но сдаётся мне что в sys con незначительно изменена программа проверки батарейки на подлинность а именно 80 команда.....и китайские батарейки не могут на неё ответить правильно....и в пролёте....нуно будет сравнить ради интереса sys con 3000 и 3008....
Последний раз редактировалось Boryan; 11.05.2010 в 21:36.
Причина: добавил, подумав
ANDPSP, Ну как вроде ты умеешь паять? Так в чём проблемы? Спаять девайс к-лайн по моей схеме пара пустяков. И ни каких батареек.
Припаять один проводок к определенному месту любой сможет... А вот все эти транзисторы, резисторы, кмопы и т.д. для меня темный лес... И я так и не понял какая твоя схема последняя и откуда этих радиодеталек можно наковырять... Если под рукой есть пара нерабочих материнок от компа - из них можно эту хрень надыбать или нет ? Да и все равно для меня и для большинства народа это не простой способ какой то - наверное буду ждать пока USB-K-line появится в ближайшем магазине, бегать за ним по городу тоже лень...
если будет время или завтра или на днях выложу полную доку с картинками как собрать к-лайн для "чайников" )) В матерях комповых может быть нужная микруха. Но лучше купить в чип и дипе она копейки стоит....выпаять из матери микруху без навыков будет очень сложно...за это время 10 раз в чип и дип слетаешьь
Boryan добавил 11-05-2010 в 23:37
подойдёт любая микросхема из этого списка :
TC4011, MC14011, HEF4011, CD4011, MC14011, HEF4011, TC4011, HCF4011,SCL4011,UPD4011, HHF4011, GD4011, F4011, MN4011, LC4011,-буржуйские
561ЛА7,1561ЛА7,-отечественные
В конце надписи буквы могут быть любые
Boryan,
можешь сразу поправить, что что бы выпаять из мамки без специальной насадки почти невозможно )
кстати как прогресс в взломе psp ОО
sasiska12 добавил 12-05-2010 в 00:06
также если всё равно всех потянет выпаивать самому, то проще брать и проволочку пропускать под микросхемку и сразу тащить её на себя
Последний раз редактировалось sasiska12; 12.05.2010 в 00:06.
Причина: добавил, подумав
нууу....ребят мы так не договаривались....чота прям тухло тут всё ))Ну коли так...ни кто не может собрать девайс для брута зызы и батарейки ..а у меня он есть..... давайте делайте анализ логов что я выложил тут http://slil.ru/29124036 Много чего интересного я нарыл....на одинаковую команду 800А (эту команду даёт 3000 зыза, а аналогичная команда у 2000 8008) частенько идут одинаковые ответы А вот 81 команда смутила Ещё непонятка с 80D9.......проверил штук 15 батареек на неё...везде ответ A5 12 15 и далее нули.....у Стаса есть батарейка которая на 80D9 отвечает командой A5 12 06 и далее 16 байт кода....... Короче кому интересно анализируйте мои логи и давайте мне задание на новые команды и логи ....я сниму и выложу их всем для анализа...
Boryan добавил 13-05-2010 в 02:20
хааа вот вам и весь секрет и алгоритм ответа на 800A ))
команду давал приблизительно через секунду...затем вручную менял последние два байта и снова мышкой кликал на кнопку послки команды...с паузой секунда
Boryan добавил 13-05-2010 в 02:23 lport3, если можно, то в закладке брута батарейки было бы неплохо сделать возможность посылки запроса с паузами которые можно изменять
Boryan добавил 13-05-2010 в 02:28
если это возможно ....то очень интересные перспективы открываются
Последний раз редактировалось Boryan; 13.05.2010 в 02:28.
Причина: добавил, подумав
ErikPshat, с 80 командой со всеми её видами 80хх всегда так ....но ответ зависит от времени между запросами!!!Если оно больше 0.5 сек то ответы одинаковые ....а если меньше....ну есно рукой я не могу точные паузы делать...то разные.!!! Поэтому я и попросил lport3 сделать регулируемые паузы между запросами. Ещё бы не плохо было и количество запросов регулировать. Ну и в довесок возможность брутить батарейку полными логами, как это сделано в бруте зызы. Непонятно с 81 командой....там всегда на одну команду приходят разные ответы ....Вообще непонятка с привязкой по времени даже в 80хх команде...каким образом она выполняется? Разное время между запросами и разные ответы.....но это в бруте....а как в реале общения с зызой...там же все запросы и ответы идут без пауз....Потом есть подозрения что второй байт 80 команды походу и задаёт какие то переменные во времени ....Короче не батарейка, а хз что либо мы сталкиваемся с нештатными режимами батарейки посылая сразу 80 команды без начальной инициализации....А если бы всё делали согласно инструкции последовательности команд то такой галиматьи и не получали бы...
но ответ зависит от времени между запросами!!!Если оно больше 0.5 сек то ответы одинаковые ....а если меньше....Ну и в довесок возможность брутить батарейку полными логами, как это сделано в бруте зызы.
Так вроде эксперементальным путем определили что консоль шлет запросы с разными интервалами в зависимости от подключения внешнего питания к ней и своего статуса включенности...
И вроде ты сам писал что брут батарейки - это тупик и нужно играться с консолью эмулируя батарейку и лучше именно мучить сразу 300X версию поскольку поведение отличается от 1000 и 2000 и распылять силы на эти консоли гиблое дело... Тем более нет уверенности что с какой либо имеющейся у тебя батарейкой каким либо образом можно запустить PSP3000 в сервисном режиме, может в них во всех нет правильных ответов на запросы консоли...
И насчет длинного ответа батарейкой на запрос консоли 0х80 - ведь он всегда 16 байт вроде - может это 128-битный ключ которым консоль шифрует данные посылая следующий 0х81 запрос 8 байт и в ответ батарейка тоже возвращает 8 байт (может уже декриптованные), консоль понимает что они верные и стартует... Ведь реализовать аппаратный AES не проблема и 128-битного ключа будет достаточно для обеспечения защиты этого уровня, ведь пока консоль не стартанула KIRK спит ...
Последний раз редактировалось ANDPSP; 13.05.2010 в 12:39.