PDA

Просмотр полной версии : Обсуждение взлома батарейки Пандоры PSP-3000...


Страницы : 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18

Boryan
07.05.2010, 14:33
ErikPshat, сорри ..точняк тупанул я :) сплю совсем чуть чуть...батарейка не даёт сцуко :) внимательность потерял....нада ехать на природу отдохнуть мальца :) Щас попробую прописать твой серийник

lport3
07.05.2010, 14:42
Все, забрал у своих псп, сейчас буду городить..
Боря, как я запускал псп точно не помню, но было много
повторных запросов.. кароче, сейчас подрублюсь и поработаю
поплотнее..

lport3 добавил 07-05-2010 в 14:42
Сходу, увидел косяки в проге.. сори боря,
это была проблема не к-лайна твоего..)

ErikPshat
07.05.2010, 14:59
Boryan, по ходу я вроде напутал с формулой. Вроде нужно наоборот прибавлять "Недостающую разницу" или она и будет выступать [Корректирующей суммой]

Если прибавлять, то получается 4E9280EE =) Голова не варит уже в этой математике.

ErikPshat
07.05.2010, 15:08
lport3, и всё-таки, на какой схеме K-Line остановиться, а то я совсем запутался. Ты говоришь одно, Борян говорит другое =). Дайте мне нормальную рабочую схему, чтобы мне попусту не тратиться на ненужные запчасти. Вот этот (http://www.masterkit.ru/main/set.php?code_id=215984) точно подойдёт, он мне понравился что-то ).

И может лучше будет коды подставлять не в программе, а вывести внешний конфиг-текстовик.

lport3
07.05.2010, 15:22
lport3, и всё-таки, на какой схеме K-Line остановиться, а то я совсем запутался. Ты говоришь одно, Борян говорит другое =). Дайте мне нормальную рабочую схему, чтобы мне попусту не тратиться на ненужные запчасти. Вот этот (http://www.masterkit.ru/main/set.php?code_id=215984) точно подойдёт, он мне понравился что-то ).

И может лучше будет коды подставлять не в программе, а вывести внешний конфиг-текстовик.
"Этот" будет работать точно.
Не вопрос сделать текстовик, только зачем и как это будет
выглядеть.?

port3, не будет он работать 100% я как раз собирал клайн на аналогичной микрухе что и стоит в этом....не видит она уровень 2.7в...не видит....хоть тресни....
гы.. конечно не видит, дотягивай до 4-5в
----------------------------

Боря, если не терпится, вот пока что проверил батарейку
----устарело----
сейчас возьмусь за псп..

Boryan
07.05.2010, 15:36
lport3, не будет он работать 100% я как раз собирал клайн на аналогичной микрухе что и стоит в этом....не видит она уровень 2.7в...не видит....хоть тресни....Эрик я тебе обещал сделать по своей схеме и сделаю ....схема та что я выкладывал нга КМОП логике...только там на выходе нужно резистор 22 ом заменить на большее значение..думаю ом 100-200 намано будет...этим мы ещё меньше нагрузим шину зызы и батарейки.

lport3 когда прогу подправишь? Не терпится проверить свой девайс

ANDPSP
07.05.2010, 15:42
В общем домучил я батарейку и разорвал TX контакт, общение консоли с батарейкой прекратилось почти полностью, когда вставляю батарейку в консоль - получаю 31 запрос 5A0201A2 и все... на клавишу включения питания консоль не реагирует, но если подать внешнее питание то консоль снова начинает запрашивать батарейку командой 5A0201A2, но уже бесконечно и с частотой где то один запрос в полсекунды, если при этом включить консоль то она включится и частота запросов удвоится... Разрыв RX на это все никак не влияет, так что зря я с ним мучился - на него достаточно просто посадить один проводок, который потом нужно соединить с проводком от RX USB-кабеля на базе PL2303HX и он будет прекрасно все слушать.

Да и если все разрывы соединить, то батарейка отлично работает и заряжается...

Теперь о грустном - мне так и не удалось подсунуть ответ... пытался на запрос отослать A50506104F04EC и через свою прогу и через RealTerm и через прогу lport3 (последняя даже запросов не показывала) и в итоге нулевой результат - так и не добился появления запроса серийника, вот и думаю то ли ответ не понравился то ли TX не работает...

У кого есть рабочий k-line попробуйте в RealTerm ответ подсунуть, для этого на закладке Display нужно выставить галку Half Duplex чтобы видеть исходящую инфу, а на закладке Send прописать в первом поле ответ "0xA5 0x05 0x06 0x10 0x4F 0x04 0xEC", дальше вставляем батарейку у которой изолирован средний контакт, ловим 31 запрос и пытаемся ответить быстрым нажатием кнопки Send Numbers ...

Интересно получится ли у кого нить получить второй запрос или нет...

ErikPshat
07.05.2010, 16:58
Не вопрос сделать текстовик, только зачем и как это будет выглядеть?Твою программку пока тестить не чем.
Но вижу, что там нужно все ответы прописывать вручную. А если прогу закрыть, то наверное ничего не сохранится.
Поэтому предлагаю сделать текстовик, чтобы по какому-либо правилу оттуда брались бы заранее прописанные ответы на код запроса.

Например, в текстовике прописать код запроса и через пробел писать ответ, примерно так:

5A0201A2 A5050610C30676
5A020C97 A50606FFFFFFFF52
5A0B8008 A51206EFDDEDA268B1F15CF705F1F16FFADDE27B

Ну в общем, точно так-же, как у тебя в проге.
Только если у тебя сохраняются при выходе все прописанные данные, тогда конечно уже не нужен внешний текстовик.

lport3
07.05.2010, 21:54
Ничего сегодня не получается, даже включить не смог псп..
при включении батарейки лог длинный, не было такого раньше..
помутил с грабом.. но это дело долгое и муторное..

запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800D226F7037445B13E53E
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80041E693508A4179E37C2
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80975B9642E8AF361ABDAC
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800DFD1BEC1958EF0C7627
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80044AA4D17F7C402BE110
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80972DAE619F7A57E2678E
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800DC27E0C13A321B661D3
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80046C9D084AA61E49B4FA
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8097DF1880A94C4D151B9A
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800D5D2D01798BFD9B5096
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B800485AB224DA0CF19C12E
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8097BBF0CF551EBBA8FC37
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800D272D334BF9D1B6ECCF
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8004C884E5DD8835AF9408
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80974CE43875B0A6A44369
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800DC995552B46EEB2DE6B
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8004922415493C4C26EA6A
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B80978DDBE0018B8038BE39
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800D62DDD87D402E558C2A
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8004F2F5C8442C5D645BDB
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8097AD52FEF6F9F197DD32
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800DA2D10D6C6082687D5A
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8004C90D8352EB4EB0E999
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8097D43EAB38A814DAFDFB
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050610DA0263
эхо ответа : A5050610DA0263
запрос : 5A020C97
найден ответ :A50606ffffffff52
эхо ответа : A50606FFFFFFFF52
запрос : 5A020D96
найден ответ :A50706FD12142844BE
эхо ответа : A50706FD12142844BE
запрос : 5A02089B
найден ответ :A50406E2046A
эхо ответа : A50406E2046A
запрос : 5A02168D
найден ответ :A51306536F6E79456E65726779446576696365736B
эхо ответа : A51306536F6E79456E65726779446576696365736B
запрос : 5A0B800D93964155A075F176D2
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B800418193E1B4F389D2246
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0B8097D59D7551771DFA4D70
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
Завтра сделаю анализ логов поглубже, но из того что сразу
заметил
- как только изменил A5050610DA0263 на A5050600DA0273 изменились
длинные запросы были 8008.. стали 80d9.
- непонятно зачем псп запрашивает 5A02168D , поскольку в ответе аскинекс
надпись - SonyEnergyDevices.
- на 5A0B8004....,5A0B8097.. батарейка отвечает нулями, зачем тогда
спрашивать?
http://narod.ru/disk/20510169000/Bat_grabb_proj_2_1.rar.html

Yoti
07.05.2010, 22:32
lport3,
на слил (http://zalil.ru/) кидай софтины, пожалуйста.

Boryan
07.05.2010, 22:52
lport3, воот теперь твоя прога шарашит отлично :) запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008781F5512418E23170B
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B80029CF0296B0E1CC7F80F
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008AAD9BDC311D996C1CE
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B800214BB8727D03248ACA5
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B800849C7965A06AF145FEA
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8002C915BFA90DB568EBBD
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008F6AEA4896AE35BDDBC
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8002AD0B84959E3EF9DA98
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008B1CA28259A062E8EEE
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B80025899D2DF1914A8FEA3
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008E7F764C613EFEA6AB4
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8002DEA242BFC7B99ADCA1
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008B90A92B127535D5FD6
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B800269A01C87F750EE3EF9
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B80089D17BA58BFCAF5418D
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8002EA95EBA696183171B8
Эхо буфера искажено, проверьте подключение.
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8008E1D454885486A8B748
найден ответ :A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
эхо ответа : A51206FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A0201A2
найден ответ :A5050600DA0273
эхо ответа : A5050600DA0273
запрос : 5A020C97
найден ответ :A50606DADA168301
эхо ответа : A50606DADA168301
запрос : 5A0B8002FA34A1FEB630B2C7EC
Эхо буфера искажено, проверьте подключение.


Boryan добавил 07-05-2010 в 22:52
мелкие сбои это уже мои тонкости...так ещё и батарейка дохлая...зарядить нужно :) СПАСИБО тебе...:) снимаю шляпу :)

lport3
07.05.2010, 22:55
Эхо буфера искажено, проверьте подключение. -
это значит, что прога не знает что на это ответить..

на нормальном серийнике запрашивает 8008,8002
на fffffff запрашивает 80д9,8004...
8002,8004.. нустые, я пробовал батарейку побрутить по этим командам..

Чтобы псп загрузилась надо на все длинные команды отвечать 15-отр.ответ..

Boryan
07.05.2010, 23:10
Кто хочет брутить зызу собирайте мою схему на КМОП логике вместо CD4011B можно использовать отечественные аналоги 561ЛА7, 561ЛН2 ...последняя правда 6 инверторов....схема будет ещё проще...пайки меньше...шнурок с PL2303 в евросети стоит 190 руб.....только с выхода Тх логического элемента в линию к-лайн поставьте резистор вместо 22 ома от 100-200 ом.и на вход Rx то же можно от 100 до 200 ом...
ЗЫ аналоги :
TC4011, MC14011, HEF4011, CD4011/DIV, 561ЛА7,
1561ЛА7, MC14011, HEF4011, TC4011, HCF4011, SCL4011,
UPD4011, HHF4011, GD4011, F4011, MN4011, LC4011,

Boryan добавил 07-05-2010 в 23:10
ЗЫ я старался сделать легко повторяемую схему и на ширпотребовских элементах с минимумом сложности ...и что бы она была безапасна для зызы ...не просаживала линию общения зызы с батарейкой...Всё!!! Схема удалась! Пользуйтесь! СПАСИБО ещё раз lport3, без него мы ни чего не сдалали...А теперь я поеду в глу*** деревню до 11 мая....нужно отдохнуть мальца. Удачи всем!!!С днём победы!!!

lport3
08.05.2010, 13:55
В ней, неправильно тайминги на работу с псп были
выставлены..

Alex14435
08.05.2010, 14:47
Yoti, держи
http://slil.ru/29100705

Кто нибудь, повторите опыт с батарейкой 3000. С калькулятором сидел долго, никак верная добавка не выходит... Думаю что из за того что при родном нанде она всё ещё читает родной серийник и к нему прибавку делает. А тогда нужен ещё и родной для уточнения. Короче надо как то сделать (программатором или добавкой) чтобы батарейка от 3000 послала ключик FFFFFFFF тогда, возможно, некоторые проблемы решатся.

stasik007
09.05.2010, 01:15
Yoti, держи
http://slil.ru/29100705

Кто нибудь, повторите опыт с батарейкой 3000. С калькулятором сидел долго, никак верная добавка не выходит... Думаю что из за того что при родном нанде она всё ещё читает родной серийник и к нему прибавку делает. А тогда нужен ещё и родной для уточнения. Короче надо как то сделать (программатором или добавкой) чтобы батарейка от 3000 послала ключик FFFFFFFF тогда, возможно, некоторые проблемы решатся.

НЕ ПЫТАЙТЕСЬ ЗАПИСАТЬ ПРОГАМИ ЧЕРЕЗ ПСП ключик FFFFFFFF В 3000 БАТАРЕЙКУ!!! - ЭТО МОЖНО ДЕЛАТЬ ТОЛЬКО ПРОГРАММАТОРОМ ВЫПАЯВ ФЛЭШКУ ИЗ БАТАРЕЙКИ!!! (ЕСЛИ НЕ ИНТЕРЕСУЕТ РЕЗУЛЬТАТ И СУДЬБА БАТАРЕЙКИ)!

Alex14435
09.05.2010, 09:54
Ну я про это же. Если кому не жалко (программатором) или есть уже глюкнутая (добавкой и чтение логов)
И чо то мне кажется, батарейка после программатора увидит что стоит FFFFFFFF и тоже отрубит еепром.

Yoti
09.05.2010, 17:34
OSPBT то зачем? PSPTool тоже норм еепром дампит)
- потому, что гладиолус. Совсем забыл ответить. Ты будешь ПСПТул под наши потребности подгонять? Ок, тогда пусть он 2Кб еепрома считывать будет.

Alex14435
09.05.2010, 20:26
Я не думаю что простым смещением кода можно залезть куда нибудь дальше, чем в еепром... Сони не дураки, видите сами.
И кстати, опыты по этому направлению к чему нить интересному привели?

ErikPshat
09.05.2010, 23:59
Согласен. Никакое расшаривание EEPROM не даст дамп контроллёра. Для этого нужно разузнать специальную команду. Наподобие 14.

Boryan
10.05.2010, 17:34
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

lport3
10.05.2010, 21:30
Надо второй к-лайн кидать на батарейку и
длинные запросы из нее вытаскивать..
получится что мы только определенные команды будем
перехватывать и подменять.. Жаль не понятно что вообще
представляют собой длинные команды. Есть если заметили 2 длинные
команды, первые 8008-800d они легко читаются при бруте батарейки,
но после этой команды идет еще одна длинная команда 8002..8004..8102..80d9..
они не брутятся батарейкой, а точнее считываются с нулями, вот в
этом может быть засада..во второй длинной команде..ниже пример
чистого брута батарейки по 80й команде, обратите внимание что только
8008-800d читаются..5A 0B 80 00 00 00 00 00 00 00 00 00 1A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 01 00 00 00 00 00 00 00 00 19
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 02 00 00 00 00 00 00 00 00 18
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 03 00 00 00 00 00 00 00 00 17
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 04 00 00 00 00 00 00 00 00 16
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 05 00 00 00 00 00 00 00 00 15
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 06 00 00 00 00 00 00 00 00 14
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 07 00 00 00 00 00 00 00 00 13
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 CD 0D 42 98 6A 90 CE AB 97
5A 0B 80 09 00 00 00 00 00 00 00 00 11
A5 12 06 E9 67 88 60 43 42 9C 20 EF 45 F6 B8 46 88 BC CA 93
5A 0B 80 0A 00 00 00 00 00 00 00 00 10
A5 12 06 19 0B 59 BC C5 ED 64 EA 19 50 1E A9 48 67 3C B8 36
5A 0B 80 0B 00 00 00 00 00 00 00 00 0F
A5 12 06 71 6B 22 F7 F9 BA 39 73 2E 40 24 76 5D 18 AB E0 E6
5A 0B 80 0C 00 00 00 00 00 00 00 00 0E
A5 12 06 71 9F F5 EB 15 8E 3D E7 5D 7F C9 CC 64 29 A0 3F AE
5A 0B 80 0D 00 00 00 00 00 00 00 00 0D
A5 12 06 FA A1 4F 1D 04 90 85 B5 C9 D1 30 F2 56 79 C8 59 C1
5A 0B 80 0E 00 00 00 00 00 00 00 00 0C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 0F 00 00 00 00 00 00 00 00 0B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 10 00 00 00 00 00 00 00 00 0A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 11 00 00 00 00 00 00 00 00 09
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 12 00 00 00 00 00 00 00 00 08
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 13 00 00 00 00 00 00 00 00 07
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 14 00 00 00 00 00 00 00 00 06
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 15 00 00 00 00 00 00 00 00 05
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 16 00 00 00 00 00 00 00 00 04
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 17 00 00 00 00 00 00 00 00 03
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 18 00 00 00 00 00 00 00 00 02
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 19 00 00 00 00 00 00 00 00 01
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 1A 00 00 00 00 00 00 00 00 00
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 1B 00 00 00 00 00 00 00 00 FF
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 1C 00 00 00 00 00 00 00 00 FE
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 1D 00 00 00 00 00 00 00 00 FD
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 1E 00 00 00 00 00 00 00 00 FC
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 1F 00 00 00 00 00 00 00 00 FB
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 20 00 00 00 00 00 00 00 00 FA
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 21 00 00 00 00 00 00 00 00 F9
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 22 00 00 00 00 00 00 00 00 F8
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 23 00 00 00 00 00 00 00 00 F7
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 24 00 00 00 00 00 00 00 00 F6
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 25 00 00 00 00 00 00 00 00 F5
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 26 00 00 00 00 00 00 00 00 F4
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 27 00 00 00 00 00 00 00 00 F3
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 28 00 00 00 00 00 00 00 00 F2
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 29 00 00 00 00 00 00 00 00 F1
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 2A 00 00 00 00 00 00 00 00 F0
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 2B 00 00 00 00 00 00 00 00 EF
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 2C 00 00 00 00 00 00 00 00 EE
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 2D 00 00 00 00 00 00 00 00 ED
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 2E 00 00 00 00 00 00 00 00 EC
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 2F 00 00 00 00 00 00 00 00 EB
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 30 00 00 00 00 00 00 00 00 EA
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 31 00 00 00 00 00 00 00 00 E9
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 32 00 00 00 00 00 00 00 00 E8
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 33 00 00 00 00 00 00 00 00 E7
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 34 00 00 00 00 00 00 00 00 E6
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 35 00 00 00 00 00 00 00 00 E5
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 36 00 00 00 00 00 00 00 00 E4
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 37 00 00 00 00 00 00 00 00 E3
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 38 00 00 00 00 00 00 00 00 E2
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 39 00 00 00 00 00 00 00 00 E1
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 3A 00 00 00 00 00 00 00 00 E0
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 3B 00 00 00 00 00 00 00 00 DF
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 3C 00 00 00 00 00 00 00 00 DE
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 3D 00 00 00 00 00 00 00 00 DD
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 3E 00 00 00 00 00 00 00 00 DC
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 3F 00 00 00 00 00 00 00 00 DB
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 40 00 00 00 00 00 00 00 00 DA
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 41 00 00 00 00 00 00 00 00 D9
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 42 00 00 00 00 00 00 00 00 D8
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 43 00 00 00 00 00 00 00 00 D7
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 44 00 00 00 00 00 00 00 00 D6
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 45 00 00 00 00 00 00 00 00 D5
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 46 00 00 00 00 00 00 00 00 D4
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 47 00 00 00 00 00 00 00 00 D3
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 48 00 00 00 00 00 00 00 00 D2
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 49 00 00 00 00 00 00 00 00 D1
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 4A 00 00 00 00 00 00 00 00 D0
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 4B 00 00 00 00 00 00 00 00 CF
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 4C 00 00 00 00 00 00 00 00 CE
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 4D 00 00 00 00 00 00 00 00 CD
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 4E 00 00 00 00 00 00 00 00 CC
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 4F 00 00 00 00 00 00 00 00 CB
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 50 00 00 00 00 00 00 00 00 CA
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 51 00 00 00 00 00 00 00 00 C9
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 52 00 00 00 00 00 00 00 00 C8
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 53 00 00 00 00 00 00 00 00 C7
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 54 00 00 00 00 00 00 00 00 C6
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 55 00 00 00 00 00 00 00 00 C5
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 56 00 00 00 00 00 00 00 00 C4
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 57 00 00 00 00 00 00 00 00 C3
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 58 00 00 00 00 00 00 00 00 C2
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 59 00 00 00 00 00 00 00 00 C1
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 5A 00 00 00 00 00 00 00 00 C0
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 5B 00 00 00 00 00 00 00 00 BF
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 5C 00 00 00 00 00 00 00 00 BE
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 5D 00 00 00 00 00 00 00 00 BD
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 5E 00 00 00 00 00 00 00 00 BC
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 5F 00 00 00 00 00 00 00 00 BB
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 60 00 00 00 00 00 00 00 00 BA
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 61 00 00 00 00 00 00 00 00 B9
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 62 00 00 00 00 00 00 00 00 B8
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 63 00 00 00 00 00 00 00 00 B7
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 64 00 00 00 00 00 00 00 00 B6
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 65 00 00 00 00 00 00 00 00 B5
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 66 00 00 00 00 00 00 00 00 B4
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 67 00 00 00 00 00 00 00 00 B3
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 68 00 00 00 00 00 00 00 00 B2
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 69 00 00 00 00 00 00 00 00 B1
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 6A 00 00 00 00 00 00 00 00 B0
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 6B 00 00 00 00 00 00 00 00 AF
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 6C 00 00 00 00 00 00 00 00 AE
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 6D 00 00 00 00 00 00 00 00 AD
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 6E 00 00 00 00 00 00 00 00 AC
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 6F 00 00 00 00 00 00 00 00 AB
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 70 00 00 00 00 00 00 00 00 AA
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 71 00 00 00 00 00 00 00 00 A9
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 72 00 00 00 00 00 00 00 00 A8
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 73 00 00 00 00 00 00 00 00 A7
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 74 00 00 00 00 00 00 00 00 A6
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 75 00 00 00 00 00 00 00 00 A5
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 76 00 00 00 00 00 00 00 00 A4
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 77 00 00 00 00 00 00 00 00 A3
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 78 00 00 00 00 00 00 00 00 A2
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 79 00 00 00 00 00 00 00 00 A1
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 7A 00 00 00 00 00 00 00 00 A0
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 7B 00 00 00 00 00 00 00 00 9F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 7C 00 00 00 00 00 00 00 00 9E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 7D 00 00 00 00 00 00 00 00 9D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 7E 00 00 00 00 00 00 00 00 9C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 7F 00 00 00 00 00 00 00 00 9B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 80 00 00 00 00 00 00 00 00 9A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 81 00 00 00 00 00 00 00 00 99
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 82 00 00 00 00 00 00 00 00 98
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 83 00 00 00 00 00 00 00 00 97
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 84 00 00 00 00 00 00 00 00 96
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 85 00 00 00 00 00 00 00 00 95
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 86 00 00 00 00 00 00 00 00 94
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 87 00 00 00 00 00 00 00 00 93
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 88 00 00 00 00 00 00 00 00 92
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 89 00 00 00 00 00 00 00 00 91
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 8A 00 00 00 00 00 00 00 00 90
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 8B 00 00 00 00 00 00 00 00 8F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 8C 00 00 00 00 00 00 00 00 8E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 8D 00 00 00 00 00 00 00 00 8D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 8E 00 00 00 00 00 00 00 00 8C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 8F 00 00 00 00 00 00 00 00 8B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 90 00 00 00 00 00 00 00 00 8A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 91 00 00 00 00 00 00 00 00 89
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 92 00 00 00 00 00 00 00 00 88
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 93 00 00 00 00 00 00 00 00 87
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 94 00 00 00 00 00 00 00 00 86
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 95 00 00 00 00 00 00 00 00 85
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 96 00 00 00 00 00 00 00 00 84
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 97 00 00 00 00 00 00 00 00 83
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 98 00 00 00 00 00 00 00 00 82
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 99 00 00 00 00 00 00 00 00 81
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 9A 00 00 00 00 00 00 00 00 80
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 9B 00 00 00 00 00 00 00 00 7F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 9C 00 00 00 00 00 00 00 00 7E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 9D 00 00 00 00 00 00 00 00 7D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 9E 00 00 00 00 00 00 00 00 7C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 9F 00 00 00 00 00 00 00 00 7B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A0 00 00 00 00 00 00 00 00 7A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A1 00 00 00 00 00 00 00 00 79
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A2 00 00 00 00 00 00 00 00 78
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A3 00 00 00 00 00 00 00 00 77
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A4 00 00 00 00 00 00 00 00 76
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A5 00 00 00 00 00 00 00 00 75
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A6 00 00 00 00 00 00 00 00 74
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A7 00 00 00 00 00 00 00 00 73
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A8 00 00 00 00 00 00 00 00 72
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 A9 00 00 00 00 00 00 00 00 71
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 AA 00 00 00 00 00 00 00 00 70
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 AB 00 00 00 00 00 00 00 00 6F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 AC 00 00 00 00 00 00 00 00 6E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 AD 00 00 00 00 00 00 00 00 6D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 AE 00 00 00 00 00 00 00 00 6C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 AF 00 00 00 00 00 00 00 00 6B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B0 00 00 00 00 00 00 00 00 6A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B1 00 00 00 00 00 00 00 00 69
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B2 00 00 00 00 00 00 00 00 68
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B3 00 00 00 00 00 00 00 00 67
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B4 00 00 00 00 00 00 00 00 66
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B5 00 00 00 00 00 00 00 00 65
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B6 00 00 00 00 00 00 00 00 64
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B7 00 00 00 00 00 00 00 00 63
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B8 00 00 00 00 00 00 00 00 62
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 B9 00 00 00 00 00 00 00 00 61
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 BA 00 00 00 00 00 00 00 00 60
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 BB 00 00 00 00 00 00 00 00 5F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 BC 00 00 00 00 00 00 00 00 5E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 BD 00 00 00 00 00 00 00 00 5D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 BE 00 00 00 00 00 00 00 00 5C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 BF 00 00 00 00 00 00 00 00 5B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C0 00 00 00 00 00 00 00 00 5A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C1 00 00 00 00 00 00 00 00 59
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C2 00 00 00 00 00 00 00 00 58
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C3 00 00 00 00 00 00 00 00 57
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C4 00 00 00 00 00 00 00 00 56
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C5 00 00 00 00 00 00 00 00 55
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C6 00 00 00 00 00 00 00 00 54
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C7 00 00 00 00 00 00 00 00 53
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C8 00 00 00 00 00 00 00 00 52
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 C9 00 00 00 00 00 00 00 00 51
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 CA 00 00 00 00 00 00 00 00 50
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 CB 00 00 00 00 00 00 00 00 4F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 CC 00 00 00 00 00 00 00 00 4E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 CD 00 00 00 00 00 00 00 00 4D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 CE 00 00 00 00 00 00 00 00 4C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 CF 00 00 00 00 00 00 00 00 4B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D0 00 00 00 00 00 00 00 00 4A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D1 00 00 00 00 00 00 00 00 49
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D2 00 00 00 00 00 00 00 00 48
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D3 00 00 00 00 00 00 00 00 47
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D4 00 00 00 00 00 00 00 00 46
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D5 00 00 00 00 00 00 00 00 45
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D6 00 00 00 00 00 00 00 00 44
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D7 00 00 00 00 00 00 00 00 43
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D8 00 00 00 00 00 00 00 00 42
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 D9 00 00 00 00 00 00 00 00 41
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 DA 00 00 00 00 00 00 00 00 40
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 DB 00 00 00 00 00 00 00 00 3F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 DC 00 00 00 00 00 00 00 00 3E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 DD 00 00 00 00 00 00 00 00 3D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 DE 00 00 00 00 00 00 00 00 3C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 DF 00 00 00 00 00 00 00 00 3B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E0 00 00 00 00 00 00 00 00 3A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E1 00 00 00 00 00 00 00 00 39
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E2 00 00 00 00 00 00 00 00 38
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E3 00 00 00 00 00 00 00 00 37
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E4 00 00 00 00 00 00 00 00 36
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E5 00 00 00 00 00 00 00 00 35
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E6 00 00 00 00 00 00 00 00 34
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E7 00 00 00 00 00 00 00 00 33
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E8 00 00 00 00 00 00 00 00 32
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 E9 00 00 00 00 00 00 00 00 31
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 EA 00 00 00 00 00 00 00 00 30
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 EB 00 00 00 00 00 00 00 00 2F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 EC 00 00 00 00 00 00 00 00 2E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 ED 00 00 00 00 00 00 00 00 2D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 EE 00 00 00 00 00 00 00 00 2C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 EF 00 00 00 00 00 00 00 00 2B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F0 00 00 00 00 00 00 00 00 2A
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F1 00 00 00 00 00 00 00 00 29
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F2 00 00 00 00 00 00 00 00 28
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F3 00 00 00 00 00 00 00 00 27
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F4 00 00 00 00 00 00 00 00 26
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F5 00 00 00 00 00 00 00 00 25
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F6 00 00 00 00 00 00 00 00 24
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F7 00 00 00 00 00 00 00 00 23
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F8 00 00 00 00 00 00 00 00 22
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 F9 00 00 00 00 00 00 00 00 21
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 FA 00 00 00 00 00 00 00 00 20
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 FB 00 00 00 00 00 00 00 00 1F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 FC 00 00 00 00 00 00 00 00 1E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 FD 00 00 00 00 00 00 00 00 1D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 FE 00 00 00 00 00 00 00 00 1C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 FF 00 00 00 00 00 00 00 00 1B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33

Boryan
10.05.2010, 22:12
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....но мои все батарейки на него тож нулями отвечали....а Стасова нормальным кодом отвечала....но он всё равно зызу не устраивал....ох уж эти китайцы и сони налепили кучу разновидностей батареек ..поди пойми теперь какая куда...

lport3
10.05.2010, 22:35
У меня 14я команда тоже вся нулями возвращается.
Я думаю, что для того чтобы прошли нормально некоторые
команды, например 14,13, или длинные пакеты 800d> .. например,
надо пройти что то вроде парольной сессии, это скорее всего первый
длинный пакет..
----------------------------
Судя по разнице в логах 385 и 390 пост (считывание еепрома),
для считывания еепрома из батарейки надо опять же правильно открыть
"парольную сессию" с батарейкой, иначе батарейка не выдаст правильный
ответ на 14ю команду.. В первом 385м посте вообще нет длинных команд,
видимо потому что батарейка голимая, а может псп < 300x ..
----------------------------
может в psp sdk есть намеки на эти длинные пакеты.. хотя бы
понять что это такое. Yoti в сдк должен разбиратся..

Boryan
10.05.2010, 22:57
lport3, есно логи на чтение и запись епрома были сняты на 2000 пршиваемой....на 3000 эти проги не работают вообще. Я тож думаю что обмен длинными командами это "парольная сессия".....но как взломать её? Вот в чём вопрос....

lport3
10.05.2010, 23:07
Для начала надо понять как оно устроено, а потом уже
думать как сломать. Из опыта скажу что сессии не ломаются,
их для этого и делают.. но есть другие способы.. не в лоб..
если в псп сдк используются библиотеки, то можно зная вход
и выход в процедуру вырезать кусок с криптером или декриптером..
или опять же снять длинные команды с батарейки.. варианты есть,
но не зная свойств длинных пакетов все будет сложно..
ещё заметил что дохлые батарейки на 80 запрос отвечают вместо 06 команды ...15 командой....
это понятно, negativ-positiv repose, интересно, что при отрицательных ответах на длинные
пакеты псп загружается, но наверняка с ограничеными возможностями, например непойдут
некоторые игры или невозможно будет сделать обновление версии прошивки..

Boryan
10.05.2010, 23:16
lport3, а кто говорил что будет легко :)....ждём Yoti, мож он поможет .....ещё заметил что дохлые батарейки на 80 запрос отвечают вместо 06 команды ...15 командой....

Yoti
11.05.2010, 00:29
lport3, Boryan,
ничего такого не попадалось... Это же не офф сдк, а самопальный. В документации у минималиста всё спокойно... Переберу ещё разик.

ANDPSP
11.05.2010, 12:11
Boryan

значит у тебя заработала прога от lport3 и твой собранный k-line - так может теперь посмотришь почему не работает вариант когда подключение RX и TX идет напрямую к батарейке, ведь по идее там тоже должен реализовываться тот же k-line в виде центрального контакта...
У меня так ничего и не заработало при таком подключении - точнее слушаю я все отлично а вот на передачу вообще не пашет, а прога отlport3 даже и не слушает - видать сильно под вашу реализацию заточена, хотя я не понимаю почему такая принципиальная разница получается...Это все сужает круг участников процесса, поскольку на данный момент только у тебя и lport3 работает железяка... или у кого то еще получилось подключиться ?

Ins|der
11.05.2010, 15:22
если серийник нулевой или отрицательный

отрицательный - это как?)

Боюсь что запасной серийник не строится на прибавке....он жёстко прописан в контроллере на случай если будет сбой во внешнем епроме...3000 зызы ещё хавают китайские батарейки, а вот 3008 уже нет..посылают китайские подделки далеко..и если вдруг будет сбой в епроме родная батарейка будет работать с серийником из заначки...а с другой стороны непонятка ...зачем в таком случае внешний епром?

Вполне разумно, жестко прописать серийник в контроллере.
В теме со сменой идентификатора memory stick именно в это всё уперлось, если мне память не изменяет.
Рядовые пользователи менять его не должны, а взломщикам - палки в колеса.

Насколько я помню, внешний EPROM используется для хранения изменяемых данных, с целью калибровки батареи или вроде того. Сони могла его оставить просто для совместимости)

Кстати, в каком плане 3008? 8ка на конце - это ж вроде код региона..

Boryan
11.05.2010, 21:36
ANDPSP, Ну как вроде ты умеешь паять? Так в чём проблемы? Спаять девайс к-лайн по моей схеме пара пустяков. И ни каких батареек. А к-лайн на батарейке не будет работать потому, как выход Tx PL2303 по умолчанию имеет высокий уровень, который в свою очередь тупо открывает транзистор и в результате вся линия К-лайн замыкается на землю. Для того что бы эта схема в батарейке заработала её нужно дорабатывать....и эта доработка будет гораздо сложнее моей последней схемы. Поэтому я и ушёл от использования в качестве к-лайн батарейки, и разработал схему проще некуда.

Boryan добавил 11-05-2010 в 21:36
Ins|der, да, именно 3008 послала голимую китайскую батарейку...а 3000 работала с ней....Хотя вроде регион тут не причём...но сдаётся мне что в sys con незначительно изменена программа проверки батарейки на подлинность а именно 80 команда.....и китайские батарейки не могут на неё ответить правильно....и в пролёте....нуно будет сравнить ради интереса sys con 3000 и 3008....

ANDPSP
11.05.2010, 22:41
ANDPSP, Ну как вроде ты умеешь паять? Так в чём проблемы? Спаять девайс к-лайн по моей схеме пара пустяков. И ни каких батареек.
Припаять один проводок к определенному месту любой сможет... А вот все эти транзисторы, резисторы, кмопы и т.д. для меня темный лес... И я так и не понял какая твоя схема последняя и откуда этих радиодеталек можно наковырять... Если под рукой есть пара нерабочих материнок от компа - из них можно эту хрень надыбать или нет ? Да и все равно для меня и для большинства народа это не простой способ какой то - наверное буду ждать пока USB-K-line появится в ближайшем магазине, бегать за ним по городу тоже лень...

Boryan
11.05.2010, 23:39
если будет время или завтра или на днях выложу полную доку с картинками как собрать к-лайн для "чайников" :))) В матерях комповых может быть нужная микруха. Но лучше купить в чип и дипе она копейки стоит....выпаять из матери микруху без навыков будет очень сложно...за это время 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 добавил 11-05-2010 в 23:39
вот http://www.chip-dip.ru/product0/462647834.aspx
ещё нужно два самых маленьких по размеру резистора на 200 ом и один на 10 ком

sasiska12
12.05.2010, 00:06
Boryan,
можешь сразу поправить, что что бы выпаять из мамки без специальной насадки почти невозможно :))
кстати как прогресс в взломе psp ОО

sasiska12 добавил 12-05-2010 в 00:06
также если всё равно всех потянет выпаивать самому, то проще брать и проволочку пропускать под микросхемку и сразу тащить её на себя :)

Boryan
13.05.2010, 02:28
нууу....ребят мы так не договаривались....чота прям тухло тут всё :)))Ну коли так...ни кто не может собрать девайс для брута зызы и батарейки ..а у меня он есть..... давайте делайте анализ логов что я выложил тут 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 :)))
команду давал приблизительно через секунду...затем вручную менял последние два байта и снова мышкой кликал на кнопку послки команды...с паузой секунда :)5A 0B 80 0A 00 00 00 00 00 00 00 00 10
A5 12 06 19 0B 59 BC C5 ED 64 EA D4 39 3C 7A 6E 2C 11 04 97
5A 0B 80 0A 00 00 00 00 00 00 00 00 10
A5 12 06 19 0B 59 BC C5 ED 64 EA D4 39 3C 7A 6E 2C 11 04 97
5A 0B 80 0A 00 00 00 00 00 00 00 00 10
A5 12 06 19 0B 59 BC C5 ED 64 EA D4 39 3C 7A 6E 2C 11 04 97
5A 0B 80 0A 00 00 00 00 00 00 00 11 FF
A5 12 06 68 C1 C0 32 B3 7D 86 8F D4 39 3C 7A 6E 2C 11 04 70
5A 0B 80 0A 00 00 00 00 00 00 00 11 FF
A5 12 06 68 C1 C0 32 B3 7D 86 8F D4 39 3C 7A 6E 2C 11 04 70
5A 0B 80 0A 00 00 00 00 00 00 00 11 FF
A5 12 06 68 C1 C0 32 B3 7D 86 8F D4 39 3C 7A 6E 2C 11 04 70
5A 0B 80 0A 00 00 00 00 00 00 00 22 EE
A5 12 06 77 AF 77 79 F2 04 4D 84 D4 39 3C 7A 6E 2C 11 04 F3
5A 0B 80 0A 00 00 00 00 00 00 00 22 EE
A5 12 06 77 AF 77 79 F2 04 4D 84 D4 39 3C 7A 6E 2C 11 04 F3
5A 0B 80 0A 00 00 00 00 00 00 00 22 EE
A5 12 06 77 AF 77 79 F2 04 4D 84 D4 39 3C 7A 6E 2C 11 04 F3
5A 0B 80 0A 00 00 00 00 00 00 00 33 DD
A5 12 06 D3 C8 5B 76 5E 9C 0E DF EB CD 53 39 05 D2 BB 5F BA
5A 0B 80 0A 00 00 00 00 00 00 00 33 DD
A5 12 06 D3 C8 5B 76 5E 9C 0E DF EB CD 53 39 05 D2 BB 5F BA
5A 0B 80 0A 00 00 00 00 00 00 00 33 DD
A5 12 06 D3 C8 5B 76 5E 9C 0E DF EB CD 53 39 05 D2 BB 5F BA
5A 0B 80 0A 00 00 00 00 00 00 00 44 CC
A5 12 06 C5 62 F7 47 C9 15 AB 27 D4 39 3C 7A 6E 2C 11 04 BB
5A 0B 80 0A 00 00 00 00 00 00 00 44 CC
A5 12 06 C5 62 F7 47 C9 15 AB 27 D4 39 3C 7A 6E 2C 11 04 BB
5A 0B 80 0A 00 00 00 00 00 00 00 44 CC
A5 12 06 C5 62 F7 47 C9 15 AB 27 D4 39 3C 7A 6E 2C 11 04 BB
5A 0B 80 0A 00 00 00 00 00 00 00 55 BB
A5 12 06 EF 2D 58 74 32 E5 86 62 D4 39 3C 7A 6E 2C 11 04 E9
5A 0B 80 0A 00 00 00 00 00 00 00 55 BB
A5 12 06 EF 2D 58 74 32 E5 86 62 D4 39 3C 7A 6E 2C 11 04 E9
5A 0B 80 0A 00 00 00 00 00 00 00 55 BB
A5 12 06 EF 2D 58 74 32 E5 86 62 D4 39 3C 7A 6E 2C 11 04 E9
5A 0B 80 0A 00 00 00 00 00 00 00 66 AA
A5 12 06 F2 0B 1C 33 32 FD F7 DD EB CD 53 39 05 D2 BB 5F BE
5A 0B 80 0A 00 00 00 00 00 00 00 66 AA
A5 12 06 F2 0B 1C 33 32 FD F7 DD EB CD 53 39 05 D2 BB 5F BE
5A 0B 80 0A 00 00 00 00 00 00 00 66 AA
A5 12 06 F2 0B 1C 33 32 FD F7 DD EB CD 53 39 05 D2 BB 5F BE
5A 0B 80 0A 00 00 00 00 00 00 00 77 99
A5 12 06 17 EC 8F 62 92 97 2D C7 EB CD 53 39 05 D2 BB 5F FC
5A 0B 80 0A 00 00 00 00 00 00 00 77 99
A5 12 06 17 EC 8F 62 92 97 2D C7 EB CD 53 39 05 D2 BB 5F FC
5A 0B 80 0A 00 00 00 00 00 00 00 77 99
A5 12 06 17 EC 8F 62 92 97 2D C7 EB CD 53 39 05 D2 BB 5F FC
5A 0B 80 0A 00 00 00 00 00 00 00 AA 66
A5 12 06 14 45 E4 A9 9D A1 C0 AD EB CD 53 39 05 D2 BB 5F 7C
5A 0B 80 0A 00 00 00 00 00 00 00 AA 66
A5 12 06 14 45 E4 A9 9D A1 C0 AD EB CD 53 39 05 D2 BB 5F 7C
5A 0B 80 0A 00 00 00 00 00 00 00 AA 66
A5 12 06 14 45 E4 A9 9D A1 C0 AD EB CD 53 39 05 D2 BB 5F 7C


Boryan добавил 13-05-2010 в 02:23
lport3, если можно, то в закладке брута батарейки было бы неплохо сделать возможность посылки запроса с паузами которые можно изменять :)

Boryan добавил 13-05-2010 в 02:28
если это возможно ....то очень интересные перспективы открываются :)

ErikPshat
13.05.2010, 03:07
Заметь, в ответах на запросы (800A): 0x00, 0x11, 0x22, 0x44, 0x55 - всегда вторая половина ответа (8 байт) приходила одинаковая:

D4 39 3C 7A 6E 2C 11 04

В ответах на запросы: 0х33, 0x66, 0x77, 0xAA - тоже вторая половина (8 байт) ответа приходили одинаковые, но другие:

EB CD 53 39 05 D2 BB 5F

Но вот первая половина почему-то изменяется по непонятному алгоритму.

А в твоём примере "бат_5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48.txt" - наоборот, первые 8 байт всегда постоянные, а вторые 8 байт изменяются )

То есть, судя по всем твоим логам, можно сделать однозначный вывод, что 16-байтный код ответа состоит из 2-ух независимых частей по 8 байт.

Boryan
13.05.2010, 10:44
ErikPshat, с 80 командой со всеми её видами 80хх всегда так ....но ответ зависит от времени между запросами!!!Если оно больше 0.5 сек то ответы одинаковые ....а если меньше....ну есно рукой я не могу точные паузы делать...то разные.!!! Поэтому я и попросил lport3 сделать регулируемые паузы между запросами. Ещё бы не плохо было и количество запросов регулировать. Ну и в довесок возможность брутить батарейку полными логами, как это сделано в бруте зызы. Непонятно с 81 командой....там всегда на одну команду приходят разные ответы ....Вообще непонятка с привязкой по времени даже в 80хх команде...каким образом она выполняется? Разное время между запросами и разные ответы.....но это в бруте....а как в реале общения с зызой...там же все запросы и ответы идут без пауз....Потом есть подозрения что второй байт 80 команды походу и задаёт какие то переменные во времени ....Короче не батарейка, а хз что :) либо мы сталкиваемся с нештатными режимами батарейки посылая сразу 80 команды без начальной инициализации....А если бы всё делали согласно инструкции последовательности команд то такой галиматьи и не получали бы...

ErikPshat
13.05.2010, 10:56
Boryan, вообще вполне вероятно, что есть привязка по времени.
То есть, аналогично динамической адресации памяти после включения PSP:
int time = sceKernelGetSystemTimeLow()

Почему ChickHEN срабатывает непредсказуемо и не всегда удачно? Вот что писал по этому поводу SilverSpring: http://pspfaqs.ru/faqs/577-uglublyaemsya_v_psp_chast_7_pochemu_chickhen_na_osnove_eggsploit_srabatyvaet_slu chaino.html

ANDPSP
13.05.2010, 12:30
но ответ зависит от времени между запросами!!!Если оно больше 0.5 сек то ответы одинаковые ....а если меньше....Ну и в довесок возможность брутить батарейку полными логами, как это сделано в бруте зызы.

Так вроде эксперементальным путем определили что консоль шлет запросы с разными интервалами в зависимости от подключения внешнего питания к ней и своего статуса включенности...
И вроде ты сам писал что брут батарейки - это тупик и нужно играться с консолью эмулируя батарейку и лучше именно мучить сразу 300X версию поскольку поведение отличается от 1000 и 2000 и распылять силы на эти консоли гиблое дело... Тем более нет уверенности что с какой либо имеющейся у тебя батарейкой каким либо образом можно запустить PSP3000 в сервисном режиме, может в них во всех нет правильных ответов на запросы консоли...
И насчет длинного ответа батарейкой на запрос консоли 0х80 - ведь он всегда 16 байт вроде - может это 128-битный ключ которым консоль шифрует данные посылая следующий 0х81 запрос 8 байт и в ответ батарейка тоже возвращает 8 байт (может уже декриптованные), консоль понимает что они верные и стартует... Ведь реализовать аппаратный AES не проблема и 128-битного ключа будет достаточно для обеспечения защиты этого уровня, ведь пока консоль не стартанула KIRK спит ...

Yoti
13.05.2010, 12:44
ErikPshat,
там много что на время завязано. Я в одном модуле реализовал рэндом, привязав к количеству времени... прошедшему с 1970 года (в секундах).

Boryan
13.05.2010, 17:38
ANDPSP, Значит я ошибался :(....думая что батарейка это так мелочи....но зызу брутить без знания алгоритма ответа на 80 и 81 команды бесполезно....она сразу стопорится на неправильных ответах на эти запросы....нужно изучать ответы батарейки на эти команды....а уж потом строить запросы к зызе....Знаю одно точно, что все 80хх команды и в их числе 80D9 работают по одному принципу....но для более точных данных нужно сделать задаваемое время между запросами....тогда можно батарейку побрутить одним набором байтов но разными командами 80хх...и сравнить результаты. Но самое интересное....ведь китайцы как то вычислили алгоритм ответа на 80хх и 81 команды раз клепают свои левые батарейки. А чем мы хуже китайцев? :)

t0rm3nt0r
13.05.2010, 18:20
Boryan, ты обещал выложить мануал, по созданию K-Line. Не сделал еще? Я бы человечка посадил травить и паять.

ANDPSP
13.05.2010, 18:35
Но самое интересное....ведь китайцы как то вычислили алгоритм ответа на 80хх и 81 команды раз клепают свои левые батарейки. А чем мы хуже китайцев? :)

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

ANDPSP добавил 13-05-2010 в 18:35
Boryan, ты обещал выложить мануал, по созданию K-Line. Не сделал еще? Я бы человечка посадил травить и паять.

+1

я тоже жду мануала... хотя не понимаю на чем держаться все эти резисторы и кмопы должны... или есть какие то заготовки-печатные платы или просто на куске текстолита все собирается путем сверления дырок под контактные места ?

Boryan
13.05.2010, 19:34
уже приступил к мануалу :) всё делается навесным монтажом без всяких там плат..

Alex14435
13.05.2010, 19:56
Чо то мне кажется что китайские отвечают всякую муть на 80 запрос... Или это не так? Вроде в теме был лог где подобная батарейка нули возвращала.

Boryan
13.05.2010, 22:45
Чо то мне кажется что китайские отвечают всякую муть на 80 запрос... Или это не так? Вроде в теме был лог где подобная батарейка нули возвращала.

была такая....вот она как раз и не работала ни на одной зызе....умерла батарейка....навсегда..

Boryan добавил 13-05-2010 в 20:04
ANDPSP, снять дамп с микроконтроллера нельзя ....стоит бит защиты....а потом китайцы на своих покоцанных контроллерах делают батарейки....значит они знают основные алгоритмы 80 команд

Boryan добавил 13-05-2010 в 20:13
ANDPSP, кмоп не может на чём то держаться :)))-http://ru.wikipedia.org/wiki/CMOS

Boryan добавил 13-05-2010 в 22:18
ТУТ K-Line с фотками и описанием...http://slil.ru/29129008 ну проще уже нет вариантов...да,забыл... весит 30 метров

Boryan добавил 13-05-2010 в 22:24
Только не забываем дрова для PL2303 установить :)

Boryan добавил 13-05-2010 в 22:45
PS на фотках с именем CD4011 ошибка в цоколёвке микросхемы!!! Не обращаете внимание на них, удалите их из архива. Придурок какой то в нете выложил а я схватил и в свой архив ...а потом проверил а там цоколёвка микрухи не правильная...

ErikPshat
14.05.2010, 05:27
Ну вот собсно отдизасмил SYSCON.PRX от пандоры-2000.
Что примечательно, так этот файл весит 46420 байт, в отличии от 19502 байта, которые лежат в прошивке 5.00 или 5.03, в декриптованном виде конечно.
Осталось только подсчитать алгоритмы =)

#include <pspsdk.h>
#include "syscon.h"

/*
* Imports from library: sceSysEventForKernel
*/
extern void sceKernelRegisterSysEventHandler (int arg1);
extern void sceKernelUnregisterSysEventHandler (int arg1);

/*
* Imports from library: KDebugForKernel
*/
extern void Kprintf (int arg1);
extern int KDebugForKernel_E892D9A1 ();

/*
* Imports from library: InterruptManagerForKernel
*/
extern int sceKernelCpuSuspendIntr ();
extern void InterruptManagerForKernel_169FC5A3 (int arg1, int arg2);
extern void sceKernelCpuResumeIntr (int arg1);
extern void InterruptManagerForKernel_B940A5BF (int arg1, int arg2, int arg3, int arg4);
extern void sceKernelReleaseSubIntrHandler (int arg1, int arg2);
extern void sceKernelEnableSubIntr (int arg1, int arg2);
extern int sceKernelIsIntrContext ();

/*
* Imports from library: ThreadManForKernel
*/
extern void sceKernelDeleteSema (int arg1);
extern int sceKernelGetSystemTimeLow ();
extern void sceKernelSignalSema (int arg1, int arg2);
extern void sceKernelWaitSema (int arg1, int arg2, int arg3);
extern void sceKernelDelayThread (int arg1);
extern int sceKernelCreateSema (int arg1, int arg2, int arg3, int arg4, int arg5);

/*
* Imports from library: SysclibForKernel
*/
extern void memset (int arg1, int arg2, int arg3);
extern void memcpy (int arg1, int arg2, int arg3);

/*
* Imports from library: UtilsForKernel
*/
extern void sceKernelDcacheWritebackAll ();
extern void sceKernelIcacheInvalidateAll ();

/*
* Imports from library: sceSysreg_driver
*/
extern void sceSysregSpiClkEnable (int arg1);
extern void sceSysregSpiIoEnable (int arg1);
extern void sceSysregSpiClkSelect (int arg1, int arg2);

/*
* Imports from library: sceGpio_driver
*/
extern void sceGpioPortClear (int arg1);
extern void sceGpio_driver_1F6EF945 ();
extern void sceGpioPortSet (int arg1);
extern void sceGpioSetPortMode (int arg1, int arg2);
extern void sceGpio_driver_45CFF0FD ();
extern void sceGpio_driver_BE0DF8EA (int arg1, int arg2);
extern int sceGpio_driver_D2F4B351 (int arg1);

/**
* Subroutine at address 0x00000000
*/
void sub_00000 ()
{
0x00000000: 0x00808021 '!...' - move $s0, $a0
0x00000004: 0x00A08821 '!...' - move $s1, $a1
0x00000008: 0x14C00022 '"...' - bnez $a2, 0x00000094
0x0000000C: 0x00000000 '....' - nop
0x00000010: 0x3C08BD00 '...<' - lui $t0, 0xBD00
0x00000014: 0x24090005 '...$' - li $t1, 5
0x00000018: 0xAD090004 '....' - sw $t1, 4($t0)
0x0000001C: 0x8D090004 '....' - lw $t1, 4($t0)
0x00000020: 0x3129000F '..)1' - andi $t1, $t1, 0x000F
0x00000024: 0x1520FFFD '.. .' - bnez $t1, 0x0000001C
0x00000028: 0x00000000 '....' - nop
0x0000002C: 0x8D090000 '....' - lw $t1, 0($t0)
0x00000030: 0x31290200 '..)1' - andi $t1, $t1, 0x0200
0x00000034: 0x1520FFFD '.. .' - bnez $t1, 0x0000002C
0x00000038: 0x00000000 '....' - nop
0x0000003C: 0x24040002 '...$' - li $a0, 2
0x00000040: 0x00002821 '!(..' - move $a1, $zr
0x00000044: 0x00003021 '!0..' - move $a2, $zr
0x00000048: 0x8D090020 ' ...' - lw $t1, 32($t0)
0x0000004C: 0x7D290400 '..)}' - ext $t1, $t1, 16, 1
0x00000050: 0x1520FFFD '.. .' - bnez $t1, 0x00000048
0x00000054: 0x00000000 '....' - nop
0x00000058: 0x30890001 '...0' - andi $t1, $a0, 0x0001
0x0000005C: 0x00094A80 '.J..' - sll $t1, $t1, 10
0x00000060: 0x00055400 '.T..' - sll $t2, $a1, 16
0x00000064: 0x012A4825 '%H*.' - or $t1, $t1, $t2
0x00000068: 0x30CAC7FF '...0' - andi $t2, $a2, 0xC7FF
0x0000006C: 0x012A4825 '%H*.' - or $t1, $t1, $t2
0x00000070: 0xAD090024 '$...' - sw $t1, 36($t0)
0x00000074: 0x0000000F '....' - sync
0x00000078: 0x34898000 '...4' - ori $t1, $a0, 0x8000
0x0000007C: 0xAD090020 ' ...' - sw $t1, 32($t0)
0x00000080: 0x0000000F '....' - sync
0x00000084: 0x8D090020 ' ...' - lw $t1, 32($t0)
0x00000088: 0x7D290400 '..)}' - ext $t1, $t1, 16, 1
0x0000008C: 0x1520FFFD '.. .' - bnez $t1, 0x00000084
0x00000090: 0x00000000 '....' - nop
0x00000094: 0x3C08BC10 '...<' - lui $t0, 0xBC10
0x00000098: 0x24090083 '...$' - li $t1, 131
0x0000009C: 0xAD090068 'h...' - sw $t1, 104($t0)
0x000000A0: 0x8D090098 '....' - lw $t1, 152($t0)
0x000000A4: 0x7D2912C0 '..)}' - ext $t1, $t1, 11, 3
0x000000A8: 0x240A000B '...$' - li $t2, 11
0x000000AC: 0x01495023 '#PI.' - subu $t2, $t2, $t1
0x000000B0: 0x26040010 '...&' - addiu $a0, $s0, 16
0x000000B4: 0x3C090001 '...<' - lui $t1, 0x0001
0x000000B8: 0x35290542 'B.)5' - ori $t1, $t1, 0x0542
0x000000BC: 0xAC890000 '....' - sw $t1, 0($a0)
0x000000C0: 0xA08A0004 '....' - sb $t2, 4($a0)
0x000000C4: 0x254A0048 'H.J%' - addiu $t2, $t2, 72
0x000000C8: 0x314A00FF '..J1' - andi $t2, $t2, 0x00FF
0x000000CC: 0x394A00FF '..J9' - xori $t2, $t2, 0x00FF
0x000000D0: 0xA08A0005 '....' - sb $t2, 5($a0)
0x000000D4: 0x0411000E '....' - bal 0x00000110
0x000000D8: 0x00002821 '!(..' - move $a1, $zr
0x000000DC: 0x16200007 '.. .' - bnez $s1, 0x000000FC
0x000000E0: 0x00000000 '....' - nop
0x000000E4: 0x3C08BC10 '...<' - lui $t0, 0xBC10
0x000000E8: 0x8D090078 'x...' - lw $t1, 120($t0)
0x000000EC: 0x3C0AFFF3 '...<' - lui $t2, 0xFFF3
0x000000F0: 0x354AFFFD '..J5' - ori $t2, $t2, 0xFFFD
0x000000F4: 0x012A4824 '$H*.' - and $t1, $t1, $t2
0x000000F8: 0xAD090078 'x...' - sw $t1, 120($t0)
0x000000FC: 0x02002021 '! ..' - move $a0, $s0
0x00000100: 0x04110003 '....' - bal 0x00000110
0x00000104: 0x24050001 '...$' - li $a1, 1
0x00000108: 0x1000FFFF '....' - b 0x00000108
0x0000010C: 0x70000000 '...p' - halt
0x00000110: 0x03E05821 '!X..' - move $t3, $ra
0x00000114: 0x00806021 '!`..' - move $t4, $a0
0x00000118: 0x3C08BE24 '$..<' - lui $t0, 0xBE24
0x0000011C: 0x24090008 '...$' - li $t1, 8
0x00000120: 0xAD09000C '....' - sw $t1, 12($t0)
0x00000124: 0x8D090004 '....' - lw $t1, 4($t0)
0x00000128: 0x31290008 '..)1' - andi $t1, $t1, 0x0008
0x0000012C: 0x1520FFFD '.. .' - bnez $t1, 0x00000124
0x00000130: 0x00000000 '....' - nop
0x00000134: 0x04110031 '1...' - bal 0x000001FC
0x00000138: 0x24040005 '...$' - li $a0, 5
0x0000013C: 0x3C08BE58 'X..<' - lui $t0, 0xBE58
0x00000140: 0x8D09000C '....' - lw $t1, 12($t0)
0x00000144: 0x31290004 '..)1' - andi $t1, $t1, 0x0004
0x00000148: 0x5520FFFD '.. U' - bnezl $t1, 0x00000140
0x0000014C: 0x8D090008 '....' - lw $t1, 8($t0)
0x00000150: 0x24090003 '...$' - li $t1, 3
0x00000154: 0xAD090020 ' ...' - sw $t1, 32($t0)
0x00000158: 0x01806821 '!h..' - move $t5, $t4
0x0000015C: 0x95AA0000 '....' - lhu $t2, 0($t5)
0x00000160: 0x000A5202 '.R..' - srl $t2, $t2, 8
0x00000164: 0x31490001 '..I1' - andi $t1, $t2, 0x0001
0x00000168: 0x01495023 '#PI.' - subu $t2, $t2, $t1
0x0000016C: 0x95A90000 '....' - lhu $t1, 0($t5)
0x00000170: 0x7C0948A0 '.H.|' - wsbh $t1, $t1
0x00000174: 0x25AD0002 '...%' - addiu $t5, $t5, 2
0x00000178: 0x254AFFFE '..J%' - addiu $t2, $t2, -2
0x0000017C: 0x0541FFFB '..A.' - bgez $t2, 0x0000016C
0x00000180: 0xAD090008 '....' - sw $t1, 8($t0)
0x00000184: 0x24090006 '...$' - li $t1, 6
0x00000188: 0xAD090004 '....' - sw $t1, 4($t0)
0x0000018C: 0x3C08BE24 '$..<' - lui $t0, 0xBE24
0x00000190: 0x24090008 '...$' - li $t1, 8
0x00000194: 0xAD090008 '....' - sw $t1, 8($t0)
0x00000198: 0x0000000F '....' - sync
0x0000019C: 0x8D090020 ' ...' - lw $t1, 32($t0)
0x000001A0: 0x31290010 '..)1' - andi $t1, $t1, 0x0010
0x000001A4: 0x1120FFFD '.. .' - beqz $t1, 0x0000019C
0x000001A8: 0x00000000 '....' - nop
0x000001AC: 0x24090008 '...$' - li $t1, 8
0x000001B0: 0xAD09000C '....' - sw $t1, 12($t0)
0x000001B4: 0x0000000F '....' - sync
0x000001B8: 0x04110010 '....' - bal 0x000001FC
0x000001BC: 0x24040FA0 '...$' - li $a0, 4000
0x000001C0: 0x14A0000C '....' - bnez $a1, 0x000001F4
0x000001C4: 0x00000000 '....' - nop
0x000001C8: 0x3C08BE58 'X..<' - lui $t0, 0xBE58
0x000001CC: 0x8D090008 '....' - lw $t1, 8($t0)
0x000001D0: 0x8D090008 '....' - lw $t1, 8($t0)
0x000001D4: 0x8D0A000C '....' - lw $t2, 12($t0)
0x000001D8: 0x314A0004 '..J1' - andi $t2, $t2, 0x0004
0x000001DC: 0x5540FFFD '..@U' - bnezl $t2, 0x000001D4
0x000001E0: 0x8D0A0008 '....' - lw $t2, 8($t0)
0x000001E4: 0x7D293A00 '.:)}' - ext $t1, $t1, 8, 8
0x000001E8: 0x39290082 '..)9' - xori $t1, $t1, 0x0082
0x000001EC: 0x1520FFCD '.. .' - bnez $t1, 0x00000124
0x000001F0: 0x00000000 '....' - nop
0x000001F4: 0x01600008 '..`.' - jr $t3
0x000001F8: 0x00000000 '....' - nop
0x000001FC: 0x00040840 '@...' - sll $at, $a0, 1
0x00000200: 0x00240821 '!.$.' - addu $at, $at, $a0
0x00000204: 0x00010940 '@...' - sll $at, $at, 5
0x00000208: 0x1420FFFF '.. .' - bnez $at, 0x00000208
0x0000020C: 0x2421FFFF '..!$' - addiu $at, $at, -1
0x00000210: 0x03E00008 '....' - jr $ra
0x00000214: 0x00000000 '....' - nop
}

/**
* Subroutine at address 0x00000218
*/
void sceSysconInit ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[3] = ra;
((int *) sp)[2] = s2;
((int *) sp)[1] = s1;
((int *) sp)[0] = s0;
sceSysregSpiClkSelect (0x00000000, 0x00000001);
sceSysregSpiClkEnable (0x00000000);
sceSysregSpiIoEnable (0x00000000);
*((int *) 0xBE580000) = 0x000000CF;
*((int *) 0xBE580004) = 0x00000004;
*((int *) 0xBE580014) = 0x00000000;
*((int *) 0xBE580024) = 0x00000000;
memset (0x00008770, 0x00000000, 0x00000148);
memset (0x00008710, 0x00000000, 0x00000060);
*((char *) 0x0000871D) = 0x00000002;
*((char *) 0x0000871C) = 0x00000010;
*((int *) 0x000088B0) = 0x00000001;
*((int *) 0x000087A8) = 0x00000FA0;
*((char *) 0x000087C2) = 0xFFFFFFFF;
*((char *) 0x000087B0) = 0xFFFFFFFF;
*((char *) 0x000087B1) = 0xFFFFFFFF;
*((char *) 0x000087B2) = 0xFFFFFFFF;
*((char *) 0x000087B3) = 0xFFFFFFFF;
*((char *) 0x000087B4) = 0xFFFFFFFF;
*((char *) 0x000087B6) = 0xFFFFFFFF;
*((char *) 0x000087B7) = 0xFFFFFFFF;
*((char *) 0x000087B8) = 0xFFFFFFFF;
*((char *) 0x000087BD) = 0xFFFFFFFF;
*((char *) 0x000087BE) = 0xFFFFFFFF;
*((char *) 0x000087BF) = 0xFFFFFFFF;
*((char *) 0x000087C0) = 0xFFFFFFFF;
*((char *) 0x000087C1) = 0xFFFFFFFF;
*((int *) 0x000087AC) = 0x00004E20;
*((int *) 0x0000879C) = 0x00000000;
sceGpioPortClear (0x00000008);
var15 = sceKernelGetSystemTimeLow ();
*((int *) 0x00008798) = var15;
sceGpioSetPortMode (0x00000003, 0x00000000);
sceGpioSetPortMode (0x00000004, 0x00000001);
sceGpio_driver_BE0DF8EA (0x00000004, 0x00000003);
InterruptManagerForKernel_B940A5BF (0x00000004, 0x00000004, 0x00000798, 0x00000000);
sceKernelEnableSubIntr (0x00000004, 0x00000004);
sceKernelRegisterSysEventHandler (0x000086C0);
while (1) {
var30 = sceSysconGetBaryonVersion (0x00008888);
if (var30 < 0)
continue;
break;
}
while (1) {
var33 = sceSysconGetTimeStamp (0x0000888C);
if (var33 < 0)
continue;
break;
}
var34 = *((char *) 0x0000888C);
var35 = 0x00000000;
var36 = 0x00000000;
var37 = 0x0000888C;
if (!(var34 == 0x00000000))
{
while (1) {
var38 = (var35 << 0x00000002) + var35;
var39 = ((char *) var37)[0];
var37 = var37 + 0x00000001;
var40 = var39 + 0xFFFFFFD0;
var41 = ((char *) var37)[0];
var35 = (var38 << 0x00000001) + var40;
var36 = (((((((var36 << 0x00000002) | (var35 >> 0x0000001E)) + var36) + ((var38 < var35))) << 0x00000001) | (var38 >> 0x0000001F)) + (var40 >> 0x0000001F)) + ((var35 < var40));
if (var41 != 0x00000000)
continue;
break;
}
}
*((int *) 0x000088A0) = var35;
*((int *) 0x000088A4) = var36;
sub_00430 ();
ra = ((int *) sp)[3];
var44 = ((int *) sp)[2];
var45 = ((int *) sp)[1];
var46 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00000430
*/
void sub_00430 ()
{
sp = sp + 0xFFFFFFE0;
((int *) sp)[6] = ra;
((int *) sp)[5] = s1;
((int *) sp)[4] = s0;
while (1) {
var3 = sceSysconGetPommelVersion (0x000088A8);
if (var3 < 0)
continue;
break;
}
while (1) {
var4 = sp;
var7 = sceSyscon_driver_D2D8E0DC (var4);
if (var7 < 0)
continue;
break;
}
var8 = *((unsigned short *) 0x0000888A);
var9 = var8 & 0x000000F0;
var10 = ((int *) sp)[0];
if ((((var9 < 0x00000001)) | (((var9 ^ 0x00000010) < 0x00000001))) != 0x00000000)
{
var17 = ((int *) sp)[0];
*((char *) 0x000087B6) = ((var17 >> 9) & 0x00000001);
*((char *) 0x000087B7) = ((var17 >> 12) & 0x00000001);
*((char *) 0x000087B8) = ((var17 >> 20) & 0x00000001);
var20 = sub_03950 ();
if (var20 == 0x00000100)
{
var21 = ((int *) sp)[0];
*((char *) 0x000087BE) = ((var21 >> 2) & 0x00000001);
*((char *) 0x000087BD) = ((var21 >> 1) & 0x00000001);
}
else
{
*((char *) 0x000087BE) = 0x00000001;
*((char *) 0x000087BD) = 0x00000001;
var21 = ((int *) sp)[0];
}
var22 = *((unsigned char *) 0x000087C4);
*((char *) 0x000087BF) = ((var21 >> 3) & 0x00000001);
*((char *) 0x000087C0) = ((var21 >> 19) & 0x00000001);
*((char *) 0x000087C1) = ((var22 >> 2) & 0x00000001);
*((char *) 0x000087B5) = 0x00000000;
*((char *) 0x000087B9) = 0x00000000;
*((char *) 0x000087BA) = 0x00000000;
*((char *) 0x000087BB) = 0x00000000;
*((char *) 0x000087BC) = 0x00000000;
}
else
{
*((char *) 0x000087B6) = ((var10 >> 3) & 0x00000001);
*((char *) 0x000087B7) = ((var10 >> 13) & 0x00000001);
*((char *) 0x000087B8) = ((var10 >> 8) & 0x00000001);
*((char *) 0x000087BA) = ((var10 >> 19) & 0x00000001);
*((char *) 0x000087BF) = ((var10 >> 1) & 0x00000001);
*((char *) 0x000087C0) = 0x00000001;
*((char *) 0x000087C1) = ((var10 >> 7) & 0x00000001);
*((char *) 0x000087BD) = 0x00000001;
*((char *) 0x000087BE) = 0x00000001;
if (((((var8 & 0x000000FF) + 0xFFFFFFE0) < 0x00000002)) == 0x00000000)
{
*((char *) 0x000087BC) = ((var10 >> 21) & 0x00000001);
}
else
{
*((char *) 0x000087BC) = 0x00000000;
}
*((int *) 0x0000889C) = 0x00000001;
var13 = sceSysconCmdExec (0x00008710, 0x00000000);
var14 = *((unsigned char *) 0x000087C5);
*((char *) 0x000087B5) = ((var14 >> 2) & 0x00000001);
*((char *) 0x000087B9) = (var14 & 0x00000001);
*((char *) 0x000087BB) = ((var14 >> 1) & 0x00000001);
}
ra = ((int *) sp)[6];
var15 = ((int *) sp)[5];
var16 = ((int *) sp)[4];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x000005C0
*/
void sceSysconResume (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
var1 = arg1;
((int *) sp)[2] = ra;
((int *) sp)[0] = s0;
sceSysregSpiClkSelect (0x00000000, 0x00000001);
sceSysregSpiClkEnable (0x00000000);
sceSysregSpiIoEnable (0x00000000);
*((int *) 0xBE580000) = 0x000000CF;
*((int *) 0xBE580004) = 0x00000004;
*((int *) 0xBE580014) = 0x00000000;
*((int *) 0xBE580024) = 0x00000000;
sceGpioSetPortMode (0x00000003, 0x00000000);
sceGpioSetPortMode (0x00000004, 0x00000001);
sceGpio_driver_BE0DF8EA (0x00000004, 0x00000003);
sceKernelEnableSubIntr (0x00000004, 0x00000004);
var18 = sceKernelGetSystemTimeLow ();
*((int *) 0x00008798) = var18;
*((char *) 0x000087B6) = 0x00000000;
var19 = ((int *) var1)[8];
ra = ((int *) sp)[2];
*((char *) 0x000087B7) = ((var19 >> 21) & 0x00000001);
var20 = ((int *) var1)[6];
*((char *) 0x000087C0) = 0x00000001;
*((char *) 0x000087B8) = ((var20 >> 1) & 0x00000001);
*((char *) 0x000087BD) = 0x00000001;
*((char *) 0x000087BE) = 0x00000001;
*((char *) 0x000087BF) = 0x00000001;
var21 = ((int *) var1)[6];
*((char *) 0x000087C1) = ((var21 >> 2) & 0x00000001);
var22 = ((int *) var1)[8];
*((char *) 0x000087B0) = ((var22 >> 15) & 0x00000001);
var23 = ((int *) var1)[8];
*((char *) 0x000087B1) = (((!var23) >> 14) & 0x00000001);
var24 = ((int *) var1)[8];
*((char *) 0x000087B2) = (((!var24) >> 14) & 0x00000001);
var25 = ((int *) var1)[8];
*((char *) 0x000087B3) = (((!var25) >> 13) & 0x00000001);
var26 = ((int *) var1)[8];
var27 = ((int *) sp)[1];
*((char *) 0x000087B4) = ((var26 >> 20) & 0x00000001);
var28 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000006E8
*/
void sub_006E8 (int arg1, int arg2, int arg3)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
if (arg1 == 0x0000400F)
{
*((int *) 0x000088AC) = 0x00000001;

label21:
var1 = 0x00000000;
}
else
{
if (((arg1 < 0x00004010)) == 0x00000000)
{
if (arg1 == 0x00010008)
{
var7 = ((int *) arg3)[1];
sceSysconResume (var7);
var1 = 0x00000000;
}
else
{
var1 = 0x00000000;
if (!(arg1 != 0x0001000F))
{
*((int *) 0x000088AC) = 0x00000000;
}
}
}
else
{
if (arg1 == 0x00000402)
{
var6 = sceSysconCmdSync (0x00000000, 0x00000001);
var1 = !(var6) ? 0x00000000 : 0xFFFFFFFF;
}
else
{
if (arg1 == 0x00004008)
{
InterruptManagerForKernel_169FC5A3 (0x00000004, 0x00000004);
var1 = 0x00000000;
}
else
{
goto label21;
}
}
}
}
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00000798
*/
void sub_00798 ()
{
0x00000798: 0x27BDFFC0 '...'' - addiu $sp, $sp, -64
0x0000079C: 0xAFBF0034 '4...' - sw $ra, 52($sp)
0x000007A0: 0xAFB7002C ',...' - sw $s7, 44($sp)
0x000007A4: 0xAFB50024 '$...' - sw $s5, 36($sp)
0x000007A8: 0x3C150001 '...<' - lui $s5, 0x0001
0x000007AC: 0xAFB3001C '....' - sw $s3, 28($sp)
0x000007B0: 0xAFB20018 '....' - sw $s2, 24($sp)
0x000007B4: 0xAFB00010 '....' - sw $s0, 16($sp)
0x000007B8: 0x26B08770 'p..&' - addiu $s0, $s5, -30864
0x000007BC: 0xAFBE0030 '0...' - sw $fp, 48($sp)
0x000007C0: 0xAFB60028 '(...' - sw $s6, 40($sp)
0x000007C4: 0xAFB40020 ' ...' - sw $s4, 32($sp)
0x000007C8: 0x0C000EA5 '....' - jal 0x00003A94
0x000007CC: 0xAFB10014 '....' - sw $s1, 20($sp)
0x000007D0: 0x24040008 '...$' - li $a0, 8
0x000007D4: 0x0C000ECB '....' - jal 0x00003B2C
0x000007D8: 0xAFA20000 '....' - sw $v0, 0($sp)
0x000007DC: 0x0C000EBD '....' - jal 0x00003AF4
0x000007E0: 0x00000000 '....' - nop
0x000007E4: 0xAE020028 '(...' - sw $v0, 40($s0)
0x000007E8: 0x24040004 '...$' - li $a0, 4
0x000007EC: 0x0C000ECD '....' - jal 0x00003B34
0x000007F0: 0x0040B821 '!.@.' - move $s7, $v0
0x000007F4: 0x8EB38770 'p...' - lw $s3, -30864($s5)
0x000007F8: 0x24030001 '...$' - li $v1, 1
0x000007FC: 0xAE03002C ',...' - sw $v1, 44($s0)
0x00000800: 0x02602021 '! `.' - move $a0, $s3
0x00000804: 0xAFA00004 '....' - sw $zr, 4($sp)
0x00000808: 0x0C0007C8 '....' - jal 0x00001F20
0x0000080C: 0xAEA08770 'p...' - sw $zr, -30864($s5)
0x00000810: 0x04400002 '..@.' - bltz $v0, 0x0000081C
0x00000814: 0x00409021 '!.@.' - move $s2, $v0
0x00000818: 0xA2020054 'T...' - sb $v0, 84($s0)
0x0000081C: 0x06400214 '..@.' - bltz $s2, 0x00001070
0x00000820: 0x921E0053 'S...' - lbu $fp, 83($s0)
0x00000824: 0x8E03012C ',...' - lw $v1, 300($s0)
0x00000828: 0x10600006 '..`.' - beqz $v1, 0x00000844
0x0000082C: 0x03D28826 '&...' - xor $s1, $fp, $s2
0x00000830: 0x02401021 '!.@.' - move $v0, $s2
0x00000834: 0x7C022944 'D).|' - ins $v0, $zr, 5, 1
0x00000838: 0x33C40020 ' ..3' - andi $a0, $fp, 0x0020
0x0000083C: 0x00449025 '%.D.' - or $s2, $v0, $a0
0x00000840: 0x03D28826 '&...' - xor $s1, $fp, $s2
0x00000844: 0x32250080 '..%2' - andi $a1, $s1, 0x0080
0x00000848: 0x10A0000C '....' - beqz $a1, 0x0000087C
0x0000084C: 0xA2120053 'S...' - sb $s2, 83($s0)
0x00000850: 0x260300C8 '...&' - addiu $v1, $s0, 200
0x00000854: 0x8C660008 '..f.' - lw $a2, 8($v1)
0x00000858: 0x10C00008 '....' - beqz $a2, 0x0000087C
0x0000085C: 0x7E4401C0 '..D~' - ext $a0, $s2, 7, 1
0x00000860: 0x8C67000C '..g.' - lw $a3, 12($v1)
0x00000864: 0x0380A021 '!...' - move $s4, $gp
0x00000868: 0x00E0E021 '!...' - move $gp, $a3
0x0000086C: 0x00C0F809 '....' - jalr $a2
0x00000870: 0x8C650010 '..e.' - lw $a1, 16($v1)
0x00000874: 0x03801021 '!...' - move $v0, $gp
0x00000878: 0x0280E021 '!...' - move $gp, $s4
0x0000087C: 0x26A38770 'p..&' - addiu $v1, $s5, -30864
0x00000880: 0x8C66012C ',.f.' - lw $a2, 300($v1)
0x00000884: 0x10C001EA '....' - beqz $a2, 0x00001030
0x00000888: 0x02327825 '%x2.' - or $t7, $s1, $s2
0x0000088C: 0x90690054 'T.i.' - lbu $t1, 84($v1)
0x00000890: 0x31280020 ' .(1' - andi $t0, $t1, 0x0020
0x00000894: 0x11000009 '....' - beqz $t0, 0x000008BC
0x00000898: 0x32380010 '..82' - andi $t8, $s1, 0x0010
0x0000089C: 0x8C6A013C '<.j.' - lw $t2, 316($v1)
0x000008A0: 0x15400006 '..@.' - bnez $t2, 0x000008BC
0x000008A4: 0x240B0010 '...$' - li $t3, 16
0x000008A8: 0x926C000C '..l.' - lbu $t4, 12($s3)
0x000008AC: 0x118B0003 '....' - beq $t4, $t3, 0x000008BC
0x000008B0: 0x240D0001 '...$' - li $t5, 1
0x000008B4: 0xAFAD0004 '....' - sw $t5, 4($sp)
0x000008B8: 0x32380010 '..82' - andi $t8, $s1, 0x0010
}

/**
* Subroutine at address 0x000008BC
*/
void sub_008BC ()
{
var1 = s1 & 0x00000008;
if (!(t8 == 0x00000000))
{
var2 = (s5 + 0xFFFF8770) + 0x0000005C;
var3 = ((int *) var2)[2];
if (!(var3 == 0x00000000))
{
var4 = ((int *) var2)[3];
s4 = gp;
gp = var4;
var5 = ((int *) var2)[4];
var8 var9 = (*var3) (((s2 >> 4) & 0x00000001), var5, var3, arg4, arg5, arg6, arg7, arg8);
var10 = gp;
gp = s4;
}
var1 = s1 & 0x00000008;
}
var11 = s1 & 0x00000001;
if (!(var1 == 0x00000000))
{
var12 = (s5 + 0xFFFF8770) + 0x00000068;
var13 = ((int *) var12)[2];
var14 = s2 ^ 0x00000008;
if (!(var13 == 0x00000000))
{
var15 = ((int *) var12)[3];
s6 = gp;
gp = var15;
var16 = ((int *) var12)[4];
var19 var20 = (*var13) (((var14 >> 3) & 0x00000001), var16, var13, var14, var15);
var21 = gp;
gp = s6;
}
var11 = s1 & 0x00000001;
}
var22 = s1 & 0x00000002;
if (!(var11 == 0x00000000))
{
s6 = s5 + 0xFFFF8770;
var23 = s6 + 0x00000074;
var24 = ((int *) var23)[2];
s4 = s2 & 0x00000001;
if (!(var24 == 0x00000000))
{
var25 = ((int *) var23)[3];
var26 = gp;
gp = var25;
var27 = ((int *) var23)[4];
var30 var31 = (*var24) (s4, var27, var24);
var32 = gp;
gp = var26;
}
var33 = s6 + 0x00000104;
var34 = ((int *) var33)[2];
var22 = s1 & 0x00000002;
if (!(var34 == 0x00000000))
{
var35 = ((int *) var33)[3];
s6 = gp;
gp = var35;
var36 = ((int *) var33)[4];
var39 var40 = (*var34) (s4, var36, var34);
var41 = gp;
gp = s6;
var22 = s1 & 0x00000002;
}
}
var42 = s1 & 0x00000004;
if (!(var22 == 0x00000000))
{
var43 = (s5 + 0xFFFF8770) + 0x000000BC;
var44 = ((int *) var43)[2];
if (!(var44 == 0x00000000))
{
var45 = ((int *) var43)[3];
s4 = gp;
gp = var45;
var46 = ((int *) var43)[4];
var49 var50 = (*var44) (((s2 >> 1) & 0x00000001), var46, var44);
var51 = gp;
gp = s4;
var42 = s1 & 0x00000004;
}
}
if (var42 == 0x00000000)
{
var61 = ((unsigned char *) s3)[12];
}
else
{
s1 = s5 + 0xFFFF8770;
var52 = s1 + 0x000000B0;
var53 = ((int *) var52)[2];
if (!(var53 == 0x00000000))
{
var54 = ((int *) var52)[3];
s6 = gp;
gp = var54;
var55 = ((int *) var52)[4];
var58 var59 = (*var53) (((s2 >> 2) & 0x00000001), var55, var53);
var60 = gp;
gp = s6;
}
var61 = ((unsigned char *) s3)[12];
}
var62 = var61 & 0x000000FF;
var63 = (var62 < 0x00000011);
if (var63 == 0x00000000)
{
sub_00B1C ();
}
else
{
var64 = ((int *) ((var62 << 0x00000002) + 0x000042F0))[0];
}
return;
}

/**
* Subroutine at address 0x00000A4C
*/
void sub_00A4C ()
{
0x00000A4C: 0x26A48770 'p..&' - addiu $a0, $s5, -30864
0x00000A50: 0x9272001F '..r.' - lbu $s2, 31($s3)
0x00000A54: 0x90850055 'U...' - lbu $a1, 85($a0)
0x00000A58: 0x00B28826 '&...' - xor $s1, $a1, $s2
0x00000A5C: 0x323E0001 '..>2' - andi $fp, $s1, 0x0001
0x00000A60: 0x13C0000C '....' - beqz $fp, 0x00000A94
0x00000A64: 0xA0920055 'U...' - sb $s2, 85($a0)
0x00000A68: 0x248300D4 '...$' - addiu $v1, $a0, 212
0x00000A6C: 0x8C660008 '..f.' - lw $a2, 8($v1)
0x00000A70: 0x10C00008 '....' - beqz $a2, 0x00000A94
0x00000A74: 0x32440001 '..D2' - andi $a0, $s2, 0x0001
0x00000A78: 0x8C68000C '..h.' - lw $t0, 12($v1)
0x00000A7C: 0x0380A021 '!...' - move $s4, $gp
0x00000A80: 0x0100E021 '!...' - move $gp, $t0
0x00000A84: 0x00C0F809 '....' - jalr $a2
0x00000A88: 0x8C650010 '..e.' - lw $a1, 16($v1)
0x00000A8C: 0x03801021 '!...' - move $v0, $gp
0x00000A90: 0x0280E021 '!...' - move $gp, $s4
0x00000A94: 0x32230002 '..#2' - andi $v1, $s1, 0x0002
0x00000A98: 0x1060000E '..`.' - beqz $v1, 0x00000AD4
0x00000A9C: 0x322A0004 '..*2' - andi $t2, $s1, 0x0004
0x00000AA0: 0x26A68770 'p..&' - addiu $a2, $s5, -30864
0x00000AA4: 0x24C300E0 '...$' - addiu $v1, $a2, 224
0x00000AA8: 0x8C660008 '..f.' - lw $a2, 8($v1)
0x00000AAC: 0x10C00009 '....' - beqz $a2, 0x00000AD4
0x00000AB0: 0x7E440040 '@.D~' - ext $a0, $s2, 1, 1
0x00000AB4: 0x8C69000C '..i.' - lw $t1, 12($v1)
0x00000AB8: 0x0380B021 '!...' - move $s6, $gp
0x00000ABC: 0x0120E021 '!. .' - move $gp, $t1
0x00000AC0: 0x00C0F809 '....' - jalr $a2
0x00000AC4: 0x8C650010 '..e.' - lw $a1, 16($v1)
0x00000AC8: 0x03801021 '!...' - move $v0, $gp
0x00000ACC: 0x02C0E021 '!...' - move $gp, $s6
0x00000AD0: 0x322A0004 '..*2' - andi $t2, $s1, 0x0004
0x00000AD4: 0x51400010 '..@Q' - beqzl $t2, 0x00000B18
0x00000AD8: 0x9265000C '..e.' - lbu $a1, 12($s3)
0x00000ADC: 0x26AB8770 'p..&' - addiu $t3, $s5, -30864
0x00000AE0: 0x256300F8 '..c%' - addiu $v1, $t3, 248
0x00000AE4: 0x8C660008 '..f.' - lw $a2, 8($v1)
0x00000AE8: 0x7E440080 '..D~' - ext $a0, $s2, 2, 1
0x00000AEC: 0x50C0000A '...P' - beqzl $a2, 0x00000B18
0x00000AF0: 0x9265000C '..e.' - lbu $a1, 12($s3)
0x00000AF4: 0x8C6A000C '..j.' - lw $t2, 12($v1)
0x00000AF8: 0x03808021 '!...' - move $s0, $gp
0x00000AFC: 0x0140E021 '!.@.' - move $gp, $t2
0x00000B00: 0x8C650010 '..e.' - lw $a1, 16($v1)
}

/**
* Subroutine at address 0x00000B04
*/
void sub_00B04 ()
{
0x00000B04: 0x00C0F809 '....' - jalr $a2
0x00000B08: 0x00000000 '....' - nop
0x00000B0C: 0x03801021 '!...' - move $v0, $gp
0x00000B10: 0x0200E021 '!...' - move $gp, $s0
}

/**
* Subroutine at address 0x00000B14
*/
void sub_00B14 ()
{
0x00000B14: 0x9265000C '..e.' - lbu $a1, 12($s3)
}

/**
* Subroutine at address 0x00000B18
*/
void sub_00B18 ()
{
0x00000B18: 0x30AE00FF '...0' - andi $t6, $a1, 0x00FF
}

/**
* Subroutine at address 0x00000B1C
*/
void sub_00B1C (int arg1, int arg2)
{
if (((t6 < 0x00000020)) != 0x00000000)
{
var3 = ((int *) s3)[1];

label8:
var4 = (((char) arg2) < 0x00000000);
var5 = ((int *) s3)[0];
var6 = (((var4) ? 0x00000000 : ((arg2 >> 5) & 0x00000007)) << 0x00000002) + (s5 + 0xFFFF8770);
((int *) var6)[1] = var5;
var7 = ((int *) s3)[0];
((int *) s3)[1] = ((var3 & 0xFFFBFFFF) | (0x00000000 & 0x00000001));
if (!(var7 != 0x00000000))
{
((int *) var6)[5] = 0x00000000;
}
var8 = ((int *) s3)[11];
((int *) s3)[0] = 0x00000000;
var9 = 0x00000000;
if (var8 != 0x00000000)
{
var53 = ((int *) s3)[12];
var54 = gp;
gp = var53;
var55 = ((int *) s3)[11];
var56 = ((int *) s3)[13];
var59 var60 = (*var55) (s3, var56, var8, var5, var4, arg6, arg7, arg8);
var9 = var59;
var61 = gp;
gp = var54;
var10 = ((int *) sp)[1];
if (!(var9 == 0x00000000))
{
if (var9 == 0x00000001)
{
var65 = ((unsigned char *) s3)[12];
var63 = (((((((char) var65) < 0x00000000))) ? 0x00000000 : ((var65 >> 5) & 0x00000007)) << 0x00000002) + (s5 + 0xFFFF8770);
var66 = ((int *) var63)[1];
if (var66 == 0x00000000)
{
((int *) var63)[5] = s3;

label20:
((int *) var63)[1] = s3;
((int *) s3)[0] = 0x00000000;
}
else
{
((int *) var63)[1] = s3;
((int *) s3)[0] = var66;
}

label21:
var10 = ((int *) sp)[1];
}
else
{
var10 = ((int *) sp)[1];
if (!(var9 != 0x00000002))
{
var62 = ((unsigned char *) s3)[12];
var63 = ((((((((char) var62) < 0x00000000))) ? 0x00000000 : ((var62 >> 5) & 0x00000007)) << 0x00000002) + (s5 + 0xFFFF8770)) + 0x00000010;
var64 = ((int *) var63)[1];
((int *) var64)[0] = s3;
goto label20;
}
}
}
}
else
goto label21;
}
else
{
var1 = ((unsigned char *) s3)[30];
if (((((var1 + 0xFFFFFF80) & 0x000000FF) < 0x00000002)) == 0x00000000)
{
var3 = ((int *) s3)[1];
goto label8;
}
else
{
var2 = ((int *) s3)[1];
var3 = var2;
if (!((var2 & 0x00000010) == 0x00000000))
goto label8;
((int *) s3)[1] = (var2 | 0x00040000);
var9 = 0x00000002;
goto label21;
}
}
var11 = s5 + 0xFFFF8770;
if (!((var10 & ((0x00000000 < (var9 ^ 0x00000001)))) == 0x00000000))
{
var12 = s5 + 0xFFFF8770;
var13 = ((int *) var12)[1];
if (var13 == 0x00000000)
{
((int *) var12)[5] = 0x00008710;
*((int *) 0x00008710) = 0x00000000;
((int *) var12)[1] = 0x00008710;
}
else
{
((int *) var12)[1] = 0x00008710;
*((int *) 0x00008710) = var13;
}
var11 = s5 + 0xFFFF8770;
}
var14 = ((int *) var11)[1];
if (var14 == 0x00000000)
{
var40 = ((int *) var11)[13];
var41 = var11;
var42 = 0x00000000;
var43 = var40 + 0x00000000;
while (1) {
var44 = var43 + 0x00000001;
var14 = ((int *) (((!(((var44 < 0x00000004))) ? (var43 + 0xFFFFFFFE) : var44) << 0x00000002) + var41))[1];
var42 = var42 + 0x00000001;
if (var14 != 0x00000000)
break;
var43 = var40 + var42;
if (((var42 < 0x00000003)) != 0x00000000)
continue;
var45 = s5 + 0xFFFF8770;
goto label40;
}
var48 = ((int *) var14)[1];
var45 = s5 + 0xFFFF8770;
if ((var48 & 0x00040000) == 0x00000000)
{

label40:
var46 = ((int *) var45)[13];
}
else
{
var49 = ((int *) var14)[14];
var50 = ((int *) var14)[15];
if ((((s7 - var49) < var50)) == 0x00000000)
goto label40;
var51 = ((int *) var41)[80];
if (var51 != 0x00000000)
{
var46 = ((int *) var45)[13];
}
else
{
var52 = ((int *) var41)[79];
if (var52 == 0x00000000)
{
var14 = 0x00000000;
goto label40;
}
else
{
var46 = ((int *) var45)[13];
}
}
}
var47 = var46 + 0x00000001;
((int *) var45)[13] = var47;
if (var47 == 0x00000003)
{
((int *) var45)[13] = 0x00000000;
}
var15 = s5 + 0xFFFF8770;
if (var14 != 0x00000000)
{

label46:
var16 = ((int *) var15)[79];
var17 = 0x00000004;
if (!(var16 == 0x00000000))
{
var17 = ((int *) var15)[15];
}
while (1) {
var20 = sceKernelGetSystemTimeLow ();
if (((var17 < (var20 - s7))) == 0x00000000)
continue;
break;
}
((int *) s5)[1073734108] = var14;
sub_01DDC (var14);
}
else
{
}
}
else
{
var15 = s5 + 0xFFFF8770;
goto label46;
}
if (var9 != 0x00000000)
{
var27 = s5 + 0xFFFF8770;
}
else
{
var23 = ((int *) s3)[1];
var24 = ((int *) s3)[2];
((int *) s3)[1] = (((var23 & 0xFFFEFFFF) | (0x00000000 & 0x00000001)) | 0x00080000);
if (!(var24 < 0))
{
sceKernelSignalSema (var24, 0x00000001);
}
var27 = s5 + 0xFFFF8770;
}
var28 = ((int *) sp)[0];
((int *) var27)[11] = 0x00000000;
sceKernelCpuResumeIntr (var28);
ra = ((int *) sp)[13];
var31 = ((int *) sp)[12];
var32 = ((int *) sp)[11];
var33 = ((int *) sp)[10];
var34 = ((int *) sp)[9];
var35 = ((int *) sp)[8];
var36 = ((int *) sp)[7];
var37 = ((int *) sp)[6];
var38 = ((int *) sp)[5];
var39 = ((int *) sp)[4];
sp = sp + 0x00000040;
return;
}

/**
* Subroutine at address 0x00000FCC
*/
void sub_00FCC (int arg1, int arg2)
{
var1 = s5 + 0xFFFF8770;
var2 = ((int *) var1)[75];
if (var2 == 0x00000000)
{
sub_00B1C (arg1, arg2);
}
else
{
var3 = ((unsigned char *) var1)[83];
var4 = ((unsigned char *) s3)[31];
s0 = (var3 & 0xFFFFFFDF) | (0x00000000 & 0x00000001);
var5 = !((var4 & 0x00000010)) ? s0 : (var3 | 0x00000020);
s1 = (fp ^ var5) | var5;
((char *) var1)[83] = var5;
if ((s1 & 0x00000020) == 0x00000000)
{
sub_00B14 ();
}
else
{
var6 = var1 + 0x00000050;
var7 = ((int *) var6)[2];
if (var7 == 0x00000000)
{
sub_00B14 ();
}
else
{
s2 = ((int *) var6)[3];
s0 = gp;
gp = s2;
var8 = ((int *) var6)[4];
sub_00B04 ();
}
}
}
return;
}

/**
* Subroutine at address 0x00001030
*/
void sub_01030 ()
{
if ((t7 & 0x00000020) == 0x00000000)
{
sub_008BC ();
}
else
{
var1 = v1 + 0x00000050;
var2 = ((int *) var1)[2];
if (var2 == 0x00000000)
{
sub_008BC ();
}
else
{
s0 = ((int *) var1)[3];
s6 = gp;
gp = s0;
var3 = ((int *) var1)[4];
var6 var7 = (*var2) (((s2 >> 5) & 0x00000001), var3, var2, arg4, arg5, arg6, arg7, arg8);
var8 = gp;
gp = s6;
sub_008BC ();
}
}
return;
}

/**
* Subroutine at address 0x00001070
*/
void sub_01070 ()
{
var1 = ((int *) s3)[1];
var2 = ((unsigned char *) s3)[12];
((int *) s3)[1] = (var1 | 0x00800000);
sub_00B18 ();
return;
}

/**
* Subroutine at address 0x00001088
*/
int sceSysconCmdExec (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
var1 = arg1;
((int *) sp)[0] = s0;
((int *) sp)[2] = ra;
var2 = arg2;
var5 = sceKernelIsIntrContext ();
var6 = 0x80000030;
if (!(var5 != 0x00000000))
{
var7 = *((int *) 0x000088AC);
if (var7 != 0x00000000)
{

label9:
var9 = *((int *) 0x000088AC);
if (var9 == 0x00000000)
{
var11 = var2;

label13:
var14 = sceSysconCmdExecAsync (var1, var11, 0x00000000, 0x00000000);
var6 = var14;
if (!(var14 < 0))
{
var17 = sceSysconCmdSync (var1, 0x00000000);
var6 = var17;
}
}
else
{
__asm__ ("mfic $a3, $0;"
: "=r"(var10));
var6 = 0x80000031;
if (!(var10 != 0x00000000))
{
var11 = var2;
goto label13;
}
}
}
else
{
__asm__ ("mfic $a0, $0;"
: "=r"(var8));
var6 = 0x80000031;
if (!(var8 == 0x00000000))
{
goto label9;
}
}
}
ra = ((int *) sp)[2];
var18 = ((int *) sp)[1];
var19 = ((int *) sp)[0];
sp = sp + 0x00000010;
return var6;
}

/**
* Subroutine at address 0x0000113C
*/
int sceSysconCmdExecAsync (int arg1, int arg2, int arg3, int arg4)
{
sp = sp + 0xFFFFFFE0;
((int *) sp)[4] = s4;
((int *) sp)[3] = s3;
((int *) sp)[2] = s2;
var1 = 0x80250003;
var2 = arg2;
((int *) sp)[1] = s1;
((int *) sp)[0] = s0;
((int *) sp)[6] = ra;
((int *) sp)[5] = s5;
var3 = *((int *) 0x000087A0);
var4 = arg1;
if (!(var3 != 0x00000000))
{
if ((arg2 & 0x00000100) != 0x00000000)
{
}
else
{
var5 = ((unsigned char *) var4)[13];
var6 = 0x00000000;
var7 = 0x00000000;
if (!(var5 == 0x00000000))
{
while (1) {
var8 = ((unsigned char *) (var4 + var7))[12];
var7 = var7 + 0x00000001;
var6 = var6 + var8;
if (((var7 < var5)) != 0x00000000)
continue;
break;
}
}
var9 = var5 + 0x00000001;
((char *) (var4 + var5))[12] = (!var6);
if (!(((var9 < 0x00000010)) == 0x00000000))
{
while (1) {
var9 = var9 + 0x00000001;
((char *) (var4 + var9))[12] = 0xFFFFFFFF;
if (((var9 < 0x00000010)) != 0x00000000)
continue;
break;
}
}
}
var10 = var4 + 0x0000001C;
var11 = 0x0000000F;
while (1) {
var11 = var11 + 0xFFFFFFFF;
((char *) var10)[0] = 0xFFFFFFFF;
var10 = var10 + 0x00000001;
if (var11 >= 0)
continue;
break;
}
var14 = sceKernelCpuSuspendIntr ();
((int *) var4)[1] = ((var2 & 0x0000FFFF) | 0x00010000);
((int *) var4)[2] = 0xFFFFFFFF;
((int *) var4)[11] = arg3;
((int *) var4)[0] = 0x00000000;
var15 = gp;
var16 = ((unsigned char *) var4)[12];
((int *) var4)[12] = var15;
var17 = !(((((char) var16) < 0x00000000))) ? ((var16 >> 5) & 0x00000007) : 0x00000000;
((int *) var4)[13] = arg4;
if (var17 != 0x00000000)
{
var45 = *((int *) 0x000087AC);
((int *) var4)[15] = var45;
}
else
{
((int *) var4)[15] = 0x00000000;
}
var18 = var17 << 0x00000002;
var19 = var18 + 0x00008770;
var20 = ((int *) var19)[1];
if (var20 == 0x00000000)
{
((int *) var19)[5] = var4;

label28:
((int *) var19)[1] = var4;
}
else
{
if ((var2 & 0x00000001) == 0x00000000)
{
var19 = var19 + 0x00000010;
var44 = ((int *) var19)[1];
((int *) var44)[0] = var4;
goto label28;
}
else
{
var21 = ((int *) var20)[1];
if (((var21 >> 17) & 0x00000003) != 0x00000000)
{
var43 = ((int *) var20)[0];
((int *) var4)[0] = var43;
((int *) var20)[0] = var4;
if (!(var43 != 0x00000000))
{
((int *) var19)[5] = var4;
}
}
else
{
((int *) var4)[0] = var20;
goto label28;
}
}
}
var22 = *((int *) 0x000088AC);
var23 = *((int *) 0x00008770);
if (var22 != 0x00000000)
{
*((int *) 0x00008770) = var4;
var32 = var4;

label49:
sub_01DDC (var32);
}
else
{
if (!(var23 != 0x00000000))
{
var24 = *((int *) 0x0000879C);
if (!(var24 != 0x00000000))
{
var25 = *((int *) 0x00008774);
if (!(var25 == 0x00000000))
{
if (var25 == var4)
{
var25 = !((var2 & 0x00000002)) ? var4 : 0x00000000;
}
}
if (!(var17 == 0x00000000))
{
if (var25 == 0x00000000)
{

label39:
var25 = ((int *) (var18 + 0x00008770))[1];
if (var25 == var4)
{
var25 = !((var2 & 0x00000002)) ? var4 : 0x00000000;
}
}
else
{
if (!((var2 & 0x00000001) == 0x00000000))
goto label39;
}
}
if (!(var25 == 0x00000000))
{
var26 = *((int *) 0x000088B0);
var27 = 0x00000004;
if (!(var26 == 0x00000000))
{
var27 = *((int *) 0x000087A8);
}
while (1) {
var30 = sceKernelGetSystemTimeLow ();
var31 = *((int *) 0x00008798);
var32 = var25;
if (((var27 < (var30 - var31))) == 0x00000000)
continue;
break;
}
*((int *) 0x00008770) = var25;
goto label49;
}
}
}
}
sceKernelCpuResumeIntr (var14);
var1 = 0x00000000;
}
ra = ((int *) sp)[6];
var37 = ((int *) sp)[5];
var38 = ((int *) sp)[4];
var39 = ((int *) sp)[3];
var40 = ((int *) sp)[2];
var41 = ((int *) sp)[1];
var42 = ((int *) sp)[0];
sp = sp + 0x00000020;
return var1;
}

/**
* Subroutine at address 0x000013CC
*/
void sceSysconCmdCancel (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
var1 = arg1;
((int *) sp)[2] = ra;
((int *) sp)[0] = s0;
var4 = sceKernelCpuSuspendIntr ();
var5 = ((unsigned char *) var1)[12];
var6 = ((var5 >> 5) & 0x00000007) << 0x00000002;
if (((char) var5) < 0)
{
var6 = 0x00000000;
}
var7 = ((int *) (0x00008770 + var6))[1];
var8 = 0x80000025;
var9 = 0x00000000;
if (!(var7 == 0x00000000))
{
while (1) {
if (var7 == var1)
{
var14 = ((int *) var7)[1];
var8 = 0x80000021;
if (!((var14 & 0x00020000) != 0x00000000))
{
if (var9 == 0x00000000)
{
var19 = ((unsigned char *) var7)[12];
var20 = ((var19 >> 5) & 0x00000007) << 0x00000002;
if (((char) var19) < 0)
{
var20 = 0x00000000;
}
var21 = ((int *) var7)[0];
((int *) (0x00008770 + var20))[1] = var21;
}
else
{
var15 = ((int *) var7)[0];
((int *) var9)[0] = var15;
}
var16 = ((int *) var7)[0];
var8 = 0x00000000;
if (!(var16 != 0x00000000))
{
var17 = ((unsigned char *) var1)[12];
var18 = (((var17 >> 5) & 0x00000007) << 0x00000002) + 0x00000010;
if (((char) var17) < 0)
{
var18 = 0x00000010;
}
((int *) (0x00008770 + var18))[1] = var9;
var8 = 0x00000000;
}
}
}
else
{
var9 = var7;
var7 = ((int *) var7)[0];
if (var7 != 0x00000000)
continue;
break;
}
}
}
sceKernelCpuResumeIntr (var4);
ra = ((int *) sp)[2];
var12 = ((int *) sp)[1];
var13 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000014EC
*/
int sceSysconCmdSync (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
var1 = arg1;
((int *) sp)[3] = ra;
((int *) sp)[2] = s2;
((int *) sp)[1] = s1;
if (arg2 != 0x00000000)
{
var13 = 0x80000107;
if (!(arg2 != 0x00000001))
{
if (var1 == 0x00000000)
{
var44 = *((int *) 0x00008774);
if (var44 != 0x00000000)
{
var13 = 0x00000001;
}
else
{
var45 = *((int *) 0x00008778);
if (var45 != 0x00000000)
{
var13 = 0x00000001;
}
else
{
var46 = *((int *) 0x0000877C);
if (var46 != 0x00000000)
{
var13 = 0x00000001;
}
else
{
var47 = *((int *) 0x00008780);
var13 = 0x00000000;
if (!(var47 == 0x00000000))
{
var13 = 0x00000001;
}
}
}
}
}
else
{
var3 = ((int *) var1)[1];
var13 = 0x00000001;
if (!((var3 & 0x00080000) == 0x00000000))
{

label55:
var13 = 0x80250002;
if (!((var3 & 0x00B00000) != 0x00000000))
{
var14 = ((unsigned char *) var1)[30];
var15 = var14 & 0x000000FF;
var13 = var15 | 0x80250000;
if (!(((var15 >> 0x00000007) & ((0x00000000 < (var15 ^ 0x00000082)))) != 0x00000000))
{
var16 = ((unsigned char *) var1)[12];
var13 = 0x00000000;
if (!(((var16 < 0x00000020)) != 0x00000000))
{
var13 = 0x80250004;
if (!(((char) var14) >= 0))
{
var13 = 0x00000000;
}
}
}
}
}
}
}
}
else
{
var2 = *((int *) 0x000088AC);
if (var2 == 0x00000000)
{
var22 = sceKernelIsIntrContext ();
var13 = 0x80000030;
if (!(var22 != 0x00000000))
{
var25 = sceKernelCpuSuspendIntr ();
var26 = var25;
if (var25 == 0x00000000)
{
sceKernelCpuResumeIntr (0x00000000);
var13 = 0x80000031;
}
else
{
var27 = ((int *) var1)[1];
if ((var27 & 0x00080000) == 0x00000000)
{
var32 = sceKernelCreateSema ("SceSysconSync", 0x00000001, 0x00000000, 0x00000001, 0x00000000);
var33 = var32;
if (var32 < 0)
{
sceKernelCpuResumeIntr (var26);
var13 = var33;
}
else
{
((int *) var1)[2] = var32;
sceKernelCpuResumeIntr (var26);
sceKernelWaitSema (var33, 0x00000001, 0x00000000);
sceKernelDeleteSema (var33);
var3 = ((int *) var1)[1];

label54:
goto label55;
}
}
else
{
sceKernelCpuResumeIntr (var25);
var3 = ((int *) var1)[1];
goto label54;
}
}
}
}
else
{
var3 = ((int *) var1)[1];
if ((var3 & 0x00080000) != 0x00000000)
{
}
else
{
while (1) {
var6 = sceKernelGetSystemTimeLow ();
var7 = *((int *) 0x00008798);
if ((((var6 - var7) < 0x00000005)) != 0x00000000)
continue;
while (1) {
var10 = sceGpio_driver_D2F4B351 (0x00000004);
if (var10 == 0x00000000)
continue;
break;
}
sub_00798 ();
var3 = ((int *) var1)[1];
if ((var3 & 0x00080000) == 0x00000000)
continue;
break;
}
goto label54;
}
goto label55;
}
}
ra = ((int *) sp)[3];
var17 = ((int *) sp)[2];
var18 = ((int *) sp)[1];
var19 = ((int *) sp)[0];
sp = sp + 0x00000010;
return var13;
}

/**
* Subroutine at address 0x0000171C
*/
int sub_0171C (int arg1, int arg2)
{
sp = sp + 0xFFFFFF80;
((int *) sp)[28] = s0;
var1 = arg1;
((int *) sp)[29] = ra;
var2 = sp;
var3 = 0x80000103;
if (!(var1 == 0x00000000))
{
((char *) sp)[13] = 0x00000002;
((char *) sp)[12] = arg2;
var6 = sceSysconCmdExec (var2, 0x00000000);
var3 = var6;
if (!(var6 < 0))
{
var7 = ((unsigned char *) sp)[29];
var8 = sp + 0x00000060;
var9 = sp + 0x0000001F;
var3 = 0x80250001;
if (!(((((var7 + 0xFFFFFFFC) & 0x000000FF) < 0x00000004)) == 0x00000000))
{
((int *) sp)[24] = 0x00000000;
memcpy (var8, var9, ((var7 & 0x000000FF) + 0xFFFFFFFD));
var3 = 0x00000000;
var12 = ((int *) sp)[24];
((int *) var1)[0] = var12;
}
}
}
ra = ((int *) sp)[29];
var13 = ((int *) sp)[28];
sp = sp + 0x00000080;
return var3;
}

/**
* Subroutine at address 0x000017B0
*/
void module_start ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sceSysconInit ();
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000017D0
*/
void module_reboot_before ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
*((int *) 0x000087A0) = 0x00000001;
((int *) sp)[1] = ra;
var3 = sceSysconCmdSync (0x00000000, 0x00000001);
if (var3 != 0x00000000)
{
Kprintf (0x00004344);
while (1) {
var19 = sceSysconCmdSync (0x00000000, 0x00000001);
if (var19 == 0x00000000)
break;
sceKernelDelayThread (0x000003E8);
continue;
}
}
var4 = *((int *) 0x00008770);
if (var4 != 0x00000000)
{
while (1) {
sceKernelDelayThread (0x000186A0);
var14 = *((int *) 0x00008770);
if (var14 != 0x00000000)
continue;
break;
}
}
sceKernelUnregisterSysEventHandler (0x000086C0);
InterruptManagerForKernel_169FC5A3 (0x00000004, 0x00000004);
sceKernelReleaseSubIntrHandler (0x00000004, 0x00000004);
ra = ((int *) sp)[1];
var11 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000188C
*/
void sceSysconEnd ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
var1 = *((int *) 0x00008770);
((int *) sp)[1] = ra;
if (var1 != 0x00000000)
{
while (1) {
sceKernelDelayThread (0x000186A0);
var11 = *((int *) 0x00008770);
if (var11 != 0x00000000)
continue;
break;
}
}
else
{
}
sceKernelUnregisterSysEventHandler (0x000086C0);
InterruptManagerForKernel_169FC5A3 (0x00000004, 0x00000004);
sceKernelReleaseSubIntrHandler (0x00000004, 0x00000004);
ra = ((int *) sp)[1];
var8 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000018FC
*/
void sceSysconSuspend ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
InterruptManagerForKernel_169FC5A3 (0x00000004, 0x00000004);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001920
*/
void sceSysconSetDebugHandlers (int arg1)
{
*((int *) 0x00008794) = arg1;
return;
}

/**
* Subroutine at address 0x00001930
*/
void sceSyscon_driver_9BCA6696 (int arg1)
{
*((int *) 0x000088AC) = arg1;
return;
}

/**
* Subroutine at address 0x00001940
*/
void sceSyscon_driver_F84A89D8 (int arg1)
{
*((int *) 0x000088B0) = arg1;
return;
}

/**
* Subroutine at address 0x00001950
*/
int sceSyscon_driver_2B476F99 ()
{
var1 = *((int *) 0x00008888);
return var1;
}

/**
* Subroutine at address 0x0000195C
*/
int sceSyscon_driver_CE4E279F ()
{
var1 = *((int *) 0x000088A0);
var2 = *((int *) 0x000088A4);
return var1 var2;
}

/**
* Subroutine at address 0x00001970
*/
int sub_01970 ()
{
var1 = *((int *) 0x000088A8);
return var1;
}

/**
* Subroutine at address 0x0000197C
*/
void sceSyscon_driver_42017C02 ()
{
var1 = *((unsigned short *) 0x0000888A);
var2 = 0x00000001;
var3 = var1 & 0x000000F0;
if ((((var3 < 0x00000001)) | (((var3 ^ 0x00000010) < 0x00000001))) != 0x00000000)
{

label4:
var2 = 0x00000000;
}
else
{
if (!(((((var1 & 0x000000FF) + 0xFFFFFFE0) < 0x00000002)) == 0x00000000))
goto label4;
}
return;
}

/**
* Subroutine at address 0x000019C0
*/
void sceSyscon_driver_16F83552 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x0000000A);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000019DC
*/
void sceSyscon_driver_CF99ED19 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000000);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000019F8
*/
void sceSyscon_driver_3A70B71D (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000001);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001A14
*/
void sceSyscon_driver_438C658E (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000002);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001A30
*/
void sceSyscon_driver_BC848718 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000003);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001A4C
*/
void sceSyscon_driver_2488E5CA (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x0000000F);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001A68
*/
void sceSyscon_driver_01E12195 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000004);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001A84
*/
void sceSyscon_driver_AAF38DB3 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000008);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001AA0
*/
void sceSyscon_driver_CBE3A52C (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x0000000E);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001ABC
*/
void sceSyscon_driver_5CF32EC9 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000005);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001AD8
*/
void sceSyscon_driver_10FAC159 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000009);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001AF4
*/
void sceSyscon_driver_4FD80E69 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x0000000B);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001B10
*/
void sceSyscon_driver_2917B656 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x0000000D);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001B2C
*/
void sceSyscon_driver_E4B39D21 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x0000000C);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001B48
*/
void sceSyscon_driver_E5D8370D (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000006);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001B64
*/
void sceSyscon_driver_AD5A6748 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sub_01D68 (arg1, arg2, 0x00000007);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001B80
*/
int sub_01B80 (int arg1, int arg2, int arg3)
{
sp = sp + 0xFFFFFF90;
var1 = sp;
((int *) sp)[24] = ra;
((char *) sp)[12] = arg2;
((char *) sp)[13] = arg3;
((char *) sp)[15] = (arg1 >> 0x00000008);
((char *) sp)[16] = (arg1 >> 0x00000010);
((char *) sp)[17] = (arg1 >> 0x00000018);
((char *) sp)[14] = arg1;
var4 = sceSysconCmdExec (var1, 0x00000000);
ra = ((int *) sp)[24];
sp = sp + 0x00000070;
return (MIN (var4, 0x00000000));
}

/**
* Subroutine at address 0x00001BD4
*/
void sceSysconGetBaryonStatus ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001BE0
*/
void sceSysconGetBaryonStatus2 ()
{
var1 = *((unsigned char *) 0x000087C5);
return;
}

/**
* Subroutine at address 0x00001BEC
*/
void sceSyscon_driver_1B3AF520 ()
{
var1 = *((char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001BFC
*/
void sceSyscon_driver_2AD83345 ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001C0C
*/
void sceSyscon_driver_50601CDB ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001C1C
*/
void sceSyscon_driver_C715A540 ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001C30
*/
void sceSyscon_driver_01C41628 ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001C40
*/
void sceSyscon_driver_288965D6 ()
{
var1 = *((char *) 0x000087B0);
return;
}

/**
* Subroutine at address 0x00001C4C
*/
void sceSyscon_driver_BDC8DF8E ()
{
var1 = *((char *) 0x000087B1);
return;
}

/**
* Subroutine at address 0x00001C58
*/
void sceSyscon_driver_0D25F4DA ()
{
var1 = *((char *) 0x000087B2);
return;
}

/**
* Subroutine at address 0x00001C64
*/
void sceSyscon_driver_70F257D9 ()
{
var1 = *((char *) 0x000087B3);
return;
}

/**
* Subroutine at address 0x00001C70
*/
void sceSysconGetUmdSwitch ()
{
var1 = *((char *) 0x000087B4);
return;
}

/**
* Subroutine at address 0x00001C7C
*/
void sceSyscon_driver_27AE4DD3 ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001C8C
*/
void sceSyscon_driver_EBB8F446 ()
{
var1 = *((unsigned char *) 0x000087C5);
return;
}

/**
* Subroutine at address 0x00001C9C
*/
void sceSyscon_driver_18CAFA4C ()
{
var1 = *((unsigned char *) 0x000087C3);
return;
}

/**
* Subroutine at address 0x00001CAC
*/
void sceSyscon_driver_52D5A1AA ()
{
var1 = *((unsigned char *) 0x000087C5);
return;
}

/**
* Subroutine at address 0x00001CBC
*/
void sceSyscon_driver_2D39F880 ()
{
var1 = *((unsigned char *) 0x000087C5);
return;
}

/**
* Subroutine at address 0x00001CCC
*/
void sceSyscon_driver_ABEBD2FB ()
{
var1 = *((char *) 0x000087B6);
return;
}

/**
* Subroutine at address 0x00001CD8
*/
void sceSyscon_driver_51471088 ()
{
var1 = *((char *) 0x000087B7);
return;
}

/**
* Subroutine at address 0x00001CE4
*/
void sceSyscon_driver_363EF26A ()
{
var1 = *((char *) 0x000087B8);
return;
}

/**
* Subroutine at address 0x00001CF0
*/
void sceSyscon_driver_8068CAED ()
{
var1 = *((char *) 0x000087B9);
return;
}

/**
* Subroutine at address 0x00001CFC
*/
void sceSyscon_driver_D3C4E912 ()
{
var1 = *((char *) 0x000087BA);
return;
}

/**
* Subroutine at address 0x00001D08
*/
void sceSyscon_driver_9292AA5D ()
{
var1 = *((char *) 0x000087BB);
return;
}

/**
* Subroutine at address 0x00001D14
*/
void sceSyscon_driver_2C7CF454 ()
{
var1 = *((char *) 0x000087BC);
return;
}

/**
* Subroutine at address 0x00001D20
*/
void sceSyscon_driver_4852C845 ()
{
var1 = *((char *) 0x000087BD);
return;
}

/**
* Subroutine at address 0x00001D2C
*/
void sceSyscon_driver_1EDCC983 ()
{
var1 = *((char *) 0x000087BE);
return;
}

/**
* Subroutine at address 0x00001D38
*/
void sceSyscon_driver_76B8D03B ()
{
var1 = *((char *) 0x000087BF);
return;
}

/**
* Subroutine at address 0x00001D44
*/
void sceSyscon_driver_41264341 ()
{
var1 = *((char *) 0x000087C0);
return;
}

/**
* Subroutine at address 0x00001D50
*/
void sceSyscon_driver_EB4CC30B ()
{
var1 = *((char *) 0x000087C1);
return;
}

/**
* Subroutine at address 0x00001D5C
*/
int sceSyscon_driver_14909C63 ()
{
var1 = *((char *) 0x000087C2);
return var1;
}

/**
* Subroutine at address 0x00001D68
*/
void sub_01D68 (int arg1, int arg2, int arg3)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
var1 = arg3;
((int *) sp)[2] = s2;
((int *) sp)[1] = s1;
((int *) sp)[3] = ra;
var4 = sceKernelCpuSuspendIntr ();
var5 = ((((var1 << 0x00000001) + var1) << 0x00000002) + 0x00008770) + 0x00000050;
((int *) var5)[2] = arg1;
var6 = gp;
((int *) var5)[4] = arg2;
((int *) var5)[3] = var6;
sceKernelCpuResumeIntr (var4);
ra = ((int *) sp)[3];
var9 = ((int *) sp)[2];
var10 = ((int *) sp)[1];
var11 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001DDC
*/
void sub_01DDC (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
((int *) sp)[0] = s0;
((int *) sp)[2] = ra;
var1 = arg1;
var4 = sceKernelGetSystemTimeLow ();
var5 = *((int *) 0x00008794);
((int *) var1)[14] = var4;
if (var5 != 0x00000000)
{
var29 = ((int *) var5)[1];
var32 var33 = (*var29) (var1);
}
sceGpio_driver_45CFF0FD ();
sceGpioPortClear (0x00000008);
var10 = *((int *) 0xBE58000C);
if (!((var10 & 0x00000004) == 0x00000000))
{
while (1) {
var11 = *((int *) 0xBE580008);
var12 = *((int *) 0xBE58000C);
if ((var12 & 0x00000004) != 0x00000000)
continue;
break;
}
}
var13 = *((int *) 0xBE58000C);
*((int *) 0xBE580020) = 0x00000003;
var14 = ((int *) var1)[1];
if ((var14 & 0x00040000) == 0x00000000)
{
var22 = ((unsigned char *) var1)[13];
var23 = var22 + 0x00000001;
var24 = 0x00000000;
if (var23 == 0x00000000)
{

label22:
}
else
{
var25 = var1;
var26 = ((unsigned char *) var25)[12];
while (1) {
var27 = ((unsigned char *) var25)[13];
var24 = var24 + 0x00000002;
var28 = *((int *) 0xBE58000C);
var25 = var25 + 0x00000002;
*((int *) 0xBE580008) = ((var26 << 0x00000008) | var27);
if (!(((var24 < var23)) != 0x00000000))
break;
var26 = ((unsigned char *) var25)[12];
continue;
}
}
}
else
{
var15 = ((unsigned char *) var1)[12];
*((int *) 0xBE580008) = ((var15 << 0x00000008) | 0x00000002);
var16 = ((unsigned char *) var1)[12];
*((int *) 0xBE580008) = (((var16 + 0x00000002) << 0x00000008) ^ 0x0000FFFF);
goto label22;
}
*((int *) 0xBE580004) = 0x00000006;
sceGpioPortSet (0x00000008);
var19 = ((int *) var1)[1];
ra = ((int *) sp)[2];
((int *) var1)[1] = (var19 | 0x00020000);
var20 = ((int *) sp)[1];
var21 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00001F20
*/
void sub_01F20 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
var1 = 0x00000000;
((int *) sp)[0] = s0;
var2 = arg1;
((int *) sp)[2] = ra;
var3 = *((int *) 0xBE58000C);
if (!((var3 & 0x00000004) != 0x00000000))
{
var4 = ((int *) arg1)[1];
((char *) var2)[28] = 0xFFFFFFFF;
var1 = 0xFFFFFFFF;
((int *) var2)[1] = (var4 | 0x00100000);
((char *) var2)[29] = 0x00000000;
var5 = 0x0000000E;
while (1) {
if (!(var5 >= 0))
break;
var5 = var5 + 0xFFFFFFFF;
continue;
}
}
var6 = *((int *) 0xBE58000C);
if (!((var6 & 0x00000001) != 0x00000000))
{
var7 = ((int *) var2)[1];
var1 = 0xFFFFFFFF;
((int *) var2)[1] = (var7 | 0x00200000);
}
var8 = *((int *) 0xBE580018);
if (!((var8 & 0x00000001) == 0x00000000))
{
*((int *) 0xBE580020) = 0x00000001;
var9 = ((int *) var2)[1];
((int *) var2)[1] = (var9 | 0x00400000);
}
var11 = var2;
while (1) {
var12 = *((int *) 0xBE58000C);
if ((var12 & 0x00000004) == 0x00000000)
break;
var13 = *((int *) 0xBE580008);
var14 = var13 & 0x0000FFFF;
var15 = var14 >> 0x00000008;
if (!(var10 != 0x00000000))
{
var1 = var15;
}
var10 = var10 + 0x00000002;
((char *) var11)[28] = var15;
((char *) var11)[29] = var14;
var11 = var11 + 0x00000002;
if (((var10 < 0x00000010)) != 0x00000000)
continue;
goto label18;
}

label18:
*((int *) 0xBE580004) = 0x00000004;
sceGpioPortClear (0x00000008);
var18 = *((int *) 0x00008794);
if (var18 != 0x00000000)
{
var29 = ((int *) var18)[2];
var32 var33 = (*var29) (var2);
}
if (var1 < 0)
{
var21 = ((int *) var2)[1];
}
else
{
var19 = ((unsigned char *) var2)[29];
var20 = 0x00000000;
if (((var19 < 0x00000003)) != 0x00000000)
{

label34:
var1 = 0xFFFFFFFE;
}
else
{
if (!(((var19 < 0x00000010)) != 0x00000000))
goto label34;
var24 = var19 + var2;
if (!(var19 == 0x00000000))
{
var25 = var2 + 0x0000001C;
var26 = var19;
while (1) {
var27 = ((unsigned char *) var25)[0];
var26 = var26 + 0xFFFFFFFF;
var25 = var25 + 0x00000001;
var20 = (var20 + var27) & 0x000000FF;
if (var26 != 0x00000000)
continue;
break;
}
var24 = var19 + var2;
}
var28 = ((unsigned char *) var24)[28];
var1 = ((var28 ^ ((!var20) & 0x000000FF))) ? 0xFFFFFFFE : var1;
}
var21 = ((int *) var2)[1];
}
ra = ((int *) sp)[2];
((int *) var2)[1] = ((var21 & 0xFFFDFFFF) | (0x00000000 & 0x00000001));
var22 = ((int *) sp)[1];
var23 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000020DC
*/
int sceSysconGetTimeStamp (int arg1)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[24] = s0;
var1 = arg1;
((int *) sp)[25] = ra;
var2 = sp;
var3 = 0x80000103;
if (!(var1 == 0x00000000))
{
((char *) sp)[12] = 0x00000011;
((char *) sp)[13] = 0x00000002;
var6 = sceSysconCmdExec (var2, 0x00000000);
var3 = var6;
if (!(var6 < 0))
{
var7 = LWL (sp, var6, 0x00000022);
var8 = LWR (sp, var7, 0x0000001F);
var9 = LWL (sp, var3, 0x00000026);
var10 = LWR (sp, var9, 0x00000023);
var11 = LWL (sp);
var12 = LWR (sp, var11, 0x00000027);
SWL (var1, var8, 0x00000003);
SWR (var1, var8, 0x00000000);
SWL (var1, var10, 0x00000007);
SWR (var1, var10, 0x00000004);
SWL (var1, var12, 0x0000000B);
SWR (var1, var12, 0x00000008);
var3 = 0x00000000;
((char *) var1)[12] = 0x00000000;
}
}
ra = ((int *) sp)[25];
var13 = ((int *) sp)[24];
sp = sp + 0x00000070;
return var3;
}

/**
* Subroutine at address 0x00002168
*/
void sceSyscon_driver_65EB6096 (int arg1, int arg2, int arg3)
{
var1 = arg3;
sp = sp + 0xFFFFFF90;
((int *) sp)[25] = ra;
((int *) sp)[24] = s0;
if ((((((arg3 + 0xFFFFFFFF) < 0x00000002)) ^ 0x00000001) & ((0x00000000 < (arg3 ^ 0x00000004)))) == 0x00000000)
{

label4:
if (var1 == 0x00000000)
{
__asm__ ("break 0x00007;");
}
var3 = (arg1 % var1);
var2 = 0x80000102;
if (!(var3 != 0x00000000))
{
var4 = var1 >> 0x00000001;
var5 = sp + 0x0000000F;
var2 = 0x80000102;
if (!((((arg1 + var1) < 0x00000021)) == 0x00000000))
{
((char *) sp)[12] = 0x00000023;
((char *) sp)[13] = (var1 + 0x00000003);
((char *) sp)[14] = ((arg1 << 0x00000002) | (!((var4 ^ 0x00000004)) ? 0x00000003 : var4));
memcpy (var5, arg2, var1);
var8 = sp;
var11 = sceSysconCmdExec (var8, 0x00000000);
var2 = MIN (var11, var3);
}
}
}
else
{
var2 = 0x80000104;
if (!(var1 != 0x00000008))
goto label4;
}
ra = ((int *) sp)[25];
var12 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x00002238
*/
void sceSyscon_driver_EB277C88 (int arg1, int arg2, int arg3)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[24] = s0;
var1 = arg3;
((int *) sp)[25] = s1;
((int *) sp)[26] = ra;
if ((((((arg3 + 0xFFFFFFFF) < 0x00000002)) ^ 0x00000001) & ((0x00000000 < (arg3 ^ 0x00000004)))) == 0x00000000)
{

label4:
if (var1 == 0x00000000)
{
__asm__ ("break 0x00007;");
}
var2 = 0x80000102;
if (!((arg1 % var1) != 0x00000000))
{
var3 = var1 >> 0x00000001;
var4 = sp;
var2 = 0x80000102;
if (!((((arg1 + var1) < 0x00000021)) == 0x00000000))
{
((char *) sp)[12] = 0x00000024;
((char *) sp)[13] = 0x00000003;
((char *) sp)[14] = ((arg1 << 0x00000002) | (!((var3 ^ 0x00000004)) ? 0x00000003 : var3));
var7 = sceSysconCmdExec (var4, 0x00000000);
var2 = var7;
var8 = sp + 0x0000001F;
if (!(var7 < 0))
{
memcpy (arg2, var8, var1);
var2 = 0x00000000;
}
}
}
}
else
{
var2 = 0x80000104;
if (!(var1 != 0x00000008))
goto label4;
}
ra = ((int *) sp)[26];
var11 = ((int *) sp)[25];
var12 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x00002318
*/
void sceSysconSendSetParam (int arg1, int arg2)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[25] = s1;
var1 = arg2;
((int *) sp)[24] = s0;
((int *) sp)[26] = ra;
var2 = arg1;
var5 = sceSyscon_driver_2B476F99 ();
var6 = (((var5 >> 16) & 0x000000FF) < 0x00000012);
if (var6 != 0x00000000)
{
var19 = sceSyscon_driver_2B476F99 ();
var6 = var19 & 0x000000FF;
if (var6 == 0x00000001)
{
var26 var6 = sceSyscon_driver_CE4E279F ();
if (((var6 < 0x0000002F)) == 0x00000000)
{

label18:
((char *) sp)[12] = 0x00000025;
((char *) sp)[13] = 0x0000000B;
var7 = LWL (var1, 0x0000000B, 0x00000003);
var8 = LWR (var1, var7, 0x00000000);
var9 = LWL (var1, var6, 0x00000007);
var10 = LWR (var1, var9, 0x00000004);
SWL (sp, var8, 0x00000011);
SWR (sp, var8, 0x0000000E);
SWL (sp, var10, 0x00000015);
SWR (sp, var10, 0x00000012);
((char *) sp)[22] = var2;
var11 = sp;

label19:
var14 = sceSysconCmdExec (var11, 0x00000000);
}
else
{
if (var6 != 0x0000002E)
{

label15:

label16:
if (!(var2 != 0x00000000))
{
((char *) sp)[12] = 0x00000025;
((char *) sp)[13] = 0x0000000A;
var20 = LWL (var1, 0x80250011, 0x00000003);
var21 = LWR (var1, var20, 0x00000000);
var22 = LWL (var1, var6, 0x00000007);
var23 = LWR (var1, var22, 0x00000004);
SWL (sp, var21, 0x00000011);
SWR (sp, var21, 0x0000000E);
SWL (sp, var23, 0x00000015);
SWR (sp, var23, 0x00000012);
var11 = sp;
goto label19;
}
}
else
{
if (((0xAF488299 < var26)) == 0x00000000)
goto label16;
goto label18;
}
}
}
else
goto label15;
}
else
goto label18;
ra = ((int *) sp)[26];
var15 = ((int *) sp)[25];
var16 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x00002430
*/
void sceSysconReceiveSetParam (int arg1, int arg2)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[25] = s1;
var1 = arg2;
((int *) sp)[24] = s0;
((int *) sp)[26] = ra;
var2 = arg1;
var5 = sceSyscon_driver_2B476F99 ();
if (((((var5 >> 16) & 0x000000FF) < 0x00000012)) != 0x00000000)
{
var19 = sceSyscon_driver_2B476F99 ();
if ((var19 & 0x000000FF) == 0x00000001)
{
var22 var23 = sceSyscon_driver_CE4E279F ();
if (((var23 < 0x0000002F)) == 0x00000000)
{

label16:

label17:
((char *) sp)[12] = 0x00000026;
((char *) sp)[13] = 0x00000003;
((char *) sp)[14] = var2;

label18:
var6 = sp;
var9 = sceSysconCmdExec (var6, 0x00000000);
var10 = var9;
if (!(var9 < 0))
{
var11 = LWL (sp, var9, 0x00000022);
var12 = LWR (sp, var11, 0x0000001F);
var13 = LWL (sp, var10, 0x00000026);
var14 = LWR (sp, var13, 0x00000023);
SWL (var1, var12, 0x00000003);
SWR (var1, var12, 0x00000000);
SWL (var1, var14, 0x00000007);
SWR (var1, var14, 0x00000004);
var10 = 0x00000000;
}
}
else
{
if (var23 != 0x0000002E)
{

label14:
var10 = 0x80250011;
if (!(var2 != 0x00000000))
{
((char *) sp)[12] = 0x00000026;
((char *) sp)[13] = 0x00000002;
goto label18;
}
}
else
{
if (((0xAF488299 < var22)) == 0x00000000)
goto label14;
goto label17;
}
}
}
else
goto label14;
}
else
goto label16;
ra = ((int *) sp)[26];
var15 = ((int *) sp)[25];
var16 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x0000252C
*/
void sceSyscon_driver_30A201CB (int arg1)
{
var1 = arg1;
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var2 = 0x800001FE;
if (!(((var1 < 0x00000080)) == 0x00000000))
{
var5 = sub_01B80 ((!(var1) ? 0x00000000 : (arg1 | 0x00000080)), 0x00000031, 0x00000003);
var2 = var5;
}
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002574
*/
void sceSysconResetDevice (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
var1 = arg2;
((int *) sp)[0] = s0;
((int *) sp)[3] = ra;
((int *) sp)[2] = s2;
if (arg1 == 0x00000001)
{
if (arg2 == arg1)
{

label7:
var4 = sub_01B80 (arg1, 0x00000032, 0x00000003);
var5 = var4;
if (var4 < 0)
{

label18:
}
else
{
if (!(((((arg1 ^ 0x00000004) < 0x00000001)) & ((var1 < 0x00000001))) != 0x00000000))
goto label18;
var11 = sceSyscon_driver_14909C63 ();
if (var11 != 0x00000001)
{
}
else
{
sceSysconCtrlLED (0x00000001, 0x00000001);
}
}
}
else
{
arg1 = 0x00000041;
if (arg2 == 0x00000002)
goto label7;
}
}
else
{
arg1 = (var1) ? (arg1 | 0x00000080) : arg1;
goto label7;
}
ra = ((int *) sp)[3];
var6 = ((int *) sp)[2];
var7 = ((int *) sp)[1];
var8 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000262C
*/
void sceSyscon_driver_A32A1CB5 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFE0;
((int *) sp)[4] = s4;
var1 = 0x00000000;
((int *) sp)[3] = s3;
((int *) sp)[2] = s2;
((int *) sp)[1] = s1;
((int *) sp)[0] = s0;
((int *) sp)[5] = ra;
var2 = arg1;
var5 = KDebugForKernel_E892D9A1 ();
var6 = var5;
if (!(var6 == 0x00000000))
{
var7 = ((int *) var6)[4];
var10 var11 = (*var7) ();
if (var10 == 0x0000534D)
{
var30 = ((int *) var6)[6];
var33 var34 = (*var30) (0x0000534D);
var1 = (var33 < 0x00000006);
}
}
*((char *) 0x00013FC0) = 0x00000036;
*((char *) 0x00013FC3) = (!(var2 + 0x00000039));
*((char *) 0x00013FC1) = 0x00000003;
*((char *) 0x00013FC2) = var2;
var14 = sceKernelCpuSuspendIntr ();
memcpy (0x00010000, 0x00000000, (0x00000218 - 0x00000000));
sceKernelDcacheWritebackAll ();
sceKernelIcacheInvalidateAll ();
var23 var24 = (*0x00010000) (0x00013FC0, var1, arg2);
ra = ((int *) sp)[5];
var25 = ((int *) sp)[4];
var26 = ((int *) sp)[3];
var27 = ((int *) sp)[2];
var28 = ((int *) sp)[1];
var29 = ((int *) sp)[0];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x00002720
*/
void sceSysconNop ()
{
sp = sp + 0xFFFFFF90;
var1 = sp;
((int *) sp)[24] = ra;
((char *) sp)[13] = 0x00000002;
((char *) sp)[12] = 0x00000000;
var4 = sceSysconCmdExec (var1, 0x00000000);
ra = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x0000274C
*/
int sceSysconGetBaryonVersion (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x00000001);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return var3;
}

/**
* Subroutine at address 0x00002768
*/
void sceSyscon_driver_06520158 ()
{
return;
}

/**
* Subroutine at address 0x00002774
*/
void sceSyscon_driver_5A7A7846 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x0000000B);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002790
*/
void sceSyscon_driver_EB207130 ()
{
return;
}

/**
* Subroutine at address 0x0000279C
*/
void sceSyscon_driver_6C6D811A (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x0000000E);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000027B8
*/
void sceSyscon_driver_FBA9D54F (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x0000000F);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000027D4
*/
void sceSyscon_driver_FDD14EBC (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sceSyscon_driver_2B476F99 ();
var5 = (var4 >> 0x00000010) & 0x000000F0;
var6 = 0x80000004;
if ((((var5 < 0x00000001)) | (((var5 ^ 0x00000010) < 0x00000001))) != 0x00000000)
{
((int *) var1)[0] = 0x00000000;
}
else
{
var9 = sub_0171C (var1, 0x00000012);
var6 = var9;
}
ra = ((int *) sp)[1];
var10 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000283C
*/
void sceSyscon_driver_267D3B79 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x00000009);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002858
*/
void sceSyscon_driver_B3839B85 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_01B80 (arg1, 0x00000020, 0x00000006);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002878
*/
void sceSyscon_driver_5539205B (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x0000000A);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002894
*/
void sceSyscon_driver_64F376EE (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_01B80 (arg1, 0x00000022, 0x00000006);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000028B4
*/
void sceSyscon_driver_7C25D023 (int arg1)
{
sp = sp + 0xFFFFFF90;
var1 = sp;
((int *) sp)[24] = ra;
((char *) sp)[12] = 0x00000021;
((char *) sp)[13] = 0x00000003;
((char *) sp)[14] = arg1;
var4 = sceSysconCmdExec (var1, (((arg1 & 0x00000003) < 0x00000001)));
ra = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x000028F0
*/
void sceSyscon_driver_4BBE8BA8 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x0000000C);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000290C
*/
void sceSyscon_driver_1FBF8E80 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_01B80 (arg1, 0x00000033, 0x00000003);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000292C
*/
void sceSyscon_driver_3362B1D0 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var3 = sub_01B80 (arg1, 0x00000034, 0x00000003);
if (!(var3 < 0))
{
*((char *) 0x000087C1) = arg1;
}
ra = ((int *) sp)[1];
var4 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002964
*/
void sceSyscon_driver_55BAFF1B ()
{
*((char *) 0x00013FC3) = 0xFFFFFFFF;
sp = sp + 0xFFFFFFF0;
*((char *) 0x00013FC1) = 0x00000002;
*((char *) 0x00013FC0) = 0x00000035;
*((char *) 0x00013FC2) = 0xFFFFFFC8;
((int *) sp)[0] = ra;
var3 = sceKernelCpuSuspendIntr ();
sub_00000 ();
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000029C0
*/
int sceSyscon_driver_998591F7 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var3 = sub_01B80 ((((arg2 & 0x00000001) << 0x00000017) | ((arg1 & 0x003FFFFF) | (0x00000000 & 0x000003FF))), 0x00000045, 0x00000005);
if (!(var3 < 0))
{
var6 = sub_03950 ();
}
ra = ((int *) sp)[1];
var7 = ((int *) sp)[0];
sp = sp + 0x00000010;
return var3;
}

/**
* Subroutine at address 0x00002A10
*/
void sceSysconCtrlLED (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[2] = ra;
((int *) sp)[1] = s1;
if (arg1 == 0x00000001)
{
var1 = 0x00000080;
*((char *) 0x000087C2) = arg2;

label12:
var6 = 0x00000000;
if (arg2 != 0x00000000)
{
var14 = sceSyscon_driver_2B476F99 ();
var15 = (var14 >> 0x00000010) & 0x000000F0;
var6 = !((((var15 < 0x00000001)) | (((var15 ^ 0x00000010) < 0x00000001)))) ? 0x00000001 : 0x00000010;
}
var9 = sub_01B80 ((var1 | var6), 0x00000047, 0x00000003);
var5 = var9;
}
else
{
var1 = 0x00000040;
if (arg1 == 0x00000000)
goto label12;
if (arg1 == 0x00000002)
{
var1 = 0x00000020;
goto label12;
}
else
{
if (arg1 != 0x00000003)
{
var5 = 0x80000102;
}
else
{
var1 = 0x00000010;
var4 = sub_03950 ();
var5 = 0x80000004;
if (!(((var4 < 0x00000300)) != 0x00000000))
goto label12;
}
}
}
ra = ((int *) sp)[2];
var10 = ((int *) sp)[1];
var11 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002AE4
*/
void sceSyscon_driver_C5898670 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sub_03950 ();
var5 = 0x80000004;
if (!(((var4 < 0x00000300)) != 0x00000000))
{
var5 = 0x00000000;
if (((var4 < 0x00000301)) == 0x00000000)
{
var9 = sub_01B80 (var1, 0x00000052, 0x00000003);
var5 = var9;
if (!(var9 < 0))
{
*((char *) 0x000087BA) = var1;
}
}
}
ra = ((int *) sp)[1];
var6 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002B50
*/
void sceSyscon_driver_D8F0B7C7 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sceSyscon_driver_2B476F99 ();
var5 = (var4 >> 0x00000010) & 0x000000F0;
if ((((var5 < 0x00000001)) | (((var5 ^ 0x00000010) < 0x00000001))) == 0x00000000)
{
var13 = sub_01B80 (var1, 0x00000056, 0x00000003);
ra = ((int *) sp)[1];
}
else
{
if (var1 == 0x00000000)
{
sub_02C9C ();
ra = ((int *) sp)[1];
}
else
{
sub_02C14 ();
ra = ((int *) sp)[1];
}
}
var8 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002BCC
*/
void sceSyscon_driver_581D72B2 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sub_03950 ();
var7 = sceSyscon_driver_998591F7 ((!(((var4 < 0x00000300))) ? 0x00000002 : 0x00000008), var1);
if (!(var7 < 0))
{
*((char *) 0x000087BF) = var1;
}
ra = ((int *) sp)[1];
var8 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002C14
*/
void sub_02C14 ()
{
sp = sp + 0xFFFFFF80;
((char *) sp)[12] = 0x0000004F;
var1 = sp;
((char *) sp)[14] = 0x00000002;
((int *) sp)[28] = ra;
((char *) sp)[13] = 0x00000003;
var4 = sceSysconCmdExec (var1, 0x00000000);
var5 = var4;
if (!(var4 < 0))
{
((int *) sp)[24] = 0x00000000;
var5 = 0x00000000;
var6 = ((char *) sp)[31];
var7 = ((char *) sp)[32];
((char *) sp)[96] = var6;
((char *) sp)[97] = var7;
}
var8 = ((int *) sp)[24];
if (!(var5 < 0))
{
((int *) sp)[24] = ((var8 & 0xFFFFFDFF) | (0x00000000 & 0x00000001));
var11 = sub_01B80 ((((var8 & 0x0000FDFF) << 0x00000008) | 0x00000002), 0x0000004E, 0x00000005);
var5 = var11;
}
ra = ((int *) sp)[28];
sp = sp + 0x00000080;
return;
}

/**
* Subroutine at address 0x00002C9C
*/
void sub_02C9C ()
{
sp = sp + 0xFFFFFF80;
((char *) sp)[12] = 0x0000004F;
var1 = sp;
((char *) sp)[14] = 0x00000002;
((int *) sp)[28] = ra;
((char *) sp)[13] = 0x00000003;
var4 = sceSysconCmdExec (var1, 0x00000000);
var5 = var4;
if (!(var4 < 0))
{
((int *) sp)[24] = 0x00000000;
var5 = 0x00000000;
var6 = ((char *) sp)[31];
var7 = ((char *) sp)[32];
((char *) sp)[96] = var6;
((char *) sp)[97] = var7;
}
var8 = ((int *) sp)[24];
if (!(var5 < 0))
{
var9 = var8 | 0x00000200;
((int *) sp)[24] = var9;
var12 = sub_01B80 ((((var9 & 0x0000FFFF) << 0x00000008) | 0x00000002), 0x0000004E, 0x00000005);
var5 = var12;
}
ra = ((int *) sp)[28];
sp = sp + 0x00000080;
return;
}

/**
* Subroutine at address 0x00002D24
*/
int sceSysconGetPommelVersion (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x00000040);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return var3;
}

/**
* Subroutine at address 0x00002D40
*/
void sceSyscon_driver_FB148FB6 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x00000041);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002D5C
*/
int sceSyscon_driver_37C2BE22 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
var1 = arg1;
((int *) sp)[0] = s0;
((int *) sp)[2] = ra;
var4 = sub_03950 ();
if (var4 == 0x00000100)
{

label6:
var8 = sub_01B80 ((((arg2 & 0x0000FFFF) << 0x00000008) | (var1 & 0x000000FF)), 0x00000042, 0x00000005);
var5 = var8;
}
else
{
var5 = 0x80000004;
if (!((((var1 + 0xFFFFFFFC) < 0x00000002)) != 0x00000000))
goto label6;
}
ra = ((int *) sp)[2];
var9 = ((int *) sp)[1];
var10 = ((int *) sp)[0];
sp = sp + 0x00000010;
return var5;
}

/**
* Subroutine at address 0x00002DD0
*/
void sceSyscon_driver_3EC75905 ()
{
return;
}

/**
* Subroutine at address 0x00002DDC
*/
void sceSyscon_driver_1CC8491B ()
{
return;
}

/**
* Subroutine at address 0x00002DE8
*/
int sceSyscon_driver_D2D8E0DC (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_0171C (arg1, 0x00000046);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return var3;
}

/**
* Subroutine at address 0x00002E04
*/
void sceSysconWritePommelReg (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_01B80 ((((arg2 & 0x0000FFFF) << 0x00000008) | (arg1 & 0x000000FF)), 0x00000048, 0x00000005);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002E38
*/
void sceSysconReadPommelReg (int arg1, int arg2)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[24] = s0;
var1 = arg2;
var2 = sp;
((char *) sp)[12] = 0x00000049;
((int *) sp)[25] = ra;
((char *) sp)[13] = 0x00000003;
((char *) sp)[14] = arg1;
var5 = sceSysconCmdExec (var2, 0x00000000);
var6 = var5;
if (!(var5 < 0))
{
((int *) var1)[0] = 0x00000000;
var6 = 0x00000000;
var7 = ((char *) sp)[31];
var8 = ((char *) sp)[32];
((char *) var1)[0] = var7;
((char *) var1)[1] = var8;
}
ra = ((int *) sp)[25];
var9 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x00002EA0
*/
void sceSyscon_driver_CBF530C3 (int arg1)
{
if (arg1 != 0x00000000)
{
((int *) arg1)[0] = 0x00000000;
}
return;
}

/**
* Subroutine at address 0x00002EB0
*/
void sceSysconCtrlLeptonPower (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var3 = sub_01B80 (arg1, 0x0000004B, 0x00000003);
if (!(var3 < 0))
{
*((char *) 0x000087B6) = arg1;
}
ra = ((int *) sp)[1];
var4 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002EE8
*/
void sceSyscon_driver_583C0A71 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var3 = sub_01B80 (arg1, 0x0000004C, 0x00000003);
if (!(var3 < 0))
{
*((char *) 0x000087B7) = arg1;
}
ra = ((int *) sp)[1];
var4 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002F20
*/
void sceSyscon_driver_12DE9052 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
((int *) sp)[0] = s0;
((int *) sp)[2] = ra;
var1 = arg1;
var4 = sub_01B80 (arg1, 0x0000004D, 0x00000003);
var5 = var4;
if (var4 < 0)
{

label13:
}
else
{
*((char *) 0x000087B8) = var1;
if (!(var1 != 0x00000000))
goto label13;
var10 = sceSyscon_driver_14909C63 ();
if (var10 != 0x00000001)
{
}
else
{
sceSysconCtrlLED (0x00000001, 0x00000001);
}
}
ra = ((int *) sp)[2];
var6 = ((int *) sp)[1];
var7 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002F94
*/
void sceSyscon_driver_DAD4A4F2 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sub_03950 ();
var5 = 0x80000004;
if (!(((var4 < 0x00000300)) != 0x00000000))
{
var8 = sub_01B80 (var1, 0x0000004A, 0x00000003);
var5 = var8;
if (!(var8 < 0))
{
*((char *) 0x000087B9) = var1;
}
}
ra = ((int *) sp)[1];
var9 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00002FF0
*/
void sceSyscon_driver_3BDBE4A8 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var3 = sub_01B80 (arg1, 0x00000053, 0x00000003);
if (!(var3 < 0))
{
*((char *) 0x000087BB) = arg1;
}
ra = ((int *) sp)[1];
var4 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003028
*/
void sceSyscon_driver_5E20DCCE (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sceSyscon_driver_2B476F99 ();
var5 = var4 >> 0x00000010;
var6 = var5 & 0x000000F0;
var7 = 0x80000004;
if (!((((var6 < 0x00000001)) | (((var6 ^ 0x00000010) < 0x00000001))) != 0x00000000))
{
if (((((var5 & 0x000000FF) + 0xFFFFFFE0) < 0x00000002)) == 0x00000000)
{
var11 = sub_01B80 (var1, 0x00000055, 0x00000003);
if (!(var11 < 0))
{
*((char *) 0x000087BC) = var1;
}
var7 = var11;
}
}
ra = ((int *) sp)[1];
var8 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000030B0
*/
void sceSyscon_driver_5D20FC9E ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sceSyscon_driver_D8F0B7C7 (0x00000001);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000030CC
*/
void sceSyscon_driver_696CC9A7 ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sceSyscon_driver_D8F0B7C7 (0x00000000);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000030E8
*/
void sceSyscon_driver_1A5750B6 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sub_03950 ();
var5 = 0x80000004;
if (!(var4 != 0x00000100))
{
var8 = sceSyscon_driver_998591F7 (0x00000002, var1);
if (!(var8 < 0))
{
*((char *) 0x000087BD) = var1;
}
var5 = var8;
}
ra = ((int *) sp)[1];
var9 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003144
*/
void sceSyscon_driver_8219478D (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sub_03950 ();
var5 = 0x80000004;
if (!(var4 != 0x00000100))
{
var8 = sceSyscon_driver_998591F7 (0x00000004, var1);
if (!(var8 < 0))
{
*((char *) 0x000087BE) = var1;
}
var5 = var8;
}
ra = ((int *) sp)[1];
var9 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000031A0
*/
void sceSyscon_driver_74136BA4 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var1 = arg1;
var4 = sub_03950 ();
var5 = 0x80000004;
if (!(((var4 < 0x00000300)) == 0x00000000))
{
var8 = sceSyscon_driver_998591F7 (0x00080000, var1);
var5 = var8;
if (!(var8 < 0))
{
*((char *) 0x000087C0) = var1;
}
}
ra = ((int *) sp)[1];
var9 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000031F8
*/
void sceSyscon_driver_2FBCD7CA ()
{
return;
}

/**
* Subroutine at address 0x00003204
*/
void sceSyscon_driver_B86A5F5F ()
{
return;
}

/**
* Subroutine at address 0x00003210
*/
void sceSyscon_driver_806D4D6C (int arg1, int arg2)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_01B80 ((((arg2 & 0x0000FFFF) << 0x00000008) | (arg1 & 0x000000FF)), 0x0000004E, 0x00000005);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003244
*/
void sceSyscon_driver_D8471760 (int arg1, int arg2)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[24] = s0;
var1 = arg2;
var2 = sp;
((char *) sp)[12] = 0x0000004F;
((int *) sp)[25] = ra;
((char *) sp)[13] = 0x00000003;
((char *) sp)[14] = arg1;
var5 = sceSysconCmdExec (var2, 0x00000000);
var6 = var5;
if (!(var5 < 0))
{
((int *) var1)[0] = 0x00000000;
var6 = 0x00000000;
var7 = ((char *) sp)[31];
var8 = ((char *) sp)[32];
((char *) var1)[0] = var7;
((char *) var1)[1] = var8;
}
ra = ((int *) sp)[25];
var9 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x000032AC
*/
void sceSyscon_driver_2C03E53E ()
{
return;
}

/**
* Subroutine at address 0x000032B8
*/
void sceSyscon_driver_BF458F40 ()
{
return;
}

/**
* Subroutine at address 0x000032C4
*/
void sceSyscon_driver_D8386254 (int arg1, int arg2)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[25] = s1;
var1 = arg2;
((int *) sp)[24] = s0;
var2 = arg1;
var3 = sp;
((char *) sp)[12] = 0x00000061;
((int *) sp)[26] = ra;
((char *) sp)[13] = 0x00000002;
var6 = sceSysconCmdExec (var3, 0x00000000);
var7 = var6;
if (!(var6 < 0))
{
var8 = ((unsigned char *) sp)[31];
if (!(var2 == 0x00000000))
{
((int *) var2)[0] = var8;
}
var9 = ((unsigned char *) sp)[33];
if (!(var1 == 0x00000000))
{
var10 = ((unsigned char *) sp)[32];
((int *) var1)[0] = ((var9 << 0x00000008) | var10);
}
var7 = 0x00000000;
}
ra = ((int *) sp)[26];
var11 = ((int *) sp)[25];
var12 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x00003340
*/
void sceSyscon_driver_0D348514 (int arg1)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[24] = s0;
var1 = arg1;
var2 = sp;
((char *) sp)[12] = 0x0000006D;
((int *) sp)[25] = ra;
((char *) sp)[13] = 0x00000002;
var5 = sceSysconCmdExec (var2, 0x00000000);
var6 = var5;
if (!(var5 < 0))
{
var7 = ((unsigned char *) sp)[32];
if (!(var1 == 0x00000000))
{
var8 = ((unsigned char *) sp)[31];
var9 = ((unsigned char *) sp)[33];
var10 = ((unsigned char *) sp)[34];
var11 = ((unsigned char *) sp)[35];
((int *) var1)[3] = var11;
((int *) var1)[0] = ((var7 << 0x00000008) | var8);
((int *) var1)[1] = var9;
((int *) var1)[2] = var10;
}
var6 = 0x00000000;
}
ra = ((int *) sp)[25];
var12 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x000033BC
*/
void sceSyscon_driver_35FB2C54 (int arg1, int arg2)
{
sp = sp + 0xFFFFFFE0;
((int *) sp)[5] = s1;
var1 = arg2;
((int *) sp)[4] = s0;
((int *) sp)[6] = ra;
var2 = arg1;
var5 = sceSyscon_driver_2B476F99 ();
var6 = var5 >> 0x00000010;
var7 = var6 & 0x000000FF;
if ((var6 & 0x000000F0) != 0x00000020)
{

label15:

label16:
var9 = 0x80000004;
}
else
{
if (((var7 < 0x00000022)) != 0x00000000)
goto label16;
var8 = sp;
if (!(((var7 < 0x00000029)) == 0x00000000))
goto label15;
var14 = sub_0171C (var8, 0x00000037);
var9 = var14;
if (!(var14 < 0))
{
var15 = ((unsigned char *) sp)[2];
if (!(var2 == 0x00000000))
{
((int *) var2)[0] = var15;
}
var16 = ((unsigned short *) sp)[0];
if (!(var1 == 0x00000000))
{
((int *) var1)[0] = var16;
}
var9 = 0x00000000;
}
}
ra = ((int *) sp)[6];
var10 = ((int *) sp)[5];
var11 = ((int *) sp)[4];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x00003454
*/
void sceSyscon_driver_226088A4 ()
{
sp = sp + 0xFFFFFF90;
var1 = sp;
((int *) sp)[24] = ra;
((char *) sp)[12] = 0x00000060;
((char *) sp)[13] = 0x00000002;
var4 = sceSysconCmdExec (var1, 0x00000000);
ra = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

/**
* Subroutine at address 0x0000348C
*/
void sceSyscon_driver_9842C612 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000062, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000034AC
*/
void sceSyscon_driver_DFACF2E9 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000063, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000034CC
*/
void sceSyscon_driver_32ABC387 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000064, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000034EC
*/
void sceSyscon_driver_7E9822D9 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000065, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000350C
*/
void sceSyscon_driver_72EF5D2A (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000066, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000352C
*/
void sceSyscon_driver_97C22A57 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000067, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000354C
*/
void sceSyscon_driver_CA0EC475 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000068, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000356C
*/
void sceSyscon_driver_FE394DB5 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000069, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x0000358C
*/
void sceSyscon_driver_361A758E (int arg1)
{
sp = sp + 0xFFFFFFE0;
((int *) sp)[4] = s0;
var1 = sp;
var2 = arg1;
((int *) sp)[5] = ra;
var5 = sub_03720 (0x0000006A, var1);
var6 = var5;
if (!(var5 < 0))
{
var7 = ((unsigned char *) sp)[0];
if (!(var2 == 0x00000000))
{
((int *) var2)[0] = var7;
}
var6 = 0x00000000;
}
ra = ((int *) sp)[5];
var8 = ((int *) sp)[4];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x000035D4
*/
void sceSyscon_driver_34A76CEE (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x0000006B, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000035F4
*/
void sceSyscon_driver_1829F79B (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x0000006C, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003614
*/
void sceSyscon_driver_3E971652 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x0000006E, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003634
*/
void sceSyscon_driver_B06D23A0 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x0000006F, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003654
*/
void sceSyscon_driver_C408710F (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000070, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003674
*/
void sceSyscon_driver_63CBD409 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000071, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003694
*/
void sceSyscon_driver_17EE8DD8 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sub_03720 (0x00000072, arg1);
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000036B4
*/
void sceSyscon_driver_BFAF302C (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
((int *) sp)[1] = ra;
var3 = sceSyscon_driver_2B476F99 ();
var4 = var3 >> 0x00000010;
var5 = var4 & 0x000000FF;
var6 = 0x80000004;
if (!((var4 & 0x000000F0) != 0x00000020))
{
if (!(((var5 < 0x00000022)) != 0x00000000))
{
if (((var5 < 0x00000029)) == 0x00000000)
{
var10 = sub_0171C (arg1, 0x0000000D);
var6 = var10;
}
}
}
ra = ((int *) sp)[1];
var7 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00003720
*/
int sub_03720 (int arg1, int arg2)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[25] = s1;
((int *) sp)[24] = s0;
((int *) sp)[26] = ra;
var3 = sceSyscon_driver_2B476F99 ();
var4 = var3 >> 0x00000010;
var5 = var4 & 0x000000FF;
if ((var4 & 0x000000F0) == 0x00000020)
{
if (((var5 < 0x00000022)) != 0x00000000)
{
var6 = sp;

label10:
((char *) sp)[12] = arg1;
((char *) sp)[13] = 0x00000002;
var9 = sceSysconCmdExec (var6, 0x00000000);
var10 = var9;
if (!(var9 < 0))
{
var11 = ((unsigned char *) sp)[29];
if (var11 == 0x00000004)
{
var16 = ((char *) sp)[31];

label21:
((int *) arg2)[0] = var16;
var10 = 0x00000000;
}
else
{
if (var11 == 0x00000005)
{
var22 = ((unsigned char *) sp)[32];
var23 = ((unsigned char *) sp)[31];
var16 = (char) (var23 | (var22 << 0x00000008));
goto label21;
}
else
{
if (var11 == 0x00000006)
{
var19 = ((unsigned char *) sp)[33];
var20 = ((unsigned char *) sp)[32];
var21 = ((unsigned char *) sp)[31];
var16 = (((var19 << 0x00000018) | (var20 << 0x00000010)) >> 0x00000008) | var21;
goto label21;
}
else
{
var10 = 0x80250001;
if (!(var11 != 0x00000007))
{
var12 = ((unsigned char *) sp)[34];
var13 = ((unsigned char *) sp)[33];
var14 = ((unsigned char *) sp)[32];
var15 = ((unsigned char *) sp)[31];
var16 = (((var12 << 0x00000018) | (var13 << 0x00000010)) | (var14 << 0x00000008)) | var15;
goto label21;
}
}
}
}
}
}
else
{
var10 = 0x80000004;
if (!(((var5 < 0x00000029)) == 0x00000000))
{
var6 = sp;
goto label10;
}
}
}
else
{
var6 = sp;
goto label10;
}
ra = ((int *) sp)[26];
var17 = ((int *) sp)[25];
var18 = ((int *) sp)[24];
sp = sp + 0x00000070;
return var10;
}

/**
* Subroutine at address 0x0000384C
*/
void sceSyscon_driver_A195AA7F (int arg1)
{
sp = sp + 0xFFFFFFE0;
((int *) sp)[6] = s2;
var1 = arg1;
var2 = sp;
((int *) sp)[4] = s0;
((int *) sp)[7] = ra;
((int *) sp)[5] = s1;
var5 = sceSyscon_driver_D2D8E0DC (var2);
var6 = var5;
if (var5 < 0)
{

label28:
}
else
{
var7 = 0x00000000;
var10 = sceSyscon_driver_2B476F99 ();
var11 = (var10 >> 0x00000010) & 0x000000F0;
if ((((var11 < 0x00000001)) | (((var11 ^ 0x00000010) < 0x00000001))) == 0x00000000)
{
var30 = ((int *) sp)[0];
var17 = var1;
if ((var30 & 0x00000002) != 0x00000000)
{

label22:
var20 = sceSyscon_driver_37C2BE22 (0x00000001, var17);
var6 = var20;
if (!(var7 != 0x00000000))
goto label28;
var26 = sceSyscon_driver_998591F7 (var7, 0x00000000);
}
else
{
var7 = 0x00000002;

label16:
if (var7 != 0x00000000)
{
var29 = sceSyscon_driver_998591F7 (var7, 0x00000001);
if (var29 >= 0)
{

label21:
var17 = var1;
goto label22;
}
else
{
}
}
else
goto label21;
}
}
else
{
var12 = ((int *) sp)[0];
var7 = ((var12 & 0x00000008)) ? 0x00000000 : 0x00000008;
var15 = sub_03950 ();
var16 = ((int *) sp)[0];
if (var15 == 0x00000100)
{
var7 = !((var16 & 0x00000004)) ? (var7 | 0x00000004) : var7;
if (!((var16 & 0x00000002) != 0x00000000))
{
var7 = var7 | 0x00000002;
}
}
goto label16;
}
}
ra = ((int *) sp)[7];
var21 = ((int *) sp)[6];
var22 = ((int *) sp)[5];
var23 = ((int *) sp)[4];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x00003950
*/
int sub_03950 ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
var3 = sceSyscon_driver_2B476F99 ();
var4 = var3 >> 0x00000010;
var5 = var4 & 0x000000F0;
if (var5 != 0x00000000)
{
var9 = 0x00000200;
if (!(var5 == 0x00000010))
{
var10 = var4 & 0x000000FF;
if ((((var10 + 0xFFFFFFE0) < 0x00000002)) != 0x00000000)
{

label13:
var16 = sub_01970 ();
var6 = var16 ^ 0x00000120;
var7 = 0x00000300;
var8 = 0x00000301;

label29:
var9 = (var6) ? var8 : var7;
}
else
{
if (var5 == 0x00000020)
{
var11 = var4 & 0x000000F0;
if (((var10 < 0x00000022)) != 0x00000000)
{

label17:

label18:
var12 = var4 & 0x000000FF;
if (var11 != 0x00000020)
{
var9 = 0xFFFFFFFF;
}
else
{
if (((var12 < 0x00000022)) != 0x00000000)
{
var9 = 0xFFFFFFFF;
}
else
{
var13 = (var12 < 0x0000002A);
if (((var12 < 0x00000025)) != 0x00000000)
{

label25:
if (var13 != 0x00000000)
{
var9 = 0xFFFFFFFF;
}
else
{
var9 = 0x00000400;
}
}
else
{
var9 = 0x00000400;
if (!(((var12 < 0x00000029)) != 0x00000000))
{
var13 = (var12 < 0x0000002A);
goto label25;
}
}
}
}
}
else
{
if (((var10 < 0x00000025)) != 0x00000000)
goto label13;
if (!(var10 != 0x00000029))
goto label13;
goto label18;
}
}
else
{
var11 = var4 & 0x000000F0;
goto label17;
}
}
}
}
else
{
var6 = ((var3 >> 8) & 0x000000FF) ^ 0x00000001;
var7 = 0x00000000;
var8 = 0x00000100;
goto label29;
}
ra = ((int *) sp)[0];
sp = sp + 0x00000010;
return var9;
}

/**
* Subroutine at address 0x00003A3C
*/
void sceSyscon_driver_18655BBE (int arg1)
{
sp = sp + 0xFFFFFF90;
((int *) sp)[24] = s0;
var1 = arg1;
((char *) sp)[13] = 0x00000002;
((char *) sp)[12] = 0x00000002;
((int *) sp)[25] = ra;
var2 = sp;
var5 = sceSysconCmdExec (var2, 0x00000000);
var6 = var5;
if (!(var5 < 0))
{
var7 = ((char *) sp)[31];
var8 = ((char *) sp)[32];
((char *) var1)[0] = var7;
((char *) var1)[1] = var8;
var6 = 0x00000000;
}
ra = ((int *) sp)[25];
var9 = ((int *) sp)[24];
sp = sp + 0x00000070;
return;
}

#ifndef __SYSCON_H
#define __SYSCON_H

/*
* Exports from library: syslib
*/
void module_start (void);
void module_reboot_before (void);

/*
* Exports from library: sceSyscon_driver
*/
void sceSyscon_driver_01C41628 (void);
void sceSyscon_driver_01E12195 (void);
void sceSyscon_driver_06520158 (void);
void sceSysconSuspend (void);
void sceSysconReceiveSetParam (void);
void sceSysconInit (void);
void sceSyscon_driver_0D25F4DA (void);
void sceSyscon_driver_0D348514 (void);
void sceSyscon_driver_10FAC159 (void);
void sceSyscon_driver_12DE9052 (void);
void sceSysconGetUmdSwitch (void);
void sceSyscon_driver_14909C63 (void);
void sceSysconCmdCancel (void);
void sceSyscon_driver_16F83552 (void);
void sceSyscon_driver_17EE8DD8 (void);
void sceSyscon_driver_1829F79B (void);
void sceSyscon_driver_18655BBE (void);
void sceSysconCtrlLED (void);
void sceSyscon_driver_18CAFA4C (void);
void sceSyscon_driver_1A5750B6 (void);
void sceSyscon_driver_1B3AF520 (void);
void sceSyscon_driver_1CC8491B (void);
void sceSyscon_driver_1EDCC983 (void);
void sceSyscon_driver_1FBF8E80 (void);
void sceSysconGetBaryonStatus2 (void);
void sceSyscon_driver_226088A4 (void);
void sceSyscon_driver_2488E5CA (void);
void sceSyscon_driver_267D3B79 (void);
void sceSyscon_driver_27AE4DD3 (void);
void sceSyscon_driver_288965D6 (void);
void sceSyscon_driver_2917B656 (void);
void sceSyscon_driver_2AD83345 (void);
void sceSyscon_driver_2B476F99 (void);
void sceSyscon_driver_2C03E53E (void);
void sceSyscon_driver_2C7CF454 (void);
void sceSyscon_driver_2D39F880 (void);
void sceSyscon_driver_2FBCD7CA (void);
void sceSyscon_driver_30A201CB (void);
void sceSyscon_driver_32ABC387 (void);
void sceSyscon_driver_3362B1D0 (void);
void sceSyscon_driver_34A76CEE (void);
void sceSyscon_driver_35FB2C54 (void);
void sceSyscon_driver_361A758E (void);
void sceSyscon_driver_363EF26A (void);
void sceSyscon_driver_37C2BE22 (void);
void sceSyscon_driver_3A70B71D (void);
void sceSysconCmdExecAsync (void);
void sceSyscon_driver_3BDBE4A8 (void);
void sceSysconReadPommelReg (void);
void sceSyscon_driver_3E971652 (void);
void sceSyscon_driver_3EC75905 (void);
void sceSyscon_driver_41264341 (void);
void sceSyscon_driver_42017C02 (void);
void sceSyscon_driver_438C658E (void);
void sceSyscon_driver_4852C845 (void);
void sceSyscon_driver_4BBE8BA8 (void);
void sceSyscon_driver_4FD80E69 (void);
void sceSyscon_driver_50601CDB (void);
void sceSyscon_driver_51471088 (void);
void sceSyscon_driver_52D5A1AA (void);
void sceSyscon_driver_5539205B (void);
void sceSyscon_driver_55BAFF1B (void);
void sceSysconResume (void);
void sceSyscon_driver_581D72B2 (void);
void sceSyscon_driver_583C0A71 (void);
void sceSyscon_driver_5A7A7846 (void);
void sceSysconCmdExec (void);
void sceSyscon_driver_5CF32EC9 (void);
void sceSyscon_driver_5D20FC9E (void);
void sceSyscon_driver_5E20DCCE (void);
void sceSysconSetDebugHandlers (void);
void sceSyscon_driver_63CBD409 (void);
void sceSyscon_driver_64F376EE (void);
void sceSyscon_driver_65EB6096 (void);
void sceSyscon_driver_696CC9A7 (void);
void sceSyscon_driver_6C6D811A (void);
void sceSyscon_driver_70F257D9 (void);
void sceSyscon_driver_72EF5D2A (void);
void sceSyscon_driver_74136BA4 (void);
void sceSyscon_driver_76B8D03B (void);
void sceSysconGetTimeStamp (void);
void sceSyscon_driver_7C25D023 (void);
void sceSyscon_driver_7E9822D9 (void);
void sceSysconGetBaryonVersion (void);
void sceSyscon_driver_8068CAED (void);
void sceSyscon_driver_806D4D6C (void);
void sceSyscon_driver_8219478D (void);
void sceSysconGetBaryonStatus (void);
void sceSysconCtrlLeptonPower (void);
void sceSysconResetDevice (void);
void sceSyscon_driver_9292AA5D (void);
void sceSysconEnd (void);
void sceSyscon_driver_97C22A57 (void);
void sceSyscon_driver_9842C612 (void);
void sceSysconSendSetParam (void);
void sceSyscon_driver_998591F7 (void);
void sceSyscon_driver_9BCA6696 (void);
void sceSyscon_driver_A195AA7F (void);
void sceSyscon_driver_A32A1CB5 (void);
void sceSyscon_driver_AAF38DB3 (void);
void sceSyscon_driver_ABEBD2FB (void);
void sceSyscon_driver_AD5A6748 (void);
void sceSyscon_driver_B06D23A0 (void);
void sceSyscon_driver_B3839B85 (void);
void sceSyscon_driver_B86A5F5F (void);
void sceSyscon_driver_BC848718 (void);
void sceSyscon_driver_BDC8DF8E (void);
void sceSyscon_driver_BF458F40 (void);
void sceSyscon_driver_BFAF302C (void);
void sceSyscon_driver_C408710F (void);
void sceSyscon_driver_C5898670 (void);
void sceSyscon_driver_C715A540 (void);
void sceSyscon_driver_CA0EC475 (void);
void sceSyscon_driver_CBE3A52C (void);
void sceSyscon_driver_CBF530C3 (void);
void sceSyscon_driver_CE4E279F (void);
void sceSyscon_driver_CF99ED19 (void);
void sceSysconWritePommelReg (void);
void sceSyscon_driver_D2D8E0DC (void);
void sceSyscon_driver_D3C4E912 (void);
void sceSyscon_driver_D8386254 (void);
void sceSyscon_driver_D8471760 (void);
void sceSyscon_driver_D8F0B7C7 (void);
void sceSyscon_driver_DAD4A4F2 (void);
void sceSyscon_driver_DFACF2E9 (void);
void sceSyscon_driver_E4B39D21 (void);
void sceSyscon_driver_E5D8370D (void);
void sceSysconNop (void);
void sceSysconGetPommelVersion (void);
void sceSyscon_driver_EB207130 (void);
void sceSyscon_driver_EB277C88 (void);
void sceSyscon_driver_EB4CC30B (void);
void sceSyscon_driver_EBB8F446 (void);
void sceSysconCmdSync (void);
void sceSyscon_driver_F84A89D8 (void);
void sceSyscon_driver_FB148FB6 (void);
void sceSyscon_driver_FBA9D54F (void);
void sceSyscon_driver_FDD14EBC (void);
void sceSyscon_driver_FE394DB5 (void);

#endif /* __SYSCON_H */
Если что, то вот HTML-версия дизасма (http://www.pspx.ru/forum/showpost.php?p=886690&postcount=29).

Да, ещё у пандоры есть странный файл SCONS.PRX

#include <pspsdk.h>
#include "scons.h"

/**
* Subroutine at address 0x00000000
*/
void sceScons_driver_0C945DA7 (int arg1)
{
var1 = *((int *) 0x000032A8);
var2 = (arg1 & 0x00FFFFFF) | (0x00000000 & 0x000000FF);
var3 = 0x00000000;
if (var1 <= 0)
{

label8:
var6 = *((int *) 0x000032A8);
if (((var6 < 0x00000010)) == 0x00000000)
{
*((int *) 0x000032A0) = 0x00000001;
}
else
{
((int *) ((var6 << 0x00000002) + 0x00003270))[15] = var2;
*((int *) 0x000032A0) = var6;
*((int *) 0x000032A8) = (var6 + 0x00000001);
}
}
else
{
var4 = 0x000032AC;
var5 = *((int *) 0x000032AC);
while (1) {
var4 = var4 + 0x00000004;
if (var5 == var2)
{
*((int *) 0x000032A0) = var3;
}
else
{
var3 = var3 + 0x00000001;
if (!(((var3 < var1)) != 0x00000000))
break;
var5 = ((int *) var4)[0];
continue;
}
goto label12;
}
goto label8;
}

label12:
return;
}

/**
* Subroutine at address 0x00000080
*/
void sceScons_driver_E2B10E52 (int arg1)
{
var1 = *((int *) 0x000032A8);
var2 = (arg1 & 0x00FFFFFF) | (0x00000000 & 0x000000FF);
var3 = 0x00000000;
if (var1 <= 0)
{

label8:
var6 = *((int *) 0x000032A8);
if (((var6 < 0x00000010)) == 0x00000000)
{
*((int *) 0x000032A4) = 0x00000000;
}
else
{
((int *) ((var6 << 0x00000002) + 0x00003270))[15] = var2;
*((int *) 0x000032A4) = var6;
*((int *) 0x000032A8) = (var6 + 0x00000001);
}
}
else
{
var4 = 0x000032AC;
var5 = *((int *) 0x000032AC);
while (1) {
var4 = var4 + 0x00000004;
if (var5 == var2)
{
*((int *) 0x000032A4) = var3;
}
else
{
var3 = var3 + 0x00000001;
if (!(((var3 < var1)) != 0x00000000))
break;
var5 = ((int *) var4)[0];
continue;
}
goto label11;
}
goto label8;
}

label11:
return;
}

/**
* Subroutine at address 0x000000FC
*/
void sceScons_driver_BE375902 ()
{
var1 = *((int *) 0x000032A4);
var2 = *((unsigned char *) 0x000032A0);
var3 = 0x00000000;
var4 = 0x00000000;
while (1) {
var5 = 0x00000000;
while (1) {
var5 = var5 + 0x00000001;
((char *) ((var4 + 0x000027D0) + var5))[0] = 0x00000000;
((char *) ((var4 + 0x00002D20) + var5))[0] = (var2 | (var1 << 0x00000004));
if (((var5 < 0x00000050)) != 0x00000000)
continue;
break;
}
var3 = var3 + 0x00000001;
var4 = var4 + 0x00000050;
if (((var3 < 0x00000011)) != 0x00000000)
continue;
break;
}
*((int *) 0x0000329C) = 0x00000000;
*((int *) 0x00003298) = 0x00000000;
return;
}

/**
* Subroutine at address 0x00000174
*/
void sceScons_driver_89580971 (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[1] = s1;
((int *) sp)[0] = s0;
var1 = *((int *) 0x000032A4);
var2 = *((unsigned char *) 0x000032A0);
var3 = *((int *) 0x00003298);
var4 = (char) arg1;
var5 = (var2 | (var1 << 0x00000004)) & 0x000000FF;
var6 = *((int *) 0x0000329C);
if (var4 == 0x00000009)
{
var25 = var3 + 0x00000008;
var26 = *((int *) 0x00003290);
var27 = MIN ((((var25 + ((var25 >> 0x0000001F) >> 0x0000001D)) & 0xFFFFFFF8) | (0x00000000 & 0x00000007)), var26);
if (((var3 < var27)) == 0x00000000)
{

label11:
}
else
{
var28 = ((var6 << 0x00000002) + var6) << 0x00000004;
while (1) {
var3 = var3 + 0x00000001;
((char *) ((var28 + 0x000027D0) + var3))[0] = 0x00000020;
((char *) ((var28 + 0x00002D20) + var3))[0] = var5;
if (((var3 < var27)) != 0x00000000)
continue;
break;
}
}
}
else
{
if (var4 == 0x0000000A)
{
var3 = 0x00000000;
var6 = var6 + 0x00000001;
}
else
{
var7 = ((var6 << 0x00000002) + var6) << 0x00000004;
((char *) ((var7 + 0x000027D0) + var3))[0] = var4;
var3 = var3 + 0x00000001;
((char *) ((var7 + 0x00002D20) + var3))[0] = var5;
}
goto label11;
}
var8 = *((int *) 0x00003290);
var9 = *((int *) 0x00003294);
if (!(((var3 < var8)) != 0x00000000))
{
var3 = 0x00000000;
var6 = var6 + 0x00000001;
}
var10 = ((int *) sp)[1];
if (!(((var6 < var9)) != 0x00000000))
{
var11 = var9 + 0xFFFFFFFF;
var12 = 0x00000000;
if (!(var11 <= 0))
{
var13 = 0x00000000;
while (1) {
var14 = 0x00000000;
if (!(((0x00000000 < var8)) == 0x00000000))
{
var15 = *((int *) 0x00003290);
while (1) {
var16 = (var13 + 0x000027D0) + var14;
var17 = (var13 + 0x00002D20) + var14;
var18 = ((unsigned char *) var16)[80];
var19 = ((unsigned char *) var17)[80];
var14 = var14 + 0x00000001;
((char *) var16)[0] = var18;
((char *) var17)[0] = var19;
if (((var14 < var15)) != 0x00000000)
continue;
break;
}
}
var12 = var12 + 0x00000001;
var13 = var13 + 0x00000050;
if (((var12 < var11)) != 0x00000000)
continue;
break;
}
}
var20 = *((int *) 0x00003294);
var21 = *((int *) 0x00003290);
var22 = 0x00000000;
var6 = var20 + 0xFFFFFFFF;
if (!(var21 <= 0))
{
var23 = ((var6 << 0x00000002) + var6) << 0x00000004;
while (1) {
var22 = var22 + 0x00000001;
((char *) ((var23 + 0x000027D0) + var22))[0] = 0x00000020;
((char *) ((var23 + 0x00002D20) + var22))[0] = var5;
if (((var22 < var21)) != 0x00000000)
continue;
break;
}
}
var10 = ((int *) sp)[1];
}
var24 = ((int *) sp)[0];
*((int *) 0x0000329C) = var6;
*((int *) 0x00003298) = var3;
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00000388
*/
void sceScons_driver_963408BA ()
{
var1 = *((int *) 0x00003270);
sp = sp + 0xFFFFFFA0;
((int *) sp)[20] = fp;
((int *) sp)[19] = s7;
((int *) sp)[18] = s6;
((int *) sp)[17] = s5;
((int *) sp)[16] = s4;
((int *) sp)[15] = s3;
((int *) sp)[14] = s2;
((int *) sp)[13] = s1;
((int *) sp)[12] = s0;
if (!(var1 == 0x00000000))
{
var2 = *((int *) 0x0000327C);
var3 = var2;
if (!(var2 == 0x00000003))
{
var4 = 0x00003270;
var5 = sp;
var6 = 0x0000000F;
while (1) {
var7 = ((int *) var4)[15];
var8 = ((unsigned char *) var4)[60];
var9 = 0x00000000;
var10 = (var7 >> 16) & 0x000000FF;
var11 = var7 >> 0x00000018;
var12 = (var7 >> 8) & 0x000000FF;
var13 = var12 << 0x00000005;
var14 = (((var11 << 0x0000000F) | (var10 << 0x0000000A)) | var13) | var8;
if (var3 == 0x00000001)
{

label10:
var9 = var14 & 0x0000FFFF;
}
else
{
if (((var2 < 0x00000002)) == 0x00000000)
{
if (!(var3 != 0x00000002))
{
var9 = ((((var11 << 0x0000000C) | (var10 << 0x00000008)) | (var12 << 0x00000004)) | var8) & 0x0000FFFF;
}
}
else
{
var14 = ((var10 << 0x0000000B) | var13) | var8;
if (var3 == 0x00000000)
goto label10;
}
}
var6 = var6 + 0xFFFFFFFF;
((short *) var5)[0] = var9;
var4 = var4 + 0x00000004;
var5 = var5 + 0x00000002;
if (var6 >= 0)
continue;
break;
}
}
var15 = *((int *) 0x00003294);
var16 = 0x00000000;
((int *) sp)[8] = 0x00000000;
if (!(var15 <= 0))
{
((int *) sp)[10] = 0x00000000;
while (1) {
var17 = *((int *) 0x00003290);
var18 = 0x00000000;
var19 = 0x00000000;
if (!(var17 <= 0))
{
var20 = *((int *) 0x00003288);
var21 = *((int *) 0x00003270);
var22 = ((int *) sp)[10];
((int *) sp)[9] = var20;
((int *) sp)[11] = var21;
while (1) {
var23 = ((unsigned char *) ((var22 + 0x000027D0) + var19))[0];
var24 = *((int *) 0x0000328C);
var25 = ((int *) sp)[9];
var26 = *((int *) 0x00003284);
var27 = ((unsigned char *) ((var22 + 0x00002D20) + var19))[0];
var28 = 0x00000000;
var29 = var25 + (var23 * var24);
if (!(var26 <= 0))
{
var30 = var27 & 0x0000000F;
var31 = var27 >> 0x00000004;
var32 = (var30 << 0x00000001) + sp;
var33 = ((int *) sp)[11];
var34 = (var31 << 0x00000001) + sp;
while (1) {
var35 = *((int *) 0x0000327C);
var36 = ((unsigned char *) var29)[0];
if (var35 == 0x00000003)
{
var61 = *((int *) 0x00003274);
var62 = *((int *) 0x00003270);
var63 = *((int *) 0x00003280);
var64 = ((int *) ((var30 << 0x00000002) + 0x00003270))[15];
var65 = (((var61 * (var16 + var28)) + var18) << 0x00000002) + var62;
var66 = ((int *) ((var31 << 0x00000002) + 0x00003270))[15];
var67 = 0x00000000;
if (var63 <= 0)
{

label32:
var44 = *((int *) 0x00003284);
}
else
{
while (1) {
if (((var36 >> var67) & 0x00000001) == 0x00000000)
{
((int *) var65)[0] = var66;
}
else
{
((int *) var65)[0] = var64;
}
var68 = *((int *) 0x00003280);
var67 = var67 + 0x00000001;
var65 = var65 + 0x00000004;
if (((var67 < var68)) != 0x00000000)
continue;
break;
}
var44 = *((int *) 0x00003284);
}
}
else
{
var37 = *((int *) 0x00003274);
var38 = *((int *) 0x00003280);
var39 = ((unsigned short *) var34)[0];
var40 = ((unsigned short *) var32)[0];
var41 = 0x00000000;
var42 = (((var37 * (var16 + var28)) + var18) << 0x00000001) + var33;
if (!(var38 <= 0))
{
var43 = *((int *) 0x00003280);
while (1) {
if (((var36 >> var41) & 0x00000001) == 0x00000000)
{
((short *) var42)[0] = var39;
}
else
{
((short *) var42)[0] = var40;
}
var41 = var41 + 0x00000001;
var42 = var42 + 0x00000002;
if (((var41 < var43)) != 0x00000000)
continue;
break;
}
}
goto label32;
}
var28 = var28 + 0x00000001;
var29 = var29 + 0x00000001;
if (((var28 < var44)) != 0x00000000)
continue;
break;
}
}
var45 = *((int *) 0x00003290);
var46 = *((int *) 0x00003280);
var19 = var19 + 0x00000001;
var18 = var18 + var46;
if (((var19 < var45)) != 0x00000000)
continue;
break;
}
}
var47 = ((int *) sp)[8];
var48 = ((int *) sp)[10];
var49 = *((int *) 0x00003294);
var50 = *((int *) 0x00003284);
var51 = var47 + 0x00000001;
((int *) sp)[8] = var51;
var16 = var16 + var50;
((int *) sp)[10] = (var48 + 0x00000050);
if (((var51 < var49)) != 0x00000000)
continue;
break;
}
}
}
var52 = ((int *) sp)[20];
var53 = ((int *) sp)[19];
var54 = ((int *) sp)[18];
var55 = ((int *) sp)[17];
var56 = ((int *) sp)[16];
var57 = ((int *) sp)[15];
var58 = ((int *) sp)[14];
var59 = ((int *) sp)[13];
var60 = ((int *) sp)[12];
sp = sp + 0x00000060;
return;
}

/**
* Subroutine at address 0x000006B4
*/
void module_start ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
var1 = 0x0000000F;
*((int *) 0x00003270) = 0x00000000;
var2 = 0x000032AC;
((int *) sp)[1] = ra;
*((int *) 0x00003288) = 0x0000163C;
*((int *) 0x00003280) = 0x00000008;
*((int *) 0x00003284) = 0x00000010;
*((int *) 0x0000328C) = 0x00000010;
if (0x00000008 == 0x00000000)
{
__asm__ ("break 0x00007;");
}
*((int *) 0x00003290) = (0x000001E0 / 0x00000008);
*((int *) 0x000032A8) = 0x00000000;
*((int *) 0x00003294) = (0x00000110 / 0x00000010);
while (1) {
var1 = var1 + 0xFFFFFFFF;
((int *) var2)[0] = 0x00000000;
var2 = var2 + 0x00000004;
if (var1 >= 0)
continue;
break;
}
sceScons_driver_E2B10E52 (0x00000000);
sceScons_driver_0C945DA7 (0xFFFFFFFF);
*((int *) 0x0000329C) = 0x00000000;
*((int *) 0x00003298) = 0x00000000;
sceScons_driver_BE375902 ();
ra = ((int *) sp)[1];
var9 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00000764
*/
void sceScons_driver_EFFFA6A8 ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
var1 = 0x0000000F;
*((int *) 0x00003270) = 0x00000000;
var2 = 0x000032AC;
((int *) sp)[1] = ra;
*((int *) 0x00003288) = 0x0000163C;
*((int *) 0x00003280) = 0x00000008;
*((int *) 0x00003284) = 0x00000010;
*((int *) 0x0000328C) = 0x00000010;
if (0x00000008 == 0x00000000)
{
__asm__ ("break 0x00007;");
}
*((int *) 0x00003290) = (0x000001E0 / 0x00000008);
*((int *) 0x000032A8) = 0x00000000;
*((int *) 0x00003294) = (0x00000110 / 0x00000010);
while (1) {
var1 = var1 + 0xFFFFFFFF;
((int *) var2)[0] = 0x00000000;
var2 = var2 + 0x00000004;
if (var1 >= 0)
continue;
break;
}
sceScons_driver_E2B10E52 (0x00000000);
sceScons_driver_0C945DA7 (0xFFFFFFFF);
*((int *) 0x0000329C) = 0x00000000;
*((int *) 0x00003298) = 0x00000000;
sceScons_driver_BE375902 ();
ra = ((int *) sp)[1];
var9 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00000814
*/
void sceScons_driver_9E26F841 ()
{
*((int *) 0x00003270) = 0x00000000;
return;
}

/**
* Subroutine at address 0x00000824
*/
void sceScons_driver_1520047E (int arg1, int arg2, int arg3, int arg4)
{
*((int *) 0x00003270) = arg1;
*((int *) 0x0000327C) = arg4;
*((int *) 0x00003274) = arg2;
*((int *) 0x00003278) = arg3;
return;
}

/**
* Subroutine at address 0x00000844
*/
void sceScons_driver_8977165E (int arg1, int arg2)
{
*((int *) 0x00003284) = arg2;
*((int *) 0x00003280) = arg1;
if (arg1 == 0x00000008)
{
var1 = 0x0000163C;
}
else
{
var1 = 0x00001E3C;
}
var2 = *((int *) 0x00003280);
*((int *) 0x00003288) = var1;
*((int *) 0x0000328C) = 0x00000010;
if (var2 == 0x00000000)
{
__asm__ ("break 0x00007;");
}
*((int *) 0x00003290) = (0x000001E0 / var2);
*((int *) 0x00003294) = (0x00000110 / 0x00000010);
return;
}

/**
* Subroutine at address 0x000008B4
*/
void sceScons_driver_457F8264 ()
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
sceScons_driver_E2B10E52 (0x00000000);
sceScons_driver_0C945DA7 (0xFFFFFFFF);
ra = ((int *) sp)[0];
*((int *) 0x0000329C) = 0x00000000;
*((int *) 0x00003298) = 0x00000000;
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x000008E8
*/
void sceScons_driver_CFB23A8E (int arg1, int arg2)
{
*((int *) 0x0000329C) = arg2;
*((int *) 0x00003298) = arg1;
return;
}

/**
* Subroutine at address 0x000008FC
*/
void sceScons_driver_A13C197D (int arg1, int arg2)
{
if (!(arg1 == 0x00000000))
{
var1 = *((int *) 0x00003298);
((int *) arg1)[0] = var1;
}
if (!(arg2 == 0x00000000))
{
var2 = *((int *) 0x0000329C);
((int *) arg2)[0] = var2;
}
return;
}

/**
* Subroutine at address 0x00000924
*/
void sceScons_driver_672889BC (int arg1)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = s0;
var1 = arg1;
((int *) sp)[1] = ra;
if (arg1 == 0x00000000)
{

label8:
ra = ((int *) sp)[1];
}
else
{
var2 = ((char *) arg1)[0];
ra = ((int *) sp)[1];
if (!(var2 == 0x00000000))
{
var3 = var2;
while (1) {
var1 = var1 + 0x00000001;
sceScons_driver_89580971 (var3);
var6 = ((char *) var1)[0];
var3 = var6;
if (var6 != 0x00000000)
continue;
break;
}
goto label8;
}
}
var7 = ((int *) sp)[0];
sp = sp + 0x00000010;
return;
}

/**
* Subroutine at address 0x00000970
*/
void sceScons_driver_4FA797DE (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8)
{
sp = sp + 0xFFFFFFC0;
((int *) sp)[11] = arg4;
((int *) sp)[12] = arg5;
var1 = sp + 0x0000002C;
var2 = sp;
((int *) sp)[4] = ra;
((int *) sp)[13] = arg6;
((int *) sp)[14] = arg7;
((int *) sp)[15] = arg8;
((int *) sp)[0] = arg1;
sub_00A84 (0x000014B0, var2, arg2, arg3, var1);
ra = ((int *) sp)[4];
sp = sp + 0x00000040;
return;
}

/**
* Subroutine at address 0x000009C0
*/
void sceScons_driver_93991895 (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8)
{
sp = sp + 0xFFFFFFC0;
((int *) sp)[9] = arg2;
var1 = sp;
((int *) sp)[10] = arg3;
((int *) sp)[11] = arg4;
((int *) sp)[12] = arg5;
var2 = sp + 0x00000024;
((int *) sp)[4] = ra;
((int *) sp)[13] = arg6;
((int *) sp)[14] = arg7;
((int *) sp)[15] = arg8;
((int *) sp)[0] = 0x00000000;
sub_00A84 (0x00001500, var1, 0xFFFFFFFF, arg1, var2);
ra = ((int *) sp)[4];
sp = sp + 0x00000040;
return;
}

/**
* Subroutine at address 0x00000A14
*/
void sceScons_driver_A1301AEF (int arg1, int arg2, int arg3, int arg4)
{
sp = sp + 0xFFFFFFE0;
var1 = sp;
((int *) sp)[4] = ra;
((int *) sp)[0] = arg1;
sub_00A84 (0x000014B0, var1, arg2, arg3, arg4);
ra = ((int *) sp)[4];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x00000A50
*/
void sceScons_driver_82B5FD3A (int arg1, int arg2)
{
sp = sp + 0xFFFFFFE0;
var1 = sp;
((int *) sp)[4] = ra;
((int *) sp)[0] = 0x00000000;
sub_00A84 (0x00001500, var1, 0xFFFFFFFF, arg1, arg2);
ra = ((int *) sp)[4];
sp = sp + 0x00000020;
return;
}

/**
* Subroutine at address 0x00000A84
*/
void sub_00A84 (int arg1, int arg2, int arg3, int arg4, int arg5)
{
sp = sp + 0xFFFFFF80;
((int *) sp)[27] = s7;
var1 = arg4;
((int *) sp)[25] = s5;
var2 = arg1;
((int *) sp)[24] = s4;
var3 = arg2;
((int *) sp)[23] = s3;
var4 = 0x00000000;
((int *) sp)[29] = ra;
((int *) sp)[28] = fp;
((int *) sp)[26] = s6;
((int *) sp)[22] = s2;
((int *) sp)[21] = s1;
((int *) sp)[20] = s0;
var5 = ((char *) arg4)[0];
((int *) sp)[16] = arg3;
((int *) sp)[17] = arg5;
if (!(var5 == 0x00000000))
{
var6 = var5;
while (1) {
var7 = 0x00000000;
((int *) sp)[18] = 0x00000000;
var8 = 0x00000000;
((int *) sp)[19] = 0x00000000;
if (var6 == 0x00000025)
{
while (1) {
var1 = var1 + 0x00000001;
var9 = ((unsigned char *) var1)[0];
var33 = ((char) var9) + 0xFFFFFFE0;
var34 = var9;
if (((var33 < 0x00000059)) == 0x00000000)
break;
var35 = var33 << 0x00000002;
var36 = var35 + 0x00002664;
var37 = ((int *) var36)[0];
switch () {
case 0:
var7 = var7 | 0x00000008;
continue;
break;
break;
case 3:
var7 = var7 | 0x00000010;
continue;
break;
break;
break;
break;
break;
break;
break;
case 11:
var7 = var7 | 0x00000002;
continue;
break;
case 13:
var7 = var7 | 0x00000001;
continue;
case 14:
var1 = var1 + 0x00000001;
var9 = ((unsigned char *) var1)[0];
var7 = var7 | 0x00000020;
if (((char) var9) == 0x0000002A)
{
var163 = ((int *) sp)[17];
var164 = ((int *) var163)[0];
((int *) sp)[17] = (var163 + 0x00000004);
var8 = MAX (var164, 0xFFFFFFFF);
continue;
}
else
{
var162 = 0x00000000;
if (!(((((var9 + 0xFFFFFFD0) & 0x000000FF) < 0x0000000A)) == 0x00000000))
{
while (1) {
var1 = var1 + 0x00000001;
var9 = ((unsigned char *) var1)[0];
var162 = ((((var162 << 0x00000002) + var162) << 0x00000001) + ((char) var9)) + 0xFFFFFFD0;
if (((((var9 + 0xFFFFFFD0) & 0x000000FF) < 0x0000000A)) != 0x00000000)
continue;
break;
}
}
var11 = (char) var9;
var8 = MAX (var162, 0xFFFFFFFF);
if (!(var11 == 0x00000000))
{

label112:
var1 = var1 + 0xFFFFFFFF;
continue;
}
}
break;
case 16:
var7 = var7 | 0x00000004;
continue;
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
var165 = 0x00000000;
while (1) {
var1 = var1 + 0x00000001;
var9 = ((unsigned char *) var1)[0];
var165 = ((((var165 << 0x00000002) + var165) << 0x00000001) + ((char) var9)) + 0xFFFFFFD0;
if (((((var9 + 0xFFFFFFD0) & 0x000000FF) < 0x0000000A)) != 0x00000000)
continue;
break;
}
((int *) sp)[18] = var165;
if (var9 != 0x00000000)
goto label112;
var11 = (char) var9;
goto label195;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
case 56:
var166 = "0123456789ABCDEF";
if (!((var7 & 0x00000010) == 0x00000000))
{
((char *) sp)[32] = 0x00000030;
((int *) sp)[19] = 0x00000002;
((char *) sp)[33] = 0x00000058;
}

label89:
var167 = ((int *) sp)[17];
if ((var7 & 0x00000040) != 0x00000000)
{
var168 = var167 + 0x00000004;

label92:
var170 = ((int *) var167)[0];
((int *) sp)[17] = var168;
}
else
{
var168 = var167 + 0x00000004;
if ((var7 & 0x00000080) == 0x00000000)
goto label92;
var169 = ((int *) sp)[17];
var170 = ((unsigned short *) var169)[0];
((int *) sp)[17] = (var169 + 0x00000004);
}
var171 = sp + 0x0000001F;
if (var170 != 0x00000000)
{
while (1) {
var173 = ((unsigned char *) (var166 + (var170 & 0x0000000F)))[0];
var170 = var170 >> 0x00000004;
((char *) var171)[0] = var173;
var171 = var171 + 0xFFFFFFFF;
if (var170 != 0x00000000)
continue;
break;
}
var172 = sp + 0x0000001F;
}
else
{
((int *) sp)[19] = 0x00000000;
if (!(((((var7 ^ 0x00000020) >> 5) & 0x00000001) | ((0x00000000 < var8))) == 0x00000000))
{
((char *) var171)[0] = 0x00000030;
var171 = var171 + 0xFFFFFFFF;
}
var172 = sp + 0x0000001F;
}
var41 = var172 - var171;

label101:
var42 = var171 + 0x00000001;
goto label120;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
case 67:
var174 = ((int *) sp)[17];
var175 = sp + 0x0000001F;
var176 = var175 + 0xFFFFFFFF;
var177 = ((char *) var174)[0];
var178 = sp + 0x0000001F;
var41 = var178 - var176;
var42 = var176 + 0x00000001;
((int *) sp)[17] = (var174 + 0x00000004);
((char *) var175)[0] = var177;
goto label119;
case 68:
case 73:
if ((var7 & 0x00000040) == 0x00000000)
{
var185 = ((int *) sp)[17];
if ((var7 & 0x00000080) == 0x00000000)
{
var180 = ((int *) var185)[0];
((int *) sp)[17] = (var185 + 0x00000004);
}
else
{
var186 = ((int *) sp)[17];
var180 = ((short *) var186)[0];
((int *) sp)[17] = (var186 + 0x00000004);
}
}
else
{
var179 = ((int *) sp)[17];
var180 = ((int *) var179)[0];
((int *) sp)[17] = (var179 + 0x00000004);
}
var171 = sp + 0x0000001F;
if (var180 < 0)
{
((char *) sp)[32] = 0x0000002D;
((int *) sp)[19] = 0x00000001;
}
else
{
if ((var7 & 0x00000002) == 0x00000000)
{
if (!((var7 & 0x00000008) == 0x00000000))
{
((int *) sp)[19] = 0x00000001;
var181 = 0x00000020;

label76:
((char *) sp)[32] = var181;
}
}
else
{
var181 = 0x0000002B;
((int *) sp)[19] = 0x00000001;
goto label76;
}
}
if (var180 != 0x00000000)
{
if (var180 < 0)
{
var180 = 0x00000000 - var180;
}
while (1) {
if (var180 == 0x00000000)
break;
var184 = ((hi (var180 * 0x66666667)) >> 0x00000002) - (var180 >> 0x0000001F);
((char *) var171)[0] = ((var180 - (((var184 << 0x00000002) + var184) << 0x00000001)) + 0x00000030);
var180 = var184;
var171 = var171 + 0xFFFFFFFF;
continue;
}

label84:
var182 = sp + 0x0000001F;
}
else
{
var182 = sp + 0x0000001F;
if (!(((((var7 ^ 0x00000020) >> 5) & 0x00000001) | ((0x00000000 < var8))) == 0x00000000))
{
var183 = sp + 0x0000001F;
var171 = var183 + 0xFFFFFFFF;
((char *) sp)[31] = 0x00000030;
goto label84;
}
}

label85:
var41 = var182 - var171;
goto label101;
break;
break;
break;
case 72:
var7 = var7 | 0x00000080;
continue;
break;
break;
case 76:
var7 = var7 | 0x00000040;
continue;
break;
break;
case 79:
var187 = ((int *) sp)[17];
if ((var7 & 0x00000040) != 0x00000000)
{
var188 = var187 + 0x00000004;

label54:
var190 = ((int *) var187)[0];
((int *) sp)[17] = var188;
}
else
{
var188 = var187 + 0x00000004;
if ((var7 & 0x00000080) == 0x00000000)
goto label54;
var189 = ((int *) sp)[17];
var190 = ((unsigned short *) var189)[0];
((int *) sp)[17] = (var189 + 0x00000004);
}
var171 = sp + 0x0000001F;
if (var190 != 0x00000000)
{
while (1) {
var190 = var190 >> 0x00000003;
((char *) var171)[0] = ((var190 & 0x00000007) + 0x00000030);
var171 = var171 + 0xFFFFFFFF;
if (var190 != 0x00000000)
continue;
break;
}
var191 = var7 & 0x00000010;
}
else
{
var191 = (((var7 ^ 0x00000020) >> 5) & 0x00000001) | ((0x00000000 < var8));
}
var192 = sp + 0x0000001F;
if (!(var191 == 0x00000000))
{
((char *) var171)[0] = 0x00000030;
var171 = var171 + 0xFFFFFFFF;
}
var41 = var192 - var171;
goto label101;
case 80:
var193 = ((int *) sp)[17];
var194 = ((int *) var193)[0];
((int *) sp)[17] = (var193 + 0x00000004);
var195 = sp + 0x0000001F;
if (var194 != 0x00000000)
{
while (1) {
var197 = ((unsigned char *) ("0123456789abcdef" + (var194 & 0x0000000F)))[0];
var194 = var194 >> 0x00000004;
((char *) var195)[0] = var197;
var195 = var195 + 0xFFFFFFFF;
if (var194 != 0x00000000)
continue;
break;
}
var196 = sp + 0x0000001F;
}
else
{
var196 = sp + 0x0000001F;
if (!(((((var7 ^ 0x00000020) >> 5) & 0x00000001) | ((0x00000000 < var8))) == 0x00000000))
{
((char *) var195)[0] = 0x00000030;
var195 = var195 + 0xFFFFFFFF;
}
}
var41 = var196 - var195;
var42 = var195 + 0x00000001;
((int *) sp)[19] = 0x00000002;
((char *) sp)[32] = 0x00000030;
((char *) sp)[33] = 0x00000078;
goto label120;
break;
break;
case 83:
var198 = ((int *) sp)[17];
var199 = ((int *) var198)[0];
((int *) sp)[17] = (var198 + 0x00000004);
if (var199 == 0x00000000)
{
var205 = sp + 0x00000040;
var208 var209 = (*var2) (var3, var205, 0x00000028, var7, var198, var36, var35, 0x00002664);
var210 = sp + 0x00000040;
var213 var214 = (*var2) (var3, var210, 0x0000006E);
var215 = sp + 0x00000040;
var218 var219 = (*var2) (var3, var215, 0x00000075);
var220 = sp + 0x00000040;
var223 var224 = (*var2) (var3, var220, 0x0000006C);
var225 = sp + 0x00000040;
var228 var229 = (*var2) (var3, var225, 0x0000006C);
var230 = sp + 0x00000040;
var233 var234 = (*var2) (var3, var230, 0x00000029);
var9 = ((unsigned char *) var1)[0];
}
else
{
var200 = var199;
if ((var7 & 0x00000020) == 0x00000000)
{
var203 = ((char *) var199)[0];
var41 = 0x00000000;
if (var203 == 0x00000000)
{

label44:
var42 = var199;
}
else
{
while (1) {
var200 = var200 + 0x00000001;
var204 = ((char *) var200)[0];
var41 = var41 + 0x00000001;
if (var204 != 0x00000000)
continue;
break;
}
var42 = var199;
}
}
else
{
var201 = 0x00000000;
if (!(var8 <= 0))
{
var202 = ((unsigned char *) var200)[0];
while (1) {
var200 = var200 + 0x00000001;
if (var202 == 0x00000000)
break;
var201 = var201 + 0x00000001;
if (!(((var201 < var8)) != 0x00000000))
break;
var202 = ((unsigned char *) var200)[0];
continue;
}
}
var41 = var201;
goto label44;
}
goto label120;
}
goto label194;
break;
case 85:
var235 = ((int *) sp)[17];
if ((var7 & 0x00000040) != 0x00000000)
{
var236 = var235 + 0x00000004;

label12:
var238 = ((int *) var235)[0];
((int *) sp)[17] = var236;
}
else
{
var236 = var235 + 0x00000004;
if ((var7 & 0x00000080) == 0x00000000)
goto label12;
var237 = ((int *) sp)[17];
var238 = ((unsigned short *) var237)[0];
((int *) sp)[17] = (var237 + 0x00000004);
}
var171 = sp + 0x0000001F;
if (var238 != 0x00000000)
{
while (1) {
var239 = (hi (var238 * 0xCCCCCCCD)) >> 0x00000003;
((char *) var171)[0] = ((var238 - (((var239 << 0x00000002) + var239) << 0x00000001)) + 0x00000030);
var238 = var239;
var171 = var171 + 0xFFFFFFFF;
if (var239 != 0x00000000)
continue;
break;
}
var182 = sp + 0x0000001F;
}
else
{
var182 = sp + 0x0000001F;
if (!(((((var7 ^ 0x00000020) >> 5) & 0x00000001) | ((0x00000000 < var8))) == 0x00000000))
{
((char *) var171)[0] = 0x00000030;
var171 = var171 + 0xFFFFFFFF;
}
}
goto label85;
break;
break;
case 88:
var166 = "0123456789abcdef";
if (!((var7 & 0x00000010) == 0x00000000))
{
((int *) sp)[19] = 0x00000002;
((char *) sp)[32] = 0x00000030;
((char *) sp)[33] = 0x00000078;
}
goto label89;
}
}
case 1:
case 2:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 12:
case 15:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 69:
case 70:
case 71:
case 74:
case 75:
case 77:
case 78:
case 81:
case 82:
case 84:
case 86:
case 87:
if (var34 == 0x00000000)
{
var11 = (char) var9;
}
else
{
var38 = sp + 0x0000001F;
((char *) var38)[0] = var34;
var39 = var38 + 0xFFFFFFFF;
var40 = sp + 0x0000001F;
var41 = var40 - var39;
var42 = var39 + 0x00000001;

label119:
var7 = var7 | 0x00000100;

label120:
var43 = ((int *) sp)[18];
var44 = ((int *) sp)[19];
var45 = (((var41 < var8))) ? (var8 - var41) : 0x00000000;
var46 = ((var43 - var41) - var44) - var45;
((int *) sp)[18] = var46;
var47 = var42 + var41;
var48 = (var7 >> 2) & 0x00000001;
var49 = (0x00000000 < var46);
if (!((var7 & 0x00000100) != 0x00000000))
{
var50 = ((int *) sp)[18];
var51 = var7 & 0x00000024;
var52 = var51 ^ 0x00000004;
var48 = (var52 < 0x00000001);
var49 = (0x00000000 < var50);
}
var53 = var7 & 0x00000001;
var54 = !((var48 & var49)) ? 0x00000020 : 0x00000030;
if (var53 == 0x00000000)
{
var85 = ((int *) sp)[18];
if ((var7 & 0x00000004) == 0x00000000)
{
var133 = ((int *) sp)[19];
if (!(var85 <= 0))
{
var134 = var85;
while (1) {
var135 = sp + 0x00000040;
var138 var139 = (*var2) (var3, var135, var54, var7, var52, var51, var53, 0x00000020);
var134 = var134 + 0xFFFFFFFF;
var4 = var4 + var138;
if (var134 != 0x00000000)
continue;
break;
}
var133 = ((int *) sp)[19];
}
var140 = 0x00000000;
if (!(var133 == 0x00000000))
{
while (1) {
var141 = sp + 0x00000020;
var142 = ((char *) (var141 + var140))[0];
var143 = sp + 0x00000040;
var146 var147 = (*var2) (var3, var143, var142);
var148 = ((int *) sp)[19];
var140 = var140 + 0x00000001;
var4 = var4 + var146;
if (((var140 < var148)) != 0x00000000)
continue;
break;
}
}
var149 = 0x00000000;
if (!(var45 <= 0))
{
while (1) {
var150 = sp + 0x00000040;
var149 = var149 + 0x00000001;
var153 var154 = (*var2) (var3, var150, 0x00000030);
var155 = (var149 < var45);
var4 = var4 + var153;
if (var155 != 0x00000000)
continue;
break;
}
}
while (1) {
if (((var42 < var47)) == 0x00000000)
break;
var156 = ((char *) var42)[0];
var157 = sp + 0x00000040;
var160 var161 = (*var2) (var3, var157, var156);
var4 = var4 + var160;
var42 = var42 + 0x00000001;
continue;
}
}
else
{
var86 = ((int *) sp)[19];
if (var54 == 0x00000030)
{
var115 = 0x00000000;
if (!(var86 == 0x00000000))
{
while (1) {
var116 = sp + 0x00000020;
var117 = var116 + var115;
var118 = ((char *) var117)[0];
var119 = sp + 0x00000040;
var122 var123 = (*var2) (var3, var119, var118, var7, var52, var117, var53, 0x00000020);
var124 = ((int *) sp)[19];
var115 = var115 + 0x00000001;
var4 = var4 + var122;
if (((var115 < var124)) != 0x00000000)
continue;
break;
}
}
var125 = ((int *) sp)[18];
var126 = 0x00000000;
if (!(var125 <= 0))
{
while (1) {
var127 = sp + 0x00000040;
var130 var131 = (*var2) (var3, var127, var54);
var132 = ((int *) sp)[18];
var126 = var126 + 0x00000001;
var4 = var4 + var130;
if (((var126 < var132)) != 0x00000000)
continue;
break;
}
}
}
else
{
if (var85 <= 0)
{
var93 = ((int *) sp)[19];
}
else
{
var87 = var85;
while (1) {
var88 = sp + 0x00000040;
var91 var92 = (*var2) (var3, var88, var54, var7, var52, var51, var53, 0x00000020);
var87 = var87 + 0xFFFFFFFF;
var4 = var4 + var91;
if (var87 != 0x00000000)
continue;
break;
}
var93 = ((int *) sp)[19];
}
var94 = 0x00000000;
if (!(var93 == 0x00000000))
{
while (1) {
var95 = sp + 0x00000020;
var96 = ((char *) (var95 + var94))[0];
var97 = sp + 0x00000040;
var100 var101 = (*var2) (var3, var97, var96);
var102 = ((int *) sp)[19];
var94 = var94 + 0x00000001;
var4 = var4 + var100;
if (((var94 < var102)) != 0x00000000)
continue;
break;
}
}
}
var103 = 0x00000000;
if (!(var45 <= 0))
{
while (1) {
var104 = sp + 0x00000040;
var103 = var103 + 0x00000001;
var107 var108 = (*var2) (var3, var104, 0x00000030);
var4 = var4 + var107;
if (((var103 < var45)) != 0x00000000)
continue;
break;
}
}
while (1) {
if (((var42 < var47)) == 0x00000000)
break;
var109 = ((char *) var42)[0];
var110 = sp + 0x00000040;
var113 var114 = (*var2) (var3, var110, var109);
var4 = var4 + var113;
var42 = var42 + 0x00000001;
continue;
}
}
}
else
{
var55 = ((int *) sp)[19];
var56 = 0x00000000;
if (!(var55 == 0x00000000))
{
while (1) {
var57 = sp + 0x00000020;
var58 = ((char *) (var57 + var56))[0];
var59 = sp + 0x00000040;
var62 var63 = (*var2) (var3, var59, var58, var55, var52, var51, var53, 0x00000020);
var64 = ((int *) sp)[19];
var56 = var56 + 0x00000001;
var4 = var4 + var62;
if (((var56 < var64)) != 0x00000000)
continue;
break;
}
}
var65 = 0x00000000;
if (!(var45 <= 0))
{
while (1) {
var66 = sp + 0x00000040;
var65 = var65 + 0x00000001;
var69 var70 = (*var2) (var3, var66, 0x00000030);
var4 = var4 + var69;
if (((var65 < var45)) != 0x00000000)
continue;
break;
}
}
while (1) {
if (((var42 < var47)) == 0x00000000)
break;
var71 = ((char *) var42)[0];
var72 = sp + 0x00000040;
var75 var76 = (*var2) (var3, var72, var71);
var4 = var4 + var75;
var42 = var42 + 0x00000001;
continue;
}
var77 = ((int *) sp)[18];
var78 = 0x00000000;
if (!(var77 <= 0))
{
while (1) {
var79 = sp + 0x00000040;
var82 var83 = (*var2) (var3, var79, 0x00000020);
var84 = ((int *) sp)[18];
var78 = var78 + 0x00000001;
var4 = var4 + var82;
if (((var78 < var84)) != 0x00000000)
continue;
break;
}
}
}
var9 = ((unsigned char *) var1)[0];

label194:
var11 = (char) var9;
}
}
else
{
var9 = ((unsigned char *) var1)[0];
var10 = (char) var9;
if (var10 != 0x00000000)
{
var28 = sp + 0x00000040;
var31 var32 = (*var2) (var3, var28, var10, 0x00000000, arg5, arg6, arg7, arg8);
var9 = ((unsigned char *) var1)[0];
var4 = var4 + var31;
}
goto label194;
}

label195:
var12 = (char) var9;
if (!(var11 == 0x00000000))
{
var1 = var1 + 0x00000001;
var13 = ((unsigned char *) var1)[0];
var12 = (char) var13;
}
var6 = var12;
if (var12 != 0x00000000)
continue;
break;
}
}
var14 = sp + 0x00000040;
var17 var18 = (*var2) (var3, var14, 0x00000000, 0x00000000, arg5, arg6, arg7, arg8);
ra = ((int *) sp)[29];
var19 = ((int *) sp)[28];
var20 = ((int *) sp)[27];
var21 = ((int *) sp)[26];
var22 = ((int *) sp)[25];
var23 = ((int *) sp)[24];
var24 = ((int *) sp)[23];
var25 = ((int *) sp)[22];
var26 = ((int *) sp)[21];
var27 = ((int *) sp)[20];
sp = sp + 0x00000080;
return;
}

/**
* Subroutine at address 0x000014B0
*/
void sub_014B0 (int arg1, int arg2, int arg3)
{
var1 = ((int *) arg2)[0];
var2 = 0x00000001;
if (!(var1 == 0x00000000))
{
if (((arg3 < 0x00000100)) == 0x00000000)
{
var5 = ((int *) arg1)[0];
var2 = 0x00000000;
((char *) var5)[0] = 0x00000000;
}
else
{
var3 = ((int *) arg1)[0];
((char *) var3)[0] = (!((var1 ^ 0x00000001)) ? 0x00000000 : arg3);
var4 = ((int *) arg2)[0];
((int *) arg1)[0] = (var3 + 0x00000001);
((int *) arg2)[0] = (var4 + 0xFFFFFFFF);
}
}
return;
}

/**
* Subroutine at address 0x00001500
*/
void sub_01500 (int arg1, int arg2, int arg3)
{
sp = sp + 0xFFFFFFF0;
((int *) sp)[0] = ra;
if (arg3 != 0x00000000)
{
sceScons_driver_89580971 (((char) arg3));
ra = ((int *) sp)[0];
}
else
{
ra = ((int *) sp)[0];
}
sp = sp + 0x00000010;
return;
}

#ifndef __SCONS_H
#define __SCONS_H

/*
* Exports from library: syslib
*/
void module_start (void);

/*
* Exports from library: sceScons_driver
*/
void sceScons_driver_EFFFA6A8 (void);
void sceScons_driver_9E26F841 (void);
void sceScons_driver_1520047E (void);
void sceScons_driver_8977165E (void);
void sceScons_driver_457F8264 (void);
void sceScons_driver_0C945DA7 (void);
void sceScons_driver_E2B10E52 (void);
void sceScons_driver_CFB23A8E (void);
void sceScons_driver_A13C197D (void);
void sceScons_driver_BE375902 (void);
void sceScons_driver_672889BC (void);
void sceScons_driver_89580971 (void);
void sceScons_driver_963408BA (void);
void sceScons_driver_A1301AEF (void);
void sceScons_driver_4FA797DE (void);
void sceScons_driver_82B5FD3A (void);
void sceScons_driver_93991895 (void);

#endif /* __SCONS_H */

t0rm3nt0r
14.05.2010, 10:19
PS на фотках с именем CD4011 ошибка в цоколёвке микросхемы!!! Не обращаете внимание на них, удалите их из архива. Придурок какой то в нете выложил а я схватил и в свой архив ...а потом проверил а там цоколёвка микрухи не правильная...

Оба файла? Там просто CD4011.jpg и CD4011_1.jpg

ANDPSP
14.05.2010, 11:53
Boryan добавил 13-05-2010 в 22:18
ТУТ K-Line с фотками и описанием...http://slil.ru/29129008 ну проще уже нет вариантов...да,забыл... весит 30 метров

Нда.... А почему с платки PL2303 идет 3 белых проводка а не два ? вроде GND припаян на прямую, RX и TX понятно а что еще за третий провод ? И мог бы на финальной схеме пометить хотя бы какой провод TX, а какой RX - было бы гораздо проще и мог бы свой рабочий девайс сфоткать а то я так и не понял в финальной фотке у тебя диоды или резисторы ? И если я правильно понял то нужна микросхема стандартной логики И-НЕ - может так проще народу искать будет....

Boryan
14.05.2010, 21:37
ANDPSP, третий провод это питание микросхемы. Микруха правильно ты подметил стандартная логика :) На всех фотках у меня вместо резисторов стоят диоды для наглядности..ну нету у меня резисторов корпусных и с ножками....я давно сижу на ЧИП или SMD компонентах....вот для того что бы было видно куда и чего паять использовал диоды вместо резисторов. НО вы должны использовать только резисторы !!!

lport3
14.05.2010, 22:16
Ну вот собсно отдизасмил SYSCON.PRX от пандоры-2000. Что примечательно, так этот файл весит 46420 байт, в отличии от 19502 байта, которые лежат в прошивке 5.00 или 5.03, в декриптованном виде конечно. Осталось только подсчитать алгоритмы =)
Там нет батареечных кусков.
ANDPSP, снять дамп с микроконтроллера нельзя ....стоит бит защиты....а потом китайцы на своих покоцаных контроллерах делают батарейки....значит они знают основные алгоритмы 80 команд
ну дак отвечает то батарейка, а5хх06...и дальше любая муть главное
чтобы кс совпадал...) не надо на китайцев ровняться.

там много что на время завязано. Я в одном модуле реализовал рэндом, привязав к количеству времени... прошедшему с 1970 года (в секундах).
да и синхронизация по времени достаточно точная.
подменять команды не получилось видимо 2 порта и прога сильно
искажали тайминги.
если можно, то в закладке брута батарейки было бы неплохо сделать возможность посылки запроса с паузами которые можно изменять :)
я неделю с этими 8ю байтами бьюсь, не так все просто.

Boryan
15.05.2010, 01:51
lport3, ну дак отвечает то батарейка, а5хх06...и дальше любая муть главное
чтобы кс совпадал...) не надо на китайцев ровняться.
Ты хочешь сказать что ответ на 80 команду может быть любой?
я неделю с этими 8ю байтами бьюсь, не так все просто.
А это ты про какие байты ..те что отвечают на 81 команду?

Boryan добавил 14-05-2010 в 23:08
Просто регулируемая пауза нужна что бы точнее понять ответы на 80хх и 81 команды. дело в том что если я шлю любую из 80хх команд с паузой более 0.5 сек ответы одинаковые ...но стоит меньше то ответы разные. Я же не могу рукой делать точные и нужные паузы. Просто я таким методом хочу выяснить алгоритм 80хх команд. Подавая одну и туже команду с заданной паузой мы получаем статический ответ...и если к этому мы начнём менять (делать брут) любой байт в строке команды то получим статические ответы на варианты смены байта...таким образом мы вычислим алгоритм ответа на 80хх команды. И 80D9 из их серии....а посему мы будем знать как отвечать на этот запрос....ну а далее остаётся самое загадочное :) 81

Boryan добавил 15-05-2010 в 01:00

Boryan добавил 15-05-2010 в 01:04
Так ради интереса послушал зызу и батарейку....Тупо вставил батарейку зызу не включаю.....и она сволочь каждые 30 секунд пытает батарейку..потихоньку её разряжая....


5A0201A2A50506102303195A020C97A5060670C612887E5A0B800A498793E710FF7A3805A5120601
B25FF65B0192E67B453FD506DA5CFE585A0A8183A6B09B803A619EEDA50A0611DA13E55627E6897B
5A0201A2A50506002303295A0B800AE7C39E274A1420D053A51206C1630CE60890936A5F083BFE7D
E10989075A0A8182D3D389E7DA26B1D1A50A06096820ABBF3F871970
прошло 30сек

5A0201A2A50506102303195A020C97A5060670C612887E5A0B8004597FFD1F19FCE41514A5121500
000000000000000000000000000000335A0201A2A50506102303195A020C97A5060670C612887E5A
0B800A0C69DD2C87E7F09E96A51206419E8B978ABF6F82B49221CCD791C0DCD05A0A81FF575CD9CD
B97E7C0FA50A06E57BE7F6F798432D0E
прошло 30сек
5A0201A2A50506102303195A020C97A5060670C612887E5A0B8004898BAA446CEE5C86D8A5121500
000000000000000000000000000000335A0201A2A50506102303195A020C97A5060670C612887E5A
0B800A6023F7D4B14243414BA5120671B3DCBE13E1A984D2B1AFAADE73E541105A0A8180F0ED2673
C7C3BEDCA50A06BF27E761150753F4B9
прошло 30сек

5A0201A2A50506102303195A020C97A5060670C612887E5A0B80043E2C0CF495D96303D8A5121500
000000000000000000000000000000335A0201A2A50506102303195A020C97A5060670C612887E5A
0B800A9B1750C776A645E105A512062B07A2F55E228024D2B1AFAADE73E541025A0A8180F0ED2673
C7C3BEDCA50A06BF27E761150753F4B9
прошло 30сек

5A0201A2A50506102303195A020C97A5060670C612887E5A0B80043E2C0CF495D96303D8A5121500
000000000000000000000000000000335A0201A2A50506102303195A020C97A5060670C612887E5A
0B800ADDAE64CCE730E9A6AFA51206A3060A1EE8490CC8067E2AC7398BD92A305A0A81D16154824E
D92C358AA50A069DCB7D92A2DD6D9156
прошло 30сек

5A0201A2A50506102303195A020C97A5060670C612887E5A0B80041711FBE75914AAB342A5121500
000000000000000000000000000000335A0201A2A50506102303195A020C97A5060670C612887E5A
0B800A2EDE2AACE4F504C68BA51206A9B7A47A587FB81BD2B1AFAADE73E541C75A0A8180F0ED2673
C7C3BEDCA50A06BF27E761150753F4B9


Boryan добавил 15-05-2010 в 01:51
помучил в очередной раз зызу 2000, пытаясь эмулировать ответы батарейки компом....итог, 32 запроса после неверного ответа на 8008 команду. Видимо бесполезно пытаться это сделать пока не поймём как правильно отвечать на 80хх команды....

Boryan
17.05.2010, 01:34
Что то я не пойму....то ли мы идём не в том направлении, то ли на самом деле в батарейке такая сильная защита....но самое странное что всё это было заложено с самого рождения зызы.....с 1000 модели и её батареек...Получается бред какой то....соня защитила батарейку выше некуда а 1000 и 2000 консоли просрала...дыр понаделала в защите консолей кучу....а в батарейке выходит нет дыр.....очень странно всё это выглядит....поставить бронированную дверь и закрывать её замком от почтового ящика...

Boryan добавил 17-05-2010 в 01:06
Побрутил тут батарейку на все команды однобайтовые ....вот выкладываю лог, правда не весь далее смысла нет...там ответов нет....но вот 15 и 16 команды оказались интересными...5A 02 00 A3
A5 02 06 52
5A 02 01 A2
A5 05 06 10 6B 04 D0
5A 02 02 A1
A5 03 06 1B 36
5A 02 03 A0
A5 04 06 49 10 F7
5A 02 04 9F
A5 04 06 00 00 50
5A 02 05 9E
A5 03 06 64 ED
5A 02 06 9D
A5 04 06 6B 04 E1
5A 02 07 9C
A5 04 06 70 04 DC
5A 02 08 9B
A5 04 06 E2 04 6A
5A 02 09 9A
A5 04 06 87 00 C9
5A 02 0A 99
A5 03 06 10 41
5A 02 0B 98
A5 04 06 64 00 EC
5A 02 0C 97
A5 06 06 D8 29 01 44 08
5A 02 0D 96
A5 07 06 EB 0E 0A 28 41 E1
5A 02 0E 95
A5 04 06 E5 01 6A
5A 02 0F 94
A5 04 06 56 03 F7
5A 02 10 93
A5 04 06 00 00 50
5A 02 11 92
A5 04 06 00 00 50
5A 02 12 91
A5 04 06 00 00 50
5A 02 13 90
A5 02 15 43
5A 02 14 8F
A5 02 15 43
5A 02 15 8E
A5 26 06 1B 49 10 00 00 64 6B 04 70 04 E2 04 87 00 10 64 00 D8 29 01 44 EB 0E 0A 28 41 E5 01 56 03 00 00 00 00 00 00 A1
5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6B
5A 02 17 8C
A5 02 15 43

Boryan добавил 17-05-2010 в 01:15
и ещё 15 и 16 команды на разных батарейках....ответ на 15 команду содержит и серийник батарейки....правда новые батарейки возвращают 00000 ...ну а отвтет на 16 команду у всех один 5A 02 15 8E
A5 26 06 18 5A 0F 00 00 49 68 03 BA 04 E2 04 68 00 10 26 00 FF FF FF FF 64 10 0A 28 41 08 02 25 03 00 00 F0 FA 00 00 B8
5A 02 15 8E
A5 26 06 18 D9 0F 03 00 5B 3B 04 BA 04 E2 04 81 00 10 00 00 00 00 00 00 47 11 14 28 41 0B 02 3F 03 0C 00 3C FE 00 00 F2
5A 02 15 8E
A5 26 06 1B 3B 10 00 00 63 62 04 70 04 E2 04 86 00 10 64 00 D8 29 01 44 EB 0E 0A 28 41 ED 01 53 03 00 00 DC FF 00 00 DA
5A 02 15 8E
A5 26 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E
5A 02 15 8E
A5 26 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E
5A 02 15 8E
A5 26 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2E
5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6B
5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6B
5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6B
5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6B


Boryan добавил 17-05-2010 в 01:28
чота я не понимаю....81 команда ответ на одинаковые запрос был разным...сейчас всё стабильно....проверенно на 3 батарейках
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27

A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE

5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 04 E3 C1 F2 91 A4 BE 14 A9
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 04 E3 C1 F2 91 A4 BE 14 A9
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 04 E3 C1 F2 91 A4 BE 14 A9
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 04 E3 C1 F2 91 A4 BE 14 A9
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 04 E3 C1 F2 91 A4 BE 14 A9
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 04 E3 C1 F2 91 A4 BE 14 A9



Boryan добавил 17-05-2010 в 01:34
очень интересные ответы на код 00 и FF :)
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 FC E7 3E 58 B5 C8 99 6C 4F
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 FC E7 3E 58 B5 C8 99 6C 4F
5A 0A 81 FF FF FF FF FF FF FF FF 22
A5 0A 06 FC E7 3E 58 B5 C8 99 6C 4F
5A 0A 81 FF FF FF FF FF FF FF FF 22
A5 0A 06 FC E7 3E 58 B5 C8 99 6C 4F

lport3
17.05.2010, 01:35
Да защита действительно очень сложная. Эфки в серийнике
на старых моделях, это баг жуткий, наверняка его пофиксили.
Сервисную батарейку определяет не серийник, я так думаю.


5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6Bэто просто подпись SonyEnergyDevices

ответы на 81ю команду одинаковые,
потому что вход в режим был одинаковый (полагаю, его не было)).

ErikPshat
17.05.2010, 01:35
чота я не понимаю....81 команда ответ на одинаковые запрос был разным...сейчас всё стабильно....проверенно на 3 батарейкахПо моему просто запрос от PSP был разным на 81 команду, вот и ответ 06 приходил разный.

Boryan
17.05.2010, 01:44
батарейка № 2
5A 0A 81 FF FF FF FF FF FF FF FF 22
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 FF FF FF FF FF FF FF FF 22
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 FF FF FF FF FF FF FF FF 22
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 F1 B4 7A 61 6C 3D 4E 15 BE

Boryan добавил 17-05-2010 в 01:37
ErikPshat, значит 81 команда тупая? и ко времени не привязана?

Boryan добавил 17-05-2010 в 01:42
ErikPshat, да нет же ...вот старый лог...81 команды....и все ответы разные ....сейчас точь в точь повторяю эту команду ответы одинаковые...
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 FC E7 3E 58 B5 C8 99 6C 4F
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 FC E7 3E 58 B5 C8 99 6C 4F

а вот старый лог...ответы батарейки на постоянную команду 5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D

A5 0A 06 1E EB 0E 4B 51 5E D1 42 26

A5 0A 06 1F 66 9D 1D 5A 25 E0 5E 4E

A5 0A 06 11 B4 DD 27 2C 5B 74 E0 A6

A5 0A 06 6A 69 02 88 92 E2 A0 7A 5F

A5 0A 06 3F 0B BC 2D AE CD 58 A0 A4

A5 0A 06 BB EC 4D 3F C8 27 FC B0 7C

A5 0A 06 11 15 C3 49 7E 3B BB C6 DE

A5 0A 06 0B 1E 5A 39 AE 57 BA 71 5E

A5 0A 06 19 BC 34 3D BA 0B A2 97 06

A5 0A 06 23 1D E7 02 FE CE D1 D6 AE

A5 0A 06 16 07 A7 D9 68 B1 E4 DD D3

A5 0A 06 E7 73 80 B9 DC FA 38 C5 E4

A5 0A 06 F3 38 A2 29 A1 CA B2 EE 49

A5 0A 06 31 18 1E EA 28 90 37 A3 67

A5 0A 06 36 4F DB 69 31 06 7D 22 AB

A5 0A 06 58 AB 37 BD E8 A5 72 CC 88

A5 0A 06 80 56 4A 7F 4B DE 06 47 35

A5 0A 06 71 88 DF 18 5B 95 A1 BB 0E

A5 0A 06 E0 9F 31 DF 39 E2 35 58 13

A5 0A 06 31 30 47 0A 87 66 62 6F DA

A5 0A 06 53 95 3F 1F B8 2E 24 40 BA

A5 0A 06 F2 F7 84 6B 00 BD 20 89 0C

A5 0A 06 24 CE 4B D8 60 51 29 5A 01

A5 0A 06 1F 12 2D 40 13 44 63 7D 75

A5 0A 06 0C 4A 82 66 46 5D E3 4E 38

Boryan добавил 17-05-2010 в 01:44
что, ответы от погоды ответы зависят или расположения звёзд? :)))батарейки те же ...к-лайн тот же....в чём дело?

ErikPshat
17.05.2010, 01:44
это просто подпись SonyEnergyDevices
Ага, подтверждаю =))) В ответ на 16-ую команду...
5A 02 16 8D
A5 13 06 53 6F 6E 79 45 6E 65 72 67 79 44 65 76 69 63 65 73 6B

http://i073.radikal.ru/1005/7f/73b57442cc24.png

Boryan, ну получается раньше с 81 командой были какие-то глюки. Наверное с задержкой. А может наоборот, сейчас глюки =)

lport3
17.05.2010, 01:50
что, ответы от погоды ответы зависят или расположения звёзд? :)))батарейки те же ...к-лайн тот же....в чём дело?
Я мог бы долго рассказывать про свои бруты-муты,
но это долго и муторно )) у меня примерно такие же странности
с батареей, полагаю, батарейка (а может и псп) закрылась.
Поставь батарейку в псп и сними логи, там будут негативные ответы на
длинные команды.

Boryan
17.05.2010, 02:07
Я мог бы долго рассказывать про свои бруты-муты,
но это долго и муторно )) у меня примерно такие же странности
с батареей, полагаю, батарейка (а может и псп) закрылась.
Поставь батарейку в псп и сними логи, там будут негативные ответы на
длинные команды.
Получается ещё одна хитрость батареек? Если он "отдохнули" мальца :) просто полежали без зызы, то и ответы от них на 81 и 80 адекватные :) а как с зызой поработают то начинают выкобениваться? :) очень интересные батарейки :)))

Boryan добавил 17-05-2010 в 01:58
ErikPshat, На днях будет тебе к-лайн для работы....
ANDPSP, и тебе...Просто я зашился мальца с ремонтом зызок ..завалили...вот и не было времени собрать к-лайны...

Boryan добавил 17-05-2010 в 02:05
ну очень странно....повтыкал батарейку в разные зызы...повключал...погонял 81 командой....ответы меняются в зависимости в каой зызе батарейка побывала....но они, самое главное статичны!!!

5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
другая зыза
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 07 E0 65 E6 EA E8 98 44 6A
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 07 E0 65 E6 EA E8 98 44 6A
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 07 E0 65 E6 EA E8 98 44 6A
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 07 E0 65 E6 EA E8 98 44 6A
ещё и далее просто отключал и подключал батарейку к к-лайн
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 F6 27 00 45 30 06 FD 9D 18


Boryan добавил 17-05-2010 в 02:07
даже батарейку от к-лайна отрубал на 5 минут...и код ответа был тот же что и ранее ...

ErikPshat
17.05.2010, 02:09
Boryan, а как насчёт 80-ой команды?

А в чём прикол между этими разными запросами и одинаковыми ответами?
5A 0A 81 15 D8 15 FE A8 D3 CB BE 16
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 FB AC 55 AA F9 1E A1 C5 27

Boryan
17.05.2010, 02:26
ну вот логи чередования команд 80 и 81 .....странно всё вроде логично и статично.....а ранее выходит были просто глюки
5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48
A5 12 06 C5 39 79 DD 25 FF 8B 27 68 DF 15 7C 92 D0 30 5A 54
5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48
A5 12 06 C5 39 79 DD 25 FF 8B 27 68 DF 15 7C 92 D0 30 5A 54
5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48
A5 12 06 C5 39 79 DD 25 FF 8B 27 68 DF 15 7C 92 D0 30 5A 54

5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 90 94 6A D5 58 50 6C 91 42
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 90 94 6A D5 58 50 6C 91 42
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 90 94 6A D5 58 50 6C 91 42

5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48
A5 12 06 C5 39 79 DD 25 FF 8B 27 91 0D 8D B4 28 00 36 E3 F8
5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48
A5 12 06 C5 39 79 DD 25 FF 8B 27 91 0D 8D B4 28 00 36 E3 F8
5A 0B 80 0A 79 95 FC 73 11 0A F7 39 48
A5 12 06 C5 39 79 DD 25 FF 8B 27 91 0D 8D B4 28 00 36 E3 F8

5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 D2 35 6C 3D B3 E2 78 EA A3
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 D2 35 6C 3D B3 E2 78 EA A3
5A 0A 81 FC B4 1E 2D A9 AF A3 07 1D
A5 0A 06 D2 35 6C 3D B3 E2 78 EA A3

Boryan добавил 17-05-2010 в 02:23
Boryan, а как насчёт 80-ой команды?

А в чём прикол между этими разными запросами и одинаковыми ответами?

это ты из какого лога нарыл? очень интересно ...подтверждаются мои догадки что ну не могла соня так сильно замутить батарейку ..да ещё с привязкой ответов по времени....походу это тупо библиотеки...типа с такого диапазона кода по такой то....ответ один на всех...

Boryan добавил 17-05-2010 в 02:26
ErikPshat, лана вот соберу к-лайны вам ....мы сообща покажем батарейкам кузькину мать :)))

ErikPshat
17.05.2010, 02:27
это ты из какого лога нарыл?
Boryan, в каждой цитате есть такая ссылка на пост http://www.pspx.ru/forum/cleardoc/buttons/viewpost.gif (http://www.pspx.ru/forum/showpost.php?p=887187&postcount=466)
Она кликабельна =)

stasik007
17.05.2010, 02:33
есть идея - назовём Battery-swap сделать две батарейки сервисную и обычную и пусть на вопросы про серийник и состояние отвечает сервисная а на 80 и 81 нормальная - вдруг прокатит?

Boryan
17.05.2010, 02:38
ErikPshat, подскажи как делаете раскрывающиеся трейлеры....я чота не разберусь в движке форума...или опера не дат мне это делать...а то я своими логами весь форум загажу

Boryan добавил 17-05-2010 в 02:35
stasik007, ооо превед...тож не спится? а как будешь отвечать на 80D9 ???? какой батарейкой....Ты давай тож подключайся к издевательствам над батарейками ..а то сочковать начал :)

Boryan добавил 17-05-2010 в 02:38
нужно вычислять алгоритм 80 и 81 команд....и тогда останется только 80D9 ломануть ...правда на чём всё это эмулировать? я про алгоритмы ..

stasik007
17.05.2010, 02:53
Получается ещё одна хитрость батареек? Если он "отдохнули" мальца :) просто полежали без зызы, то и ответы от них на 81 и 80 адекватные :) а как с зызой поработают то начинают выкобениваться? :) очень интересные батарейки :)))
может защита от брута?

Boryan
17.05.2010, 03:13
Есть мысль что Стасовы самые древние батарейки умеют отвечать на 80D9... но видать соня перестраховалась... во первых вырезала этот ответ полностью у более свежих батареек ...но и за одно изменила на всякий случай алгоритм ответа 80D9 что бы не могли воспользоваться старой батарейкой ..но старая умеет на него отвечать пусть и не правильно. Выходит, что в батарейках они используют свою первую разработку что была сделана на 1000 зызу ...позже они её урезали убрали работу с 14 и 13 командой ...но для 3000 пандоры слегка изменили алгоритм ответа на 80D9...

Boryan добавил 17-05-2010 в 02:57
может защита от брута?

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

Boryan добавил 17-05-2010 в 03:02
я же говорю что используют старую изначально разработанную программу для контроллера батарейки...только подрихтовали ответ на 80D9 и всё...И я ещё уверен что этот алгоритм ответа на 80D9 можно изменить ...изменив какие то байты во внешнем епроме. Сам пойми ..нужна мобильность и возможность создать пандору 3000 на месте в авторизованных центрах сони...а в СЦ сонях наверняка и используют старые, древние и родные батарейки в которых есть все ранее заложенные функции.....

Boryan добавил 17-05-2010 в 03:06
код FF и 00 они же оставили....это подтверждает мои доводы что всё по старому лишь слегка подрихтованно...Смысла нет делать sys con и батарейку с чистого листа....экономически не выгодно....+ нужно сохранить поддержку старых алгоритмов в новых разработках....а память и у sys con и контроллера батарейки не резиновая...

Boryan добавил 17-05-2010 в 03:13
Время будет на днях сниму лог с PSP GO и посмотрим на их развитие :))) сдаётся мне что там всё осталось по старому :)))

ErikPshat
17.05.2010, 03:23
Мне вообще кажется, что SysCon и контроллёр батареи - это просто тупые железки.
Для их функционирования должна быть программа.
Допустим, psp убитая, без прошивки в нанде, то получив питание от батарейки syscon запрашивает "ты кто", она отвечает - "это_я_твоя_батарейка". Затем syscon запрашивает "какой у тебя серийник", батарея даёт ему серийник и если серийник сервисный, то дальше должен с карты грузиться драйвер syscon.prx, который берёт управление питанием.

А без драйвера, мне кажется, на большее, на брут или ещё что, сам syscon не способен.
И думаю, что всё-таки при обращени к карте лампочка не моргает, а всё делается в тихом режиме до тех пор, пока не пройдёт правильная инициализация и пока они не подружатся.
Кстати, я проверял, syscon.prx один и тот-же для всех моделей.

ANDPSP
17.05.2010, 12:14
Мне вообще кажется, что SysCon и контроллёр батареи - это просто тупые железки.
А без драйвера, мне кажется, на большее, на брут или ещё что, сам syscon не способен.


Ну они могли легко в чип включить аппаратный шифратор/дешифратор AES - это же не сложно, а процесс идентификации батарейки улучшит...
Ведь странно что 80 запрос консоли получает строго 16 байт а 81 уже 8 байт...
А потом вспомни поведение консоли когда в нее вставляешь запандоренную батарейку - что происходит если карточка с пандорой не вставлена? Ведь консоль стартует и подает питание на картоприемник, зеленая лампочка горит и в таком состоянии консоль будет находится до того момента пока ты не вставишь карточку с пандорой, тогда консоль запустится, а если вставишь обычную карточку то нет и даже если быстро вытащишь обычную и вставишь пандору то все равно ничего не получится... Значит SYSCON не такой уж и примитивный и после удачной идентификации дает питание на картоприемник, включает лампочку и инициирует старт консоли с карточки и все это без загруженных с карты драйверов...

И еще Boryan ты уверен что когда подключал к консоли батарейку с k-line, то изолировал средний выход батарейки до подпайки k-line, а то может у тя и эмуляция с PC шла и сама батарейка отвечала или ты только батарейку и мучаешь ?

ErikPshat

Провел маленький эксперимент, вставлял в свою фатку запандоренную батарейку и быстро вытаскивал карточку с пандорой - если успевал это сделать до того как загорится зеленый огонек, то консоль оставалась в ожидании карточки, а если после или как сразу зажглась то консоль стартовала ... Значит можно сделать вывод что зажигание зеленого диода совпадает с началом работы картоприемника - но это все после удачной идентификации батарейки...

stasik007
17.05.2010, 17:09
Мне вообще кажется, что SysCon и контроллёр батареи - это просто тупые железки.
И думаю, что всё-таки при обращени к карте лампочка не моргает, а всё делается в тихом режиме до тех пор, пока не пройдёт правильная инициализация и пока они не подружатся.
.
Вынужден огорчить - поскольку лично проверял осцилографом - КАРТРИДЕР МОЛЧИТ!!!

Boryan
17.05.2010, 18:28
ErikPshat, забудь про эту мысль. Я уже много раз говорил что пока syscon не договорится с батарейкой ни чего не работает. И даже он сам работает только модулем общения с батарейкой...а модуль ответственный за клоки на ЦП и другие микрухи...МОЛЧИТ!!! Как молчат и модули опроса кнопок , запуска контроллера питания...всё молчит!!!А ЦП без клоков, это просто железяка. А посему ни каких опросов картридера и USB порта быть не может. А вот то, что ты подловил одинаковый ответ на разные 80 запросы ....это очень интересно и наталкивает на мысль что шифрования ключика в батарейке НЕТУ!!!Ведь шифрование разных ключей ни когда не может дать одинаковый ответ...и снова приходит мысль что мы работаем тупо с библиотеками ....которые необходимо просчитать :)

Boryan добавил 17-05-2010 в 18:22
И ещё :) Мне вообще кажется, что SysCon и контроллёр батареи - это просто тупые железки.
На счёт контроллера батарейки ещё можно так сказать, но насчёт syscon у которого 84!!! ноги я бы не стал говорить.....хоть и мал клоп, да вонюч :)))

Boryan добавил 17-05-2010 в 18:28
и файл syscon.prx это файл который пришется в syscon только в модуль работы с кнопками...тупо определяя какая кнопка за что будет отвечать..так же в рекавери меню есть доступ в syscon....вспомни пункт в меню где мы можем менять частоту работы процессора....клоки одним словом....и за это всё отвечает syscon....

ANDPSP
17.05.2010, 19:14
Интересно а кто нибудь слушал диалог 3000-й консоли и запандоренной батарейки если ее вставить в включенную консоль с подключенным внешним питанием, а потом внешнее питание отключить - просто на забугорном сайте нашел инфу что так народ делал ... Кто нить может повторить эксперимент ?

Boryan
17.05.2010, 20:32
ANDPSP, А что это даст? буржуи -дураки!!!:) Это даст обычный старт зызы. У меня по работе в основном все батарейки пандора и иногда нужно включить для проверки зызу, а как известно зыза с пандоры стартанёт только если шитая и в ней стоит стик пандоровский. Так вот, я тупо стартую с зарядки а потом вставляю батарейку пандору, и отключаю зарядку зыза продолжает работать от батарейки...Код FF в батарейке говорит при старте зызы откуда грузиться.....а коли мы стартанули с зарядки, то зыза уже включилась и загрузилась и ей уже пофигу на все коды батарейки.... Так что пусть буржуи сами делают свои эксперименты.

Boryan добавил 17-05-2010 в 20:01
lport3, Всё же свожусь к мнению...что не статичные ответы батарейки, это не что иное как косяк с таймингами в твоей проге...Если прога работает стабильно то и ответы одинаковые на одинаковые запросы...а если косячит то и ответы разные ....вот сегодня те же условия...те же батарейки...а ответы разные ....

Boryan добавил 17-05-2010 в 20:32
ну вот взял у Стаса батарейку умеющую отвечать на 80D9...оказалось всё банально....галимый кетай ещё из первых подделок:) который умеет отвечать вообще на все 80хх команды....даже на те которых не существует :) Кетайсы видать престраховались на всякий случай, сделали ответы на все 80хх и все 81хх.....но они уже тогда знали алгоритм ответа на 80 и 81.... 5A 0B 80 00 11 11 11 11 11 11 11 11 92
A5 12 06 0E D6 36 AF D4 99 5E 74 EA 47 55 3E 54 33 C4 7C AF
5A 0B 80 01 11 11 11 11 11 11 11 11 91
A5 12 06 BB C2 05 DA BA 3F C6 4E 4F B7 F6 DC 31 C5 AF B6 A6
5A 0B 80 02 11 11 11 11 11 11 11 11 90
A5 12 06 9C 48 BF 23 A4 C6 CF B2 D4 40 ED E0 50 41 16 81 88
5A 0B 80 03 11 11 11 11 11 11 11 11 8F
A5 12 06 91 4A 1B D5 46 B6 A0 C0 7A D8 41 19 06 98 CA 71 96
5A 0B 80 04 11 11 11 11 11 11 11 11 8E
A5 12 06 57 62 B2 46 A7 94 B4 78 6A 62 2D 80 20 37 DF 1D 5E
5A 0B 80 05 11 11 11 11 11 11 11 11 8D
A5 12 06 81 81 4B 78 E3 25 93 0B B7 B7 F7 E6 7E D2 6D 31 9E
5A 0B 80 06 11 11 11 11 11 11 11 11 8C
A5 12 06 BE 3D CC 77 57 23 5B CF 97 35 F4 CC 0C BC DB 36 FB
5A 0B 80 07 11 11 11 11 11 11 11 11 8B
A5 12 06 79 F0 B9 4C F5 E8 2B 5D 9B 9A FC 98 8D 17 EB 40 D7
5A 0B 80 08 11 11 11 11 11 11 11 11 8A
A5 12 06 35 51 DE 57 59 B0 2F EF FA AA 34 77 D3 16 6D 65 56
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 B0 39 33 91 8F 72 43 40 19 44 C0 48 60 07 98 F6 B7
5A 0B 80 0A 11 11 11 11 11 11 11 11 88
A5 12 06 D1 F1 12 9B 0F 44 5E 7C 72 BC B4 23 6D 5E 8B ED 5E
5A 0B 80 0B 11 11 11 11 11 11 11 11 87
A5 12 06 8E 97 71 F6 0A AA 8B C1 73 4C F0 7B 26 8C 34 2B 7B
5A 0B 80 0C 11 11 11 11 11 11 11 11 86
A5 12 06 1E D8 D4 80 BE 8A DE EC 48 EC F3 87 F5 A6 4A 09 4A
5A 0B 80 0D 11 11 11 11 11 11 11 11 85
A5 12 06 57 51 F6 C3 A4 BC FA 61 49 BC 60 16 82 0F D4 46 00
5A 0B 80 0E 11 11 11 11 11 11 11 11 84
A5 12 06 37 FC 76 57 39 D6 6D 8A DC 8C CA 54 5B 85 39 26 77
5A 0B 80 0F 11 11 11 11 11 11 11 11 83
A5 12 06 DD 32 7E E1 A8 8A B5 54 57 A0 0D DB 58 0C D2 21 63
5A 0B 80 10 11 11 11 11 11 11 11 11 82
A5 12 06 3C 68 3C D6 09 68 71 FE 4A 57 6B 03 31 21 CD 8B F3
5A 0B 80 11 11 11 11 11 11 11 11 11 81
A5 12 06 A1 5F 64 3C C4 19 7E FE 80 3C F0 43 3E DF 7A 49 7A
5A 0B 80 12 11 11 11 11 11 11 11 11 80
A5 12 06 45 3B 28 56 C8 BF 96 D6 31 8E 3F D3 A9 23 61 31 22
5A 0B 80 13 11 11 11 11 11 11 11 11 7F
A5 12 06 A7 DD DC 43 9C 83 7D 41 D5 F1 F5 B1 AE 4E 47 92 81
5A 0B 80 14 11 11 11 11 11 11 11 11 7E
A5 12 06 0B 84 2E CB 15 4C DF 6F D3 DE 38 08 B2 C6 02 75 2B
5A 0B 80 15 11 11 11 11 11 11 11 11 7D
A5 12 06 E1 28 CD 3B 2B 50 16 4E 08 94 89 0E 90 7F 3E A8 2A
5A 0B 80 16 11 11 11 11 11 11 11 11 7C
A5 12 06 BC 3D 5E 53 B3 21 98 CE F5 A4 FC EA 78 84 4B 36 62
5A 0B 80 17 11 11 11 11 11 11 11 11 7B
A5 12 06 4F EA CE 99 1A 2B 5A ED BD 59 B3 E3 47 E2 ED D1 83
5A 0B 80 18 11 11 11 11 11 11 11 11 7A
A5 12 06 E9 98 B0 F5 21 FD FA 43 81 43 AA F9 79 CB D2 6F D5
5A 0B 80 19 11 11 11 11 11 11 11 11 79
A5 12 06 AE 8C 5F B8 3F 35 FC 01 0E 1C FF 5D 1E DB 42 FF C0
5A 0B 80 1A 11 11 11 11 11 11 11 11 78
A5 12 06 32 5B 4C CC 48 C4 F0 F5 09 6E 78 1E A3 A0 AC 01 AF
5A 0B 80 1B 11 11 11 11 11 11 11 11 77
A5 12 06 07 5F A9 63 88 4C 0F E5 78 78 F3 03 19 12 85 EE 84
5A 0B 80 1C 11 11 11 11 11 11 11 11 76
A5 12 06 1D 97 1E 18 ED A2 90 83 1E 6B 70 23 17 AD 33 B7 EC
5A 0B 80 1D 11 11 11 11 11 11 11 11 75
A5 12 06 6A 39 F2 B7 C2 3D B3 A4 49 8B BA 15 C6 50 E9 E5 19
5A 0B 80 1E 11 11 11 11 11 11 11 11 74
A5 12 06 B2 2A BD 32 FF E0 3E DD FE E8 9D 94 36 5D B5 83 9B
5A 0B 80 1F 11 11 11 11 11 11 11 11 73
A5 12 06 7E D6 55 03 74 1E EF 88 D6 D7 07 74 8D 36 99 52 B7
5A 0B 80 20 11 11 11 11 11 11 11 11 72
A5 12 06 D8 FE 31 FB 10 88 80 41 70 72 8F 39 1A BA B8 49 68
5A 0B 80 21 11 11 11 11 11 11 11 11 71
A5 12 06 91 19 22 34 11 34 0E 11 7E 60 D5 C6 BC D4 C1 6C A8
5A 0B 80 22 11 11 11 11 11 11 11 11 70
A5 12 06 7F E9 3E 00 D6 0B 08 C7 E4 F2 90 DA EF 77 DC EB 7F
5A 0B 80 23 11 11 11 11 11 11 11 11 6F
A5 12 06 C5 82 FA C3 B0 14 6D DE 15 45 9B 92 56 EB B8 8B 24
5A 0B 80 24 11 11 11 11 11 11 11 11 6E
A5 12 06 30 45 25 92 29 D0 4D CE E9 6D B6 9D 95 37 A5 C2 26
5A 0B 80 25 11 11 11 11 11 11 11 11 6D
A5 12 06 47 C5 F8 EF A5 D9 5F 54 39 30 A1 C1 1E FE 21 D8 3E

5A 0B 80 00 11 11 11 11 11 11 11 11 92
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 01 11 11 11 11 11 11 11 11 91
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 02 11 11 11 11 11 11 11 11 90
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 03 11 11 11 11 11 11 11 11 8F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 04 11 11 11 11 11 11 11 11 8E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 05 11 11 11 11 11 11 11 11 8D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 06 11 11 11 11 11 11 11 11 8C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 07 11 11 11 11 11 11 11 11 8B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 08 11 11 11 11 11 11 11 11 8A
A5 12 06 67 A3 DD CB F5 54 68 0E 35 D4 23 1E DD C1 C0 0C 1D
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 8E CC 1D 40 A8 0E 22 DF 4F F4 F2 ED A8 F0 7F 5A 41
5A 0B 80 0A 11 11 11 11 11 11 11 11 88
A5 12 06 DB 00 17 5B 7F 41 96 F9 5B DD 28 94 EF 7E 37 F0 1E
5A 0B 80 0B 11 11 11 11 11 11 11 11 87
A5 12 06 CA D9 D5 73 FF 87 31 FF 98 E8 77 6E 5F 6A 30 3A 09
5A 0B 80 0C 11 11 11 11 11 11 11 11 86
A5 12 06 CB FB 10 51 A9 F3 F0 BF 7B 17 A8 F4 64 C1 7F 19 E5
5A 0B 80 0D 11 11 11 11 11 11 11 11 85
A5 12 06 97 75 40 AB 80 47 02 C6 EC 9F F7 17 41 50 17 9F DC
5A 0B 80 0E 11 11 11 11 11 11 11 11 84
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 0F 11 11 11 11 11 11 11 11 83
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 10 11 11 11 11 11 11 11 11 82
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 11 11 11 11 11 11 11 11 11 81
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 12 11 11 11 11 11 11 11 11 80
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 13 11 11 11 11 11 11 11 11 7F
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 14 11 11 11 11 11 11 11 11 7E
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 15 11 11 11 11 11 11 11 11 7D
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 16 11 11 11 11 11 11 11 11 7C
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 17 11 11 11 11 11 11 11 11 7B
A5 12 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33
5A 0B 80 18 11 11 11 11 11 11 11 11 7A

lport3
17.05.2010, 21:06
это китайский фуфел
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 B0 39 33 91 8F 72 43 40 19 44 C0 48 60 07 98 F6 B7

вот такой первый кусок должен быть
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 8E CC 1D 40 A8 0E 22 DF 4F F4 F2 ED A8 F0 7F 5A 41

http://www.pspx.ru/forum/showthread.php?p=884257#post884257
--------------------
вторые 8 байт в ответе, это синхра по времени,
именно из за них нельзя "перехватывать и подменять",
задержка по моим подсчетам 25-50мс.
--------------------
Всё же свожусь к мнению...что не статичные ответы батарейки, это не что иное как косяк с таймингами в твоей проге...Если прога работает стабильно то и ответы одинаковые на одинаковые запросы...а если косячит то и ответы разные ....вот сегодня те же условия...те же батарейки...а ответы разные ....
Я уже говорил тебе, что временные 8 байт у тебя были одинаковые из за
сброса одного из счетчиков, но этот счетчик не один..
-------------------
Да ладно....мне кажется всё проще гораздо...просто мы пока идём не той тропинкой...ну нету смысла так наворачивать батарейку....невыгодно экономически....
блажен неведающий..))
Разница между 4 байтами и 16 знаешь какая?.. 16-4=.. нет..))
-------------------
lport3, а что ответишь на мой вопрос по поводу кривых нестатичных ответов на 80 команды? Что косячит в итоге связка PL2303 или твоя прога? Или нужно делать К-лайн который без МАХа работает от настоящего СОМ порта, и работать по реальному СОм порту только на транзисторах....походу МАХ свои косяки добавляет.... и только тогда мы избавимся от мусора...Сдаётся мне что мы тупо в мусоре сейчас ковыряемся ....я про ответы на 80 ....а таким образом алгоритма нам не просчитать...
))может микрухи взять не наши а японские, глядишь
и выровняется все..
-------------------
ты всё же утверждаешь что есть временная привязка? Тогда как китайцы раскусили и повторили алгоритм ответа но 80?
ты выпивший что ль ?
самая первая мысль в этом посте..читай внимательнее.

Boryan
17.05.2010, 21:23
lport3, а что ответишь на мой вопрос по поводу кривых нестатичных ответов на 80 команды? Что косячит в итоге связка PL2303 или твоя прога? Или нужно делать К-лайн который без МАХа работает от настоящего СОМ порта, и работать по реальному СОм порту только на транзисторах....походу МАХ свои косяки добавляет.... и только тогда мы избавимся от мусора...Сдаётся мне что мы тупо в мусоре сейчас ковыряемся ....я про ответы на 80 ....а таким образом алгоритма нам не просчитать...

Boryan добавил 17-05-2010 в 21:18
ты всё же утверждаешь что есть временная привязка? Тогда как китайцы раскусили и повторили алгоритм ответа но 80?

Boryan добавил 17-05-2010 в 21:23
ты меня не понял :) про наворачивать батарейку :) разницу между 4 и 16 байтами знаю :) Я в смысле истории создания ПСП ...получается что создавая первую ПСП разработчики в ней сделали защиту только от не родного софта....но не сделали НИКАКОЙ защиты при загрузке с стика...и заливай что хочешь....таким образом и взломали ПСП....но при этом они в то время положили все свои силы на защиту копеечной батарейки....и такого там накрутили что и по сей день батарейку не ломанули....Смысл в этом каков?

lport3
17.05.2010, 21:34
получается что создавая первую ПСП разработчики в ней сделали защиту только от не родного софта....но не сделали НИКАКОЙ защиты при загрузке с стика...и заливай что хочешь....таким образом и взломали ПСП....но при этом они в то время положили все свои силы на защиту копеечной батарейки....и такого там накрутили что и по сей день батарейку не ломанули....Смысл в этом каков?
Могу еще штуки 3 поста своих по этой теме нарыть здесь, но
лень, так что повторюсь..
Слом эфками в серийнике это дыра, которую прохлопали разработчики.
Интересно, сколько япошек по этому поводу сделали харакири..))
Сейчас все функционирует в штатном, как и задумывалось, режиме.
Батарейка изначально задумывалась как ключ от сервисного режима.

Boryan
17.05.2010, 21:40
Я уже говорил тебе, что временные 8 байт у тебя были одинаковые из за
сброса одного из счетчиков, но этот счетчик не один.. Не находишь ли странным что этот счётчик вчера одновременно сбросился на 12 штуках батарейках? Вчера все батарейки давали стабильные статические ответы на 80хх команду....почему интересно? И в зызы я их вставлял....ответ конечно был другой но он был одинаковый!!! Или в батарейке есть календарь и по чётным дням она выдаёт стабильные ответы? :)))

Boryan добавил 17-05-2010 в 21:40
lport3, Слома по FF батарейки не было !!! Просто в сервисном центре забыли вытащить такую батарейку и она попала в руки умельцам...ну а далее дело техники :) и продолжение истории :)

lport3
17.05.2010, 21:44
Не находишь ли странным что этот счётчик вчера одновременно сбросился на 12 штуках батарейках? Вчера все батарейки давали стабильные статические ответы на 80хх команду....почему интересно? И в зызы я их вставлял....ответ конечно был другой но он был одинаковый!!! Или в батарейке есть календарь и по чётным дням она выдаёт стабильные ответы? :)))
А у меня сейчас псп временами виснет, и перегружается,
почему?...а еще в протоколе псп запрашивает у батарейки
дополнительные длинные пакеты, на которые батарейка отвечает
негативно.. Защиты для того и делают, чтобы не допустить основного
"защищаемого" события.. и как не огорчительно всеми способами.

lport3 добавил 17-05-2010 в 21:44
lport3, Слома по FF батарейки не было !!! Просто в сервисном центре забыли вытащить такую батарейку и она попала в руки умельцам...ну а далее дело техники :) и продолжение истории :)
а вот это важно.. это точная информация?

Boryan
17.05.2010, 21:59
lport3, а вот это важно.. это точная информация?
Да, это было имеено так ....Взлом ПСП был сделан только потому что в СЦ Сони забыли вытащить из зызы мемори стик сервисный с пандорой и батарейку с кодом FF ....так и отдали клиенту полный комплект....а клиент не дурак оказался :)

Boryan добавил 17-05-2010 в 21:54
Думаю после этого и начали ковырять батарейку на предмет смены в ней серийника на FF....

Boryan добавил 17-05-2010 в 21:59
Но опять же странно выглядит это...значит батарейку сони защищает выше крыши ....а с картридера грузи что хочешь в зызу ....любую прошивку....или они думали что защита с той стороны не нужна раз есть мощная защита в батарейке? Которая в итоге оказалась для любого пионера лёгкой :)

ANDPSP
17.05.2010, 22:30
ANDPSP, А что это даст? буржуи -дураки!!!:) Это даст обычный старт зызы.

Хех, если это действительно работает - тогда прослушав диалог 3000-й консоли и запандоренной батарейки (FFFFFFFF) мы можем узнать что она отвечает на 80 и 81 запросы, они же и при включенной консоли сыпятся....

Да и не дураки они совсем - все чем мы занимаемся - они начали в далеком 2005 году, здесь уже упоминали инфу из этого топика, но может кому интересно полностью почитать будет
http://forums.ps2dev.org/viewtopic.php?t=3917&postdays=0&postorder=asc&start=0 и кстати контроллер батарейки, чей PDF изучали тоже отсюда - он здесь и упоминается и сфоткан великолепно....

ANDPSP добавил 17-05-2010 в 22:30
это китайский фуфел
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 B0 39 33 91 8F 72 43 40 19 44 C0 48 60 07 98 F6 B7

вот такой первый кусок должен быть
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 8E CC 1D 40 A8 0E 22 DF 4F F4 F2 ED A8 F0 7F 5A 41

http://www.pspx.ru/forum/showthread.php?p=884257#post884257


Что то я не догнал... lport3 а объясни популярно почему
вот такой первый кусок должен быть
5A 0B 80 09 11 11 11 11 11 11 11 11 89
A5 12 06 8E CC 1D 40 A8 0E 22 DF 4F F4 F2 ED A8 F0 7F 5A 41

Boryan
17.05.2010, 23:13
ANDPSP, а что это даст? Ты просто увидишь разницу в организации команд при прямом включении батарейки и при включении батарейки с включенным зарядником....Я чота не понимаю чего ты хочешь там увидеть?

Alex14435
18.05.2010, 05:39
Сони защитили загрузку с стика но слабо, брутфорсом ломанули четыре байта подписи и привет, пандора :)

ANDPSP
18.05.2010, 11:23
ANDPSP, а что это даст? Ты просто увидишь разницу в организации команд при прямом включении батарейки и при включении батарейки с включенным зарядником....Я чота не понимаю чего ты хочешь там увидеть?

Хочу увидеть общение запандоренной батарейки и 3000-й консоли, там будут 80 и 81 запросы и ответы,

5A 02 01 A2
5A 02 01 A2
A5 05 06 00 B0 04 9B
5A 0B 80 00 DA F6 6B 7A 16 14 60 63 78
A5 12 06 90 74 62 E0 56 4B 22 AD A5 24 F5 84 9A E6 E3 45 A2
5A 0A 81 DF 99 F5 5F 2F 32 56 6A 2D
A5 0A 06 45 EC DA 9B D3 FE 25 0D A1
пауза
5A 02 01 A2
5A 02 01 A2
A5 05 06 00 B0 04 9B
5A 0B 80 00 D6 ED 5E C5 81 64 E0 EC 83
A5 12 06 13 3E 79 24 B0 1A AB 20 84 61 FC 92 53 C0 2D C2 4A
5A 0A 81 77 39 BA D5 10 EE 6F 4A 24
A5 0A 06 75 86 BC 11 0D EE FA 65 28
пауза
5A 02 01 A2
5A 02 01 A2
A5 05 06 00 88 04 C3
5A 0B 80 00 38 D7 9D 5C F2 B5 9D BE 10
A5 12 06 D0 1F FE AA E2 7B DC AD 7C 5D D7 4E 38 D7 5E AD AD
5A 0A 81 21 18 97 F6 E4 31 C6 4F 2A
A5 0A 06 D4 2E 74 DB A0 4C BE 09 46
пауза
5A 02 01 A2
5A 02 01 A2
A5 05 06 00 76 04 D5
5A 0B 80 00 75 F9 80 17 F9 69 5F F1 63
A5 12 06 BA A4 B9 C7 31 9D B1 F9 AA 17 B7 2F F9 1B C0 F1 80
5A 0A 81 3F 03 FA FF 9A 9C 7C BA 73
A5 0A 06 28 E9 34 07 53 A1 49 71 50

это общение фатки и запандоренной батарейки, консоль выключена, внешние питание подключено...

Плохо одно - что в таких режимах консоль не запрашивает серийник батарейки вообще и у меня сложилось мнение что серийник запрашивается только один раз - при вставке батарейки... а это фигово для экспериментов - каждый раз нужно будет вытаскивать батарейку и вставлять заново или делать прерыватель по питанию какой то...

anton85
18.05.2010, 16:01
Кстати да, серийник запрашивается 1 раз и после этого консоль уходит в сервис мод (если речь про 1000,2000) потом если включать выключать консоль - она все-равно будет считать батарею запандоренной (даже если в процессе использовать утилиту по смене серийника и сделать ее обычной (если речь про 1000 где это легко делается програмно).

Т.е. действительно если мы хотим получить сервисный режим на 3000 то скорее всего нужны последовательности при первом знакомстве псп и батареи (т.е. процесс вставки батареи в псп без подключенной зарядки (если есть зарядка то в этом случае псп помнит серийник батареи)).

Alex14435
18.05.2010, 16:09
И лучше если это будет батарейка от PSP-3000...

lport3
20.05.2010, 02:32
Нужны логи с батареек, 2000 и 3000
80080000000000000001
80080000000000000010
80080000000000000011
80080000000000000100
80080000000000001000
80080000000000000111
80080000000000001111
только эти, других не надо.
китайские тоже не пойдут..
спасибо.

ANDPSP
20.05.2010, 12:33
Нужны логи с батареек, 2000 и 3000
только эти, других не надо.
китайские тоже не пойдут..
спасибо.

Не понял... они сейчас все китайские... или тебе именно батарейки, которые в комплекте с консолями идут, нужны ? типа SP-110 или как они там маркируются... или ты старые батарейки от фаток имел ввиду ? Уточни плиз... просто моя толстая батарейка на 1800 mah PSP-110 тоже Made in China....

ErikPshat
20.05.2010, 12:46
ANDPSP, да не, китайскими называют не выпущенные в Китае, т.к. щас всё выпускается там, а имеются ввиду неоригинальные, т.е. те, которые сделаны в подвале и называют подделками.

Boryan
20.05.2010, 21:50
Нужны логи с батареек, 2000 и 3000
80080000000000000001
80080000000000000010
80080000000000000011
80080000000000000100
80080000000000001000
80080000000000000111
80080000000000001111
только эти, других не надо.
китайские тоже не пойдут..
спасибо.

С каких батареек нужны логи? Точнее скажи. Батареек много у меня...есть и японские...но в основном китайские но официальные от сони...есть батарейки от 2000 которые пандорятся програмно....есть от 3000 которые не пандорятся и у них убрали 13 и 14 команду....какие логи нужны ?

Boryan добавил 20-05-2010 в 21:50
начну вот японских ....одна из них пандорится программно другая без 13 и 14 команды...вот они
http://s41.radikal.ru/i092/1005/ff/dbf7b01e752et.jpg (http://radikal.ru/F/s41.radikal.ru/i092/1005/ff/dbf7b01e752e.jpg.html)

lport3
20.05.2010, 22:01
Японские точно пойдут..)
если у них еепром не сдернут, то пойдут
для логов несмотря на серийники.
Вообще. нужны 300х совместимые батарейки,
про старые батарейки. больше для интереса спрашиваю..
Что то я не догнал... lport3 а объясни популярно почему
первые 8 байт в ответе на нормальных батарейках одинаковые.

Boryan
20.05.2010, 22:27
И так логи с батарейки у которой нет 13 и 14 команд. Делал по три запроса на каждую команду с паузой 1 сек
5A 0B 80 08 00 00 00 00 00 00 00 01 11
A5 12 06 6E 80 1F 8F D1 F2 07 B6 B1 C8 CE E2 C7 C4 81 B3 3E
5A 0B 80 08 00 00 00 00 00 00 00 01 11
A5 12 06 6E 80 1F 8F D1 F2 07 B6 E2 C8 29 B0 23 79 65 E7 BB
5A 0B 80 08 00 00 00 00 00 00 00 01 11
A5 12 06 6E 80 1F 8F D1 F2 07 B6 A4 83 0F FC 07 23 D9 15 DC
5A 0B 80 08 00 00 00 00 00 00 00 10 02
A5 12 06 45 94 2F 91 60 3D DE A1 A4 83 0F FC 07 23 D9 15 43
5A 0B 80 08 00 00 00 00 00 00 00 10 02
A5 12 06 45 94 2F 91 60 3D DE A1 A8 18 E5 EA BB 78 F5 3D 99
5A 0B 80 08 00 00 00 00 00 00 00 10 02
A5 12 06 45 94 2F 91 60 3D DE A1 A8 18 E5 EA BB 78 F5 3D 99
5A 0B 80 08 00 00 00 00 00 00 00 11 01
A5 12 06 5A 3E 33 E1 FC 72 4C 0F A8 18 E5 EA BB 78 F5 3D D9
5A 0B 80 08 00 00 00 00 00 00 00 11 01
A5 12 06 5A 3E 33 E1 FC 72 4C 0F A8 18 E5 EA BB 78 F5 3D D9
5A 0B 80 08 00 00 00 00 00 00 00 11 01
A5 12 06 5A 3E 33 E1 FC 72 4C 0F A8 18 E5 EA BB 78 F5 3D D9
5A 0B 80 08 00 00 00 00 00 00 01 00 11
A5 12 06 E7 BB 54 75 55 84 53 55 A8 18 E5 EA BB 78 F5 3D 62
5A 0B 80 08 00 00 00 00 00 00 01 00 11
A5 12 06 E7 BB 54 75 55 84 53 55 A8 18 E5 EA BB 78 F5 3D 62
5A 0B 80 08 00 00 00 00 00 00 01 00 11
A5 12 06 E7 BB 54 75 55 84 53 55 A8 18 E5 EA BB 78 F5 3D 62
5A 0B 80 08 00 00 00 00 00 00 10 00 02
A5 12 06 7B 9D 24 8F 6C CA 40 C8 A8 18 E5 EA BB 78 F5 3D 45
5A 0B 80 08 00 00 00 00 00 00 10 00 02
A5 12 06 7B 9D 24 8F 6C CA 40 C8 E2 C8 29 B0 23 79 65 E7 CE
5A 0B 80 08 00 00 00 00 00 00 10 00 02
A5 12 06 7B 9D 24 8F 6C CA 40 C8 A8 18 E5 EA BB 78 F5 3D 45
5A 0B 80 08 00 00 00 00 00 00 01 11 00
A5 12 06 0A 8B 7A 98 02 31 2D CC E2 C8 29 B0 23 79 65 E7 04
5A 0B 80 08 00 00 00 00 00 00 01 11 00
A5 12 06 0A 8B 7A 98 02 31 2D CC A8 18 E5 EA BB 78 F5 3D 7B
5A 0B 80 08 00 00 00 00 00 00 01 11 00
A5 12 06 0A 8B 7A 98 02 31 2D CC A8 18 E5 EA BB 78 F5 3D 7B
5A 0B 80 08 00 00 00 00 00 00 11 11 F0
A5 12 06 8C 97 86 0D C4 D5 F1 8D A8 18 E5 EA BB 78 F5 3D 81
5A 0B 80 08 00 00 00 00 00 00 11 11 F0
A5 12 06 8C 97 86 0D C4 D5 F1 8D A8 18 E5 EA BB 78 F5 3D 81
5A 0B 80 08 00 00 00 00 00 00 11 11 F0
A5 12 06 8C 97 86 0D C4 D5 F1 8D E2 C8 29 B0 23 79 65 E7 0A


Boryan добавил 20-05-2010 в 22:03
lport3, Это 100% 3000 совместимые батарейки и они не старые а новые.

Boryan добавил 20-05-2010 в 22:17
Сколько запросов делать одной командой? Сейчас начну снимать лог с которая пандорится

Boryan добавил 20-05-2010 в 22:21
Но одно пока озадачивает ...не нашёл не одной батарейки (среди огромной кучи) которая умеет отвечать на 80D9.......походу это и есть секрет пандоры 3000....уметь правильно ответить на этот запрос...И сдаётся мне что активация этого ответа зарыта во внешнем епроме контроллера батарейки....иначе каков смысл закрытия доступа к епрому в новых батарейках?

Boryan добавил 20-05-2010 в 22:25
лог батарейки которая пандорится
5A 0B 80 08 00 00 00 00 00 00 00 01 11
A5 12 06 6E 80 1F 8F D1 F2 07 B6 7E 91 1A 33 37 4A 7D 6C 60
5A 0B 80 08 00 00 00 00 00 00 00 01 11
A5 12 06 6E 80 1F 8F D1 F2 07 B6 14 44 AC 16 B9 7D A7 D4 5B
5A 0B 80 08 00 00 00 00 00 00 00 01 11
A5 12 06 6E 80 1F 8F D1 F2 07 B6 14 44 AC 16 B9 7D A7 D4 5B
5A 0B 80 08 00 00 00 00 00 00 00 10 02
A5 12 06 45 94 2F 91 60 3D DE A1 41 0E 7A 3E AE 04 33 E1 C0
5A 0B 80 08 00 00 00 00 00 00 00 10 02
A5 12 06 45 94 2F 91 60 3D DE A1 A4 31 EB 1F BC F1 FE 11 F2
5A 0B 80 08 00 00 00 00 00 00 00 10 02
A5 12 06 45 94 2F 91 60 3D DE A1 A4 31 EB 1F BC F1 FE 11 F2
5A 0B 80 08 00 00 00 00 00 00 00 11 01
A5 12 06 5A 3E 33 E1 FC 72 4C 0F 41 92 81 F2 43 42 6D A6 EF
5A 0B 80 08 00 00 00 00 00 00 00 11 01
A5 12 06 5A 3E 33 E1 FC 72 4C 0F 17 9C CB B3 D7 1E 0A 13 8A
5A 0B 80 08 00 00 00 00 00 00 00 11 01
A5 12 06 5A 3E 33 E1 FC 72 4C 0F 17 9C CB B3 D7 1E 0A 13 8A
5A 0B 80 08 00 00 00 00 00 00 01 00 11
A5 12 06 E7 BB 54 75 55 84 53 55 63 8C E0 DE EC 44 59 23 FD
5A 0B 80 08 00 00 00 00 00 00 01 00 11
A5 12 06 E7 BB 54 75 55 84 53 55 8E 32 24 E1 98 AE 52 7A 7F
5A 0B 80 08 00 00 00 00 00 00 01 00 11
A5 12 06 E7 BB 54 75 55 84 53 55 9B BD 4C 2D B1 57 A5 47 91
5A 0B 80 08 00 00 00 00 00 00 10 00 02
A5 12 06 7B 9D 24 8F 6C CA 40 C8 C8 A8 08 A2 43 15 90 10 27
5A 0B 80 08 00 00 00 00 00 00 10 00 02
A5 12 06 7B 9D 24 8F 6C CA 40 C8 86 8C 49 E4 EB 38 E4 15 DE
5A 0B 80 08 00 00 00 00 00 00 10 00 02
A5 12 06 7B 9D 24 8F 6C CA 40 C8 97 44 97 40 C6 45 B8 24 A0
5A 0B 80 08 00 00 00 00 00 00 01 11 00
A5 12 06 0A 8B 7A 98 02 31 2D CC 86 8C 49 E4 EB 38 E4 15 14
5A 0B 80 08 00 00 00 00 00 00 01 11 00
A5 12 06 0A 8B 7A 98 02 31 2D CC E6 10 EB 9E 81 65 08 F9 09
5A 0B 80 08 00 00 00 00 00 00 01 11 00
A5 12 06 0A 8B 7A 98 02 31 2D CC E6 10 EB 9E 81 65 08 F9 09
5A 0B 80 08 00 00 00 00 00 00 11 11 F0
A5 12 06 8C 97 86 0D C4 D5 F1 8D E6 10 EB 9E 81 65 08 F9 0F
5A 0B 80 08 00 00 00 00 00 00 11 11 F0
A5 12 06 8C 97 86 0D C4 D5 F1 8D E6 10 EB 9E 81 65 08 F9 0F
5A 0B 80 08 00 00 00 00 00 00 11 11 F0
A5 12 06 8C 97 86 0D C4 D5 F1 8D 25 B8 5D 86 BA A9 EB A1 C6


Boryan добавил 20-05-2010 в 22:27
lport3, ты давай не стесняйси :) я пока у компа с к-лайн и кучи батареек сижу ....давай команды что делать :) Щас забабахаем :)

lport3
20.05.2010, 22:44
Нет, этих логов "за глаза". :good:

Boryan
21.05.2010, 00:07
ОК ....нуууу....ты ежели чего...заходи (с) :)))http://www.youtube.com/watch?v=4EOcFKipLf0

Boryan добавил 21-05-2010 в 00:07
lport3, Мысли есть какие по поводу 80D9? как на неё отвечать? Алгоритм тот же что и в 80хх как думаешь?

lport3
21.05.2010, 00:41
При реализации протокола надо учитывать узость
канала, низкую процессоемкость микроконтроллера в батарейке...
Принимает пакет и обрабатывает одна и та же процедура,
направляющие при этом первые два байта, 8008,80д9...
Судя по куче логов в топике таких направляющих много всяких разных,
и городить для каждого подпрограмму нереально, значит все они
обрабатываются одинаково. Ну а направляющие ( - #8000) это либо
адрес, либо ключ, либо адрес ключа.
Второй 8 байт блок для синхры времени, скорее всего передается один
раз, как добавочный пакет. Возможно, без него будет тоже работать..

Boryan
21.05.2010, 01:12
Вот завтра отдам ребятам
ErikPshat,
ANDPSP, девайсы к-лайн и надеюсь работа ускорится..А то пока ты один реально копаешь ....ну и я мальца в меру своих знаний...нас уже четверо будет..а это уже сила:) жаль что больше ни кто не хочет этим заниматься...
Но после 80хх есть ещё 81....что про неё скажешь?

Boryan добавил 21-05-2010 в 01:12
ну и на всякий случай логи по твоему алгоритму но 81 команда
5A 0A 81 00 00 00 00 00 00 00 01 19
A5 0A 06 0B 28 38 8D D3 C2 30 B0 DD
5A 0A 81 00 00 00 00 00 00 00 01 19
A5 0A 06 7E 54 3D BD 12 F6 1F 23 34
5A 0A 81 00 00 00 00 00 00 00 01 19
A5 0A 06 7F 82 91 BD 7F 58 49 19 C2
5A 0A 81 00 00 00 00 00 00 00 10 0A
A5 0A 06 22 04 BB CC C5 CD 24 81 66
5A 0A 81 00 00 00 00 00 00 00 10 0A
A5 0A 06 9C 10 64 5F 48 4E 7D E9 DF
5A 0A 81 00 00 00 00 00 00 00 10 0A
A5 0A 06 02 F1 87 38 57 9D 01 D3 D0
5A 0A 81 00 00 00 00 00 00 00 11 09
A5 0A 06 53 70 86 A6 21 7D D3 8C 5E
5A 0A 81 00 00 00 00 00 00 00 11 09
A5 0A 06 B8 D2 76 1C ED E0 5F 20 E2
5A 0A 81 00 00 00 00 00 00 00 11 09
A5 0A 06 BE 54 92 BE 4E D3 38 FA 95
5A 0A 81 00 00 00 00 00 00 01 00 19
A5 0A 06 45 AF 7E 24 32 8D B4 56 EB
5A 0A 81 00 00 00 00 00 00 01 00 19
A5 0A 06 31 53 2A A0 BA 14 E7 84 C3
5A 0A 81 00 00 00 00 00 00 01 00 19
A5 0A 06 2D AD 10 5E 7C 2C 13 37 10
5A 0A 81 00 00 00 00 00 00 10 00 0A
A5 0A 06 6C B8 9E 8A 77 71 7D 15 84
5A 0A 81 00 00 00 00 00 00 10 00 0A
A5 0A 06 B5 3B 4E 21 7B 9C 8C DA 6E
5A 0A 81 00 00 00 00 00 00 10 00 0A
A5 0A 06 0A E5 F3 78 3F C8 5E A3 E8
5A 0A 81 00 00 00 00 00 00 01 11 08
A5 0A 06 E4 48 EA FC BB 1C 16 63 E8
5A 0A 81 00 00 00 00 00 00 01 11 08
A5 0A 06 41 E2 78 AD 0D 55 0F 7A 17
5A 0A 81 00 00 00 00 00 00 01 11 08
A5 0A 06 CE BF D2 B5 73 69 F1 83 E6
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 31 57 00 4B 30 DE F2 54 23
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 34 21 E5 B4 EF 15 29 C6 69
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 D4 5B A0 F2 1D F4 B9 8B 34

lport3
21.05.2010, 01:22
Можешь сделать так же только 8009...
То, что ты снял с 81й команды интересно, не думал, что батарейка может
ответить на такое.
Одинаковые запросы но разные ответы..хм.

Boryan
21.05.2010, 02:58
лови :) 80095A 0B 80 09 00 00 00 00 00 00 00 01 10
A5 12 06 9C 32 54 EA 72 89 E9 92 A8 18 E5 EA BB 78 F5 3D CC
5A 0B 80 09 00 00 00 00 00 00 00 01 10
A5 12 06 9C 32 54 EA 72 89 E9 92 ED 85 DE 5E A8 B0 07 FF B4
5A 0B 80 09 00 00 00 00 00 00 00 01 10
A5 12 06 9C 32 54 EA 72 89 E9 92 ED 85 DE 5E A8 B0 07 FF B4
5A 0B 80 09 00 00 00 00 00 00 00 10 01
A5 12 06 B8 71 15 04 C4 46 D3 1A ED 85 DE 5E A8 B0 07 FF FD
5A 0B 80 09 00 00 00 00 00 00 00 10 01
A5 12 06 B8 71 15 04 C4 46 D3 1A 46 25 25 B2 CE 61 B7 0D D4
5A 0B 80 09 00 00 00 00 00 00 00 10 01
A5 12 06 B8 71 15 04 C4 46 D3 1A 67 E6 04 8A AF 37 11 F6 41
5A 0B 80 09 00 00 00 00 00 00 00 11 00
A5 12 06 79 0E FD 5C CA 1A FD 97 67 E6 04 8A AF 37 11 F6 22
5A 0B 80 09 00 00 00 00 00 00 00 11 00
A5 12 06 79 0E FD 5C CA 1A FD 97 67 E6 04 8A AF 37 11 F6 22
5A 0B 80 09 00 00 00 00 00 00 00 11 00
A5 12 06 79 0E FD 5C CA 1A FD 97 46 25 25 B2 CE 61 B7 0D B5
5A 0B 80 09 00 00 00 00 00 00 01 00 10
A5 12 06 3A 4B 36 7B 04 57 69 07 67 E6 04 8A AF 37 11 F6 79
5A 0B 80 09 00 00 00 00 00 00 01 00 10
A5 12 06 3A 4B 36 7B 04 57 69 07 9C 32 EF 9E 7B 40 EC C4 7B
5A 0B 80 09 00 00 00 00 00 00 01 00 10
A5 12 06 3A 4B 36 7B 04 57 69 07 9C 32 EF 9E 7B 40 EC C4 7B
5A 0B 80 09 00 00 00 00 00 00 10 00 01
A5 12 06 13 D6 A8 05 21 C2 DC B7 9C 32 EF 9E 7B 40 EC C4 70
5A 0B 80 09 00 00 00 00 00 00 10 00 01
A5 12 06 13 D6 A8 05 21 C2 DC B7 37 C2 02 C8 BB 5C 69 85 6E
5A 0B 80 09 00 00 00 00 00 00 10 00 01
A5 12 06 13 D6 A8 05 21 C2 DC B7 C9 25 53 6C EC 67 F5 96 AB
5A 0B 80 09 00 00 00 00 00 00 01 11 FF
A5 12 06 C8 11 8D 1B DC 15 0E CE 6B 17 83 11 28 96 40 4E 92
5A 0B 80 09 00 00 00 00 00 00 01 11 FF
A5 12 06 C8 11 8D 1B DC 15 0E CE 71 30 03 4D 2D B8 93 6E 1D
5A 0B 80 09 00 00 00 00 00 00 01 11 FF
A5 12 06 C8 11 8D 1B DC 15 0E CE 71 30 03 4D 2D B8 93 6E 1D
5A 0B 80 09 00 00 00 00 00 00 11 11 EF
A5 12 06 2A DE CA 5C A3 DC 94 44 71 30 03 4D 2D B8 93 6E E6
5A 0B 80 09 00 00 00 00 00 00 11 11 EF
A5 12 06 2A DE CA 5C A3 DC 94 44 69 12 EE 0E B0 D1 A5 B1 6F
5A 0B 80 09 00 00 00 00 00 00 11 11 EF
A5 12 06 2A DE CA 5C A3 DC 94 44 EA 57 8A E9 CF 17 25 2F CF


Boryan добавил 21-05-2010 в 01:37
дык если ломанём 80хх то за ней идёт запрос 81хххххх....и только потом зыза дружит с батарейкой :(

Boryan добавил 21-05-2010 в 01:39
а вот ещё 81 команда но одни 0000 и ответ одинаковый 5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD


Boryan добавил 21-05-2010 в 01:43
а вот лог 81 команды по твоему алгоритму с японской батарейки :) 5A 0A 81 00 00 00 00 00 00 00 01 19
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 01 19
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 01 19
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 10 0A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 10 0A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 10 0A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 11 09
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 11 09
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 00 11 09
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 01 00 19
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 01 00 19
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 01 00 19
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 01 11 08
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 01 11 08
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 01 11 08
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 10 00 0A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 10 00 0A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 10 00 0A
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 2D 32 BB 1B A8 78 6E DA AD


Boryan добавил 21-05-2010 в 01:49
короче ипонские батарейки на 81 команду отвечают всегда одинаково....китайцы всегда по разному....и в обеих случаях зыза хавает ответы на 81 команду....вот лог и брут и всякая смесь в 81 команде на японской батарейке....ответ один :) 5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 00 00 11 11 F8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 00 01 11 11 F7
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 00 01 11 11 F7
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 01 11 11 11 E6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 01 11 11 11 E6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 00 00 00 00 01 11 11 11 E6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 33 33 33 33 33 33 33 33 82
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 33 33 33 33 33 33 33 33 82
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 56 DA
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 56 DA
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 00 30
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 01 2F
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 02 2E
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 03 2D
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 04 2C
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 05 2B
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 06 2A
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 56 78 90 12 34
Эхо буфера искажено, проверьте подключение.
5A 0A 81 12 34 56 78 90 12 34 00 30
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 01 2F
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 02 2E
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 03 2D
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 04 2C
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 05 2B
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 06 2A
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 07 29
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 08 28
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 09 27
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 0A 26
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 0B 25
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 0C 24
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 0D 23
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 0E 22
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 0F 21
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 10 20
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 11 1F
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 12 1E
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 13 1D
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 14 1C
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 15 1B
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 16 1A
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 17 19
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 18 18
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 19 17
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 1A 16
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 1B 15
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 1C 14
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 1D 13
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 1E 12
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 1F 11
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 20 10
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 21 0F
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 22 0E
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 23 0D
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 24 0C
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 25 0B
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 26 0A
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 27 09
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 28 08
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 29 07
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 2A 06
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 2B 05
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 2C 04
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 2D 03
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 2E 02
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 2F 01
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 30 00
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 31 FF
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 32 FE
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 33 FD
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 34 FC
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 35 FB
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 36 FA
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 37 F9
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 38 F8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 39 F7
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 3A F6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 3B F5
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 3C F4
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 3D F3
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 3E F2
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 3F F1
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 40 F0
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 41 EF
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 42 EE
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 43 ED
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 44 EC
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 45 EB
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 46 EA
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 47 E9
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 48 E8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 49 E7
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 4A E6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 4B E5
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 4C E4
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 4D E3
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 4E E2
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 4F E1
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 50 E0
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 51 DF
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 52 DE
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 53 DD
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 54 DC
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 55 DB
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 56 DA
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 57 D9
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 58 D8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 59 D7
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 5A D6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 5B D5
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 5C D4
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 5D D3
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 5E D2
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 5F D1
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 60 D0
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 61 CF
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 62 CE
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 63 CD
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 64 CC
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 65 CB
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 66 CA
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 67 C9
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 68 C8
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 69 C7
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 6A C6
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 6B C5
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 6C C4
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 6D C3
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 6E C2
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 6F C1
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 70 C0
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 71 BF
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 90 12 34 72 BE
A5 0A 06 57 B4 D5 BC F2 7D 06 C0 79
5A 0A 81 12 34 56 78 56 78 90 12 34



Boryan добавил 21-05-2010 в 02:00
не батарейки а сплошная загадка....две нулёвые 1цикл заряда..батарейки японские на 81 команду стабильный статический ответ на разные значения 8 байт команды...при чём вставлял их в зызы играл на зызах и потом только снимал логи.....такие же японские батарейки но уже поработавшие в зызах с неизвестным циклом зарядов.....дают разные ответы на 81 команду....бредятина какая то....это то нафига?

Boryan добавил 21-05-2010 в 02:19
ППЦ как вставил японскую батарейку с кодом FFF в 3000 и она есно запросила 32 запроса....батарейка на 81 .....стала отвечать....динамически.....Вставлял японскую батарейку с нормальным серийником в 3000....включал зызу ....потом 81 команда ..брут ...ответ одинаковый статический....что за хрень такая? Выходит 80D9 как то связанна с 81 командой? и после 32 запросов 80d9.....ответы на 81 команду динамические....

Boryan добавил 21-05-2010 в 02:28
Продолжаю мучить батарейку....81 запрос+брут... ответ динамический. Разбираю батарейку....отрываю батарейку от контроллера и снова подключаю...тем самым заставляя работать контроллер с чистого листа....81 запрос+брут ...ответ статический...

Boryan добавил 21-05-2010 в 02:33
выходит что 81 команда строится из ответа батарейки на 80хх и эти две команды работают в связке.....не хило соня замутила...

Boryan добавил 21-05-2010 в 02:52
дальше батарейку пытаем, серийник 000000( автобут)... :) Обнулил контроллер...81+брут...статический ответ. Вставляю батарейку в 2000 зызу, зыза стартует....выключаю зызу...81+брут...статический ответ. Вставляю эту батарейку в 3000!!! .....81+брут...ДИНАМИЧЕСКИЙ ответ! Снова вставляю батарейку в 2000 зызу, зыза стартует....81+брут...статический ответ!!!2000 зыза вылечила батарейку!!! :)))Это что? Выходит что 3000 намеренно сводит батарейку c ума.. с серийником FF и 00?...для того что бы она давала неверные ответы? И что бы 3000 зыза не перешла в сервисный режим? Может в этом весь секрет? Чота я запутался :(((

Boryan добавил 21-05-2010 в 02:58
Выходит 80D9 это не команда запроса .....а команда временного уничтожения батарейки.....и не зря 32 посылки....что бы сбить всю библиотеку ответов в оперативке...ведь другие 80хх команды батарейку с ума не сводят...и после них всегда статический ответ на 81....в отличии от 80D9..

stasik007
21.05.2010, 03:06
умно сделано - если батарейка сервисная то доджна знать ответ на 80д9 а если обычная пандора - то получи по рогам :))

Boryan
21.05.2010, 03:59
но каким образом тогда 2000 зыза возвращает всё на круги своя? Лады, завтра попробую снять лог как 2000 лечит батарейку после 3000....

Boryan добавил 21-05-2010 в 03:11
умно сделано - если батарейка сервисная то доджна знать ответ на 80д9 а если обычная пандора - то получи по рогам :))

Вот она и получает походу 32 раза :))) и не только по рогам

Boryan добавил 21-05-2010 в 03:15
да походу 80хх это команды записи в оперативку по выбранным адресам...затем идёт ответ батарейки что всё ок и она записала по такому то адресу данное зызой значение ...а затем 81 команда что то запрашивает из того адреса куда была сделана запись...ибо точно известно что значение ответа на 81 команду меняется только после того как поработает 80хх команда...ну как то так...это мои догадки

Boryan добавил 21-05-2010 в 03:32
и так ...беру батарейку послаю 81+брут, ответ статический. Делаю запрос 8008 с 0000 и брутом первого байта...255 запросов....и снова 81+брут, ответ статический. Делаю запрос 80D9 c 0000 и брутом первого байта..255 запросов....и проверяем 81+брут....и опа...батарейка сошла с ума......ДИНАМИЧЕСКИЙ ответ!!!

Boryan добавил 21-05-2010 в 03:34
И какие мысли у народа по этому поводу???

Boryan добавил 21-05-2010 в 03:48
А теперь мне сдаётся что на 80D9 вообще нет ответа ...и его быть не может!!! Это ход соней для увода в сторону от истины и для сбоя оперативки контроллера ..это команда записи хлама в оперативку. Ведь после 32 посылок 80D9 зыза вообще перестаёт работать с этой батарейкой и с рычажка не включается даже....Так мало того, эта команда стоит в отдельном ряду от 80хх команда кои расположены по порядку и их не много...вот рабочие команды 8008,8009,800A,800B,800C,800D...и это всё!!!! А вот 80D9 чота далеко от них отстоит....И сдаётся мне в свете последних исследований ,что серийник у пандоры 3000 не ffffffff и 00000000.....а обычный ....но его нужно найти....4 байта это не так уж и много для перебора...

Boryan добавил 21-05-2010 в 03:50
нужно разработать быстрый метод перебора....серийника...

Boryan добавил 21-05-2010 в 03:59
lport3, В свете твоих знаний... как ты считаешь, мои последние доводы...есть в них истина, или я бред написал?

ANDPSP
21.05.2010, 12:06
Вот завтра отдам ребятам
ErikPshat,
ANDPSP, девайсы к-лайн и надеюсь работа ускорится..А то пока ты один реально копаешь ....ну и я мальца в меру своих знаний...нас уже четверо будет..а это уже сила:) жаль что больше ни кто не хочет этим заниматься...


Да уж заждались мы девайсов... Конечно чем больше народу будет тыкаться тем быстрее результат какой то будет... И скорее всего нужно пытать консоль, а не батарейку ... Давно уже можно было бы начать брутить все серийники что бы понять после которых 3000 консоль начинает посылать запрос батарейке 80D9 - хотя скорее всего это будут известные уже FF и 00 - ведь где читал на забугорных форумах что сони забанила эти серийники - получается что именно тем способом до которого вы с lport3 дошли, т.е. 80D9 намеренно вводит в ступор батарейку и та перестает быть рабочей для 3000-й консоли...

ANDPSP добавил 21-05-2010 в 11:45

Boryan добавил 21-05-2010 в 03:50
нужно разработать быстрый метод перебора....серийника...


Быстрого метода не получится потому что консоль запрашивает серийник единожды - когда первый раз батарейка вставляется в тело... Единственное что можно сделать разрыв на плюсе батарейки и тумблер какой нить и принудительно выключать/включать.... Ну или искать команду ресета консоли - может быть определенный ответ на запрос 5A 02 01 A2 в котором содержится уровень заряда батарейки - типа если он меньше 10% то консоль отключится автоматом... но включать ее всеравно придется железячно... засада...

ANDPSP добавил 21-05-2010 в 12:06
но каким образом тогда 2000 зыза возвращает всё на круги своя?
Boryan добавил 21-05-2010 в 03:32
и так ...беру батарейку послаю 81+брут, ответ статический. Делаю запрос 8008 с 0000 и брутом первого байта...255 запросов....и снова 81+брут, ответ статический. Делаю запрос 80D9 c 0000 и брутом первого байта..255 запросов....и проверяем 81+брут....и опа...батарейка сошла с ума......ДИНАМИЧЕСКИЙ ответ!!!
Boryan добавил 21-05-2010 в 03:34
И какие мысли у народа по этому поводу???


А ты не пробовал после ввода в ступор батарейки командами "80D9 c 0000 и брутом первого байта" пробовать снова посылать "запрос 8008 с 0000 и брутом первого байта" - может быть именно 8008 лечит батарейку ? потому что если я правильно помню 80D9 появились только на 3000-й консоли, на фатке и 2000-х такого запроса нет... Или я ошибаюсь ? Или это и есть одно из тех изменений что сони внесла в новый чип SYSCON для 3000-х ?

Boryan
22.05.2010, 13:01
ANDPSP, Твой девайс готов полностью, можешь сегодня забрать.:)

Boryan добавил 21-05-2010 в 12:38
ANDPSP, А ты не пробовал после ввода в ступор батарейки командами "80D9 c 0000 и брутом первого байта" пробовать снова посылать "запрос 8008 с 0000 и брутом первого байта" - может быть именно 8008 лечит батарейку
Только что проверил....лечит!!! Ответ на 81 брутом..статический!!!

Boryan добавил 21-05-2010 в 12:46
Ещё одна интересная феня :) на запросы 80080000000000000000 но с разным временем....всего 4 варианта ответа5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 75 FD 53 4F 7B 28 72 49 4C
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 DC D6 7A E5 83 0D 0D 02 0E
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 5B B1 85 91 43 4A 21 A9 45
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 E0 59 C1 00 BF 2F A6 D6 5A


Boryan добавил 21-05-2010 в 12:54
А вот ещё интересное....подаю 8008 с 00 и за ней 81 с брутом....если ответ на 8008 совпадает то и ответ на 81 и далее по фигу что там в последующих 8 байтах -ОТВЕТ СТАТИЧЕСКИЙ и одинаковый. Значит 80 команда это подготовка к ответу 81 команду...5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 94 73 D2 17 AF FA 3F 71 75
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 C2 DB E3 9A 09 F3 84 90 20
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 C2 DB E3 9A 09 F3 84 90 20
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 70 C8 5F E1 24 98 78 0A 08 вот команда совпала
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 F3 D5 7F 66 80 B4 16 E8 DF
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 2F 79 74 D2 62 BC 03 75 70 C8 5F E1 24 98 78 0A 08 вот команда совпала
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 00 00 00 00 00 00 00 00 1A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 00 00 00 00 00 00 00 55 C5
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 00 00 00 00 00 00 55 70
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 00 00 00 00 00 00 55 70
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 01 00 00 00 00 00 55 6F
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 02 00 00 00 00 00 55 6E
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 03 00 00 00 00 00 55 6D
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 04 00 00 00 00 00 55 6C
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 05 00 00 00 00 00 55 6B
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 06 00 00 00 00 00 55 6A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 07 00 00 00 00 00 55 69
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 08 00 00 00 00 00 55 68
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 09 00 00 00 00 00 55 67
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 0A 00 00 00 00 00 55 66
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 0B 00 00 00 00 00 55 65
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 0C 00 00 00 00 00 55 64
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 0D 00 00 00 00 00 55 63
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 0E 00 00 00 00 00 55 62
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 0F 00 00 00 00 00 55 61
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 10 00 00 00 00 00 55 60
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 11 00 00 00 00 00 55 5F
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 12 00 00 00 00 00 55 5E
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 13 00 00 00 00 00 55 5D
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 14 00 00 00 00 00 55 5C
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 15 00 00 00 00 00 55 5B
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 16 00 00 00 00 00 55 5A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 17 00 00 00 00 00 55 59
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 18 00 00 00 00 00 55 58
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 19 00 00 00 00 00 55 57
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 1A 00 00 00 00 00 55 56
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 1B 00 00 00 00 00 55 55
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 1C 00 00 00 00 00 55 54
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 1D 00 00 00 00 00 55 53
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 1E 00 00 00 00 00 55 52
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 1F 00 00 00 00 00 55 51
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 20 00 00 00 00 00 55 50
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 21 00 00 00 00 00 55 4F
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 22 00 00 00 00 00 55 4E
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 23 00 00 00 00 00 55 4D
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 24 00 00 00 00 00 55 4C
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 25 00 00 00 00 00 55 4B
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 26 00 00 00 00 00 55 4A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 27 00 00 00 00 00 55 49
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 28 00 00 00 00 00 55 48
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 29 00 00 00 00 00 55 47
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 2A 00 00 00 00 00 55 46
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 2B 00 00 00 00 00 55 45
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 2C 00 00 00 00 00 55 44
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 2D 00 00 00 00 00 55 43
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 2E 00 00 00 00 00 55 42
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 2F 00 00 00 00 00 55 41
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 30 00 00 00 00 00 55 40
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 31 00 00 00 00 00 55 3F
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 32 00 00 00 00 00 55 3E
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 33 00 00 00 00 00 55 3D
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 34 00 00 00 00 00 55 3C
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 35 00 00 00 00 00 55 3B
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 36 00 00 00 00 00 55 3A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 37 00 00 00 00 00 55 39
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 38 00 00 00 00 00 55 38
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 39 00 00 00 00 00 55 37
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 3A 00 00 00 00 00 55 36
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 3B 00 00 00 00 00 55 35
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 3C 00 00 00 00 00 55 34
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 3D 00 00 00 00 00 55 33
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 3E 00 00 00 00 00 55 32
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 3F 00 00 00 00 00 55 31
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 40 00 00 00 00 00 55 30
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 41 00 00 00 00 00 55 2F
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 42 00 00 00 00 00 55 2E
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 43 00 00 00 00 00 55 2D
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 44 00 00 00 00 00 55 2C
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 45 00 00 00 00 00 55 2B
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 46 00 00 00 00 00 55 2A
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 47 00 00 00 00 00 55 29
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 48 00 00 00 00 00 55 28
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 49 00 00 00 00 00 55 27
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 4A 00 00 00 00 00 55 26
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 4B 00 00 00 00 00 55 25
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 4C 00 00 00 00 00 55 24
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 4D 00 00 00 00 00 55 23
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 4E 00 00 00 00 00 55 22
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 4F 00 00 00 00 00 55 21
A5 0A 06 C3 95 6C 84 5C 22 4B 93 A6
5A 0A 81 55 50 00 00 00 00 00 55 20

Boryan добавил 21-05-2010 в 12:59
итог ...одинаковые значения ответов на 80, дают одинаковые ответы на 81 не зависимо от значения 8ми байт в 81

Boryan добавил 21-05-2010 в 14:24
ErikPshat, Твой девайс тоже готов. :)

Boryan добавил 22-05-2010 в 11:12
ну вот и сбылись мои догадки по поводу батарейки от Стаса которая умеет отвечать на 80D9.....китайцы перестраховались и весь диапазон 80хх команд от 00 до FF они перекрыли .....И походу второй байт в 80 команде вообще непонятно за что отвечает.....за алгоритм? За адреса ключей? Куда интересно запихнули в батарейке 255 штук 16 байт ключей?...И может это и не правильно ....но эту "левую" батарейку как ни странно принимает 3000 и прекрасно с ней работает. Выходит что батарейка правильно отвечает и на команды 3000....а там уже не 8008 а 800A....команды изменены....значит и на 80D9 батарейка правильно отвечает....выходит 80D9 лажовая команда? ..... 5A 0B 80 00 00 00 00 00 00 00 00 00 1A
A5 12 06 31 A9 81 78 95 41 0C 63 1B 1B DF CA A0 97 65 9F 10
5A 0B 80 01 00 00 00 00 00 00 00 00 19
A5 12 06 D9 FD 87 BB 99 83 87 D6 90 7D 3E F2 82 BD 40 B5 40
5A 0B 80 02 00 00 00 00 00 00 00 00 18
A5 12 06 33 FA 96 33 F8 16 00 16 BE 1B BD E7 6C E4 AC 70 3F
5A 0B 80 03 00 00 00 00 00 00 00 00 17
A5 12 06 F0 90 9C AB 3F 91 FB 11 C0 70 A1 52 C4 0A FF 45 6A
5A 0B 80 04 00 00 00 00 00 00 00 00 16
A5 12 06 BB 0B 40 5B EF 82 2D 0C 34 FA 51 6B 16 83 D4 D0 10
5A 0B 80 05 00 00 00 00 00 00 00 00 15
A5 12 06 1C 8B B3 E5 4F 9D 25 7D 26 35 38 6F E3 33 27 97 9F
5A 0B 80 06 00 00 00 00 00 00 00 00 14
A5 12 06 E9 5F 2C 93 1B B4 B0 B7 81 5E 1D 5A 20 06 CB 84 3A
5A 0B 80 07 00 00 00 00 00 00 00 00 13
A5 12 06 8F 36 DA DF 0A 9A 23 21 C7 6E 10 95 30 F0 F5 25 C8
5A 0B 80 08 00 00 00 00 00 00 00 00 12
A5 12 06 07 FA F7 11 A2 C7 E9 F3 51 24 4A 02 30 99 7E 64 88
5A 0B 80 09 00 00 00 00 00 00 00 00 11
A5 12 06 CE 0A 3D 98 1E D0 C9 53 81 5A 59 94 7C 53 8A F5 75
5A 0B 80 0A 00 00 00 00 00 00 00 00 10
A5 12 06 99 20 20 AE 37 E7 BC 0F 07 73 D1 D4 9E 8C 8C BE 3F
5A 0B 80 0B 00 00 00 00 00 00 00 00 0F
A5 12 06 9D 4D F6 9E 99 B1 AC DC 6E 0C 64 7B A0 DE 87 E6 AE
5A 0B 80 0C 00 00 00 00 00 00 00 00 0E
A5 12 06 80 8F 70 F8 CF D5 D2 E0 4D 96 4C F7 62 D0 75 7F 29
5A 0B 80 0D 00 00 00 00 00 00 00 00 0D
A5 12 06 2F E9 D1 AA 01 3A 0A 91 34 1C 30 AD B6 91 C7 09 95
5A 0B 80 0E 00 00 00 00 00 00 00 00 0C
A5 12 06 16 7B 8D 92 03 E9 D0 83 32 BE 35 A1 DC E8 1B BA F4
5A 0B 80 0F 00 00 00 00 00 00 00 00 0B
A5 12 06 9B F4 39 26 5B 92 F1 91 23 F2 93 A6 16 D3 16 CE CA
5A 0B 80 10 00 00 00 00 00 00 00 00 0A
A5 12 06 74 06 1A 6C 04 14 78 D5 1D 20 5F 55 F0 7D 53 00 2C
5A 0B 80 11 00 00 00 00 00 00 00 00 09
A5 12 06 74 1A FA FC 5D B0 4A 95 55 4C 48 ED DA AB 3C 14 27
5A 0B 80 12 00 00 00 00 00 00 00 00 08
A5 12 06 3D B0 4E 4F 45 0C B5 D4 C0 11 90 05 DE 2F 0B 2C 34
5A 0B 80 13 00 00 00 00 00 00 00 00 07
A5 12 06 72 B2 E8 BC 84 63 A4 6B C8 56 79 72 9B 00 98 CB 7D
5A 0B 80 14 00 00 00 00 00 00 00 00 06
A5 12 06 F3 F8 CA 18 BB 90 D0 31 D4 B1 89 25 01 87 4C F2 30
5A 0B 80 15 00 00 00 00 00 00 00 00 05
A5 12 06 18 E1 F7 F4 88 83 7E A5 23 07 A3 C3 98 E3 09 0B 11
5A 0B 80 16 00 00 00 00 00 00 00 00 04
A5 12 06 4C 6F 7B D6 4B DE 70 8C FE 0A 6D AD B7 DD CB 41 4F
5A 0B 80 17 00 00 00 00 00 00 00 00 03
A5 12 06 74 F1 0D D1 63 6F 80 8D 9A 5F AE 64 DA 85 E0 B6 20
5A 0B 80 18 00 00 00 00 00 00 00 00 02
A5 12 06 F0 B9 D0 30 E8 6A C6 32 1B 92 34 0C 37 72 18 A3 FE
5A 0B 80 19 00 00 00 00 00 00 00 00 01
A5 12 06 79 AD 76 3D 22 D5 AF 69 AA 49 55 8E B7 D8 A3 42 10
5A 0B 80 1A 00 00 00 00 00 00 00 00 00
A5 12 06 8D 7B 79 D2 9D 14 DA 48 A1 96 EA D1 19 2E D0 E1 32
5A 0B 80 1B 00 00 00 00 00 00 00 00 FF
A5 12 06 30 7E 06 81 B2 FB 95 8E 21 C7 91 79 F5 A1 C4 B0 41
5A 0B 80 1C 00 00 00 00 00 00 00 00 FE
A5 12 06 7A 5C 64 04 5D EC 8F 85 B6 C1 9E DB B9 CA 19 B3 68
5A 0B 80 1D 00 00 00 00 00 00 00 00 FD
A5 12 06 13 D2 26 D9 D5 BA C1 B2 35 23 D1 1D F6 C7 4B 2B E3
5A 0B 80 1E 00 00 00 00 00 00 00 00 FC
A5 12 06 C5 BD 57 D2 61 66 85 DE D7 86 45 49 D1 73 B5 15 74
5A 0B 80 1F 00 00 00 00 00 00 00 00 FB
A5 12 06 6A 62 B7 36 C9 B4 1E 56 04 97 CC 12 47 E7 AA DA 6D
5A 0B 80 20 00 00 00 00 00 00 00 00 FA
A5 12 06 CE 50 A6 14 1C 54 DB C5 9C 7E 9B 6A 8E 8A AF 05 6F
5A 0B 80 21 00 00 00 00 00 00 00 00 F9
A5 12 06 04 A7 89 6D 9B 85 BF BF 4A 85 14 2E A1 44 B4 5D FC
5A 0B 80 22 00 00 00 00 00 00 00 00 F8
A5 12 06 6A D0 96 81 9A 3A 68 94 67 15 4C 62 EB 9D FF 4F 21
5A 0B 80 23 00 00 00 00 00 00 00 00 F7
A5 12 06 CB 6A EF BE F2 60 7B CF 55 B7 18 30 03 0B BE 22 82
5A 0B 80 24 00 00 00 00 00 00 00 00 F6
A5 12 06 77 B3 57 D9 81 6D CB 74 A0 FD 01 CA FC 10 4C 43 B8
5A 0B 80 25 00 00 00 00 00 00 00 00 F5
A5 12 06 BE 1F 91 89 9E 63 76 54 1E D8 C9 3E 94 FE 95 81 DB
5A 0B 80 26 00 00 00 00 00 00 00 00 F4
A5 12 06 BE 1F 91 89 9E 63 76 54 42 79 05 5D 4C B6 96 68 63
5A 0B 80 27 00 00 00 00 00 00 00 00 F3
A5 12 06 BE 1F 91 89 9E 63 76 54 09 48 20 6A 65 68 FF 00 D9
5A 0B 80 28 00 00 00 00 00 00 00 00 F2
A5 12 06 07 FA F7 11 A2 C7 E9 F3 38 15 44 F9 4A B5 50 89 92
5A 0B 80 29 00 00 00 00 00 00 00 00 F1
A5 12 06 CE 0A 3D 98 1E D0 C9 53 AE 6C F5 A8 E7 96 03 86 CE
5A 0B 80 2A 00 00 00 00 00 00 00 00 F0
A5 12 06 99 20 20 AE 37 E7 BC 0F D6 66 1D 75 62 CE CA 9A 70
5A 0B 80 2B 00 00 00 00 00 00 00 00 EF
A5 12 06 9D 4D F6 9E 99 B1 AC DC DE 26 0D AC B9 9B DB 49 BD
5A 0B 80 2C 00 00 00 00 00 00 00 00 EE
A5 12 06 80 8F 70 F8 CF D5 D2 E0 49 E3 35 E1 84 88 24 08 FB
5A 0B 80 2D 00 00 00 00 00 00 00 00 ED
A5 12 06 2F E9 D1 AA 01 3A 0A 91 02 81 81 D6 FB 04 68 B7 E1
5A 0B 80 2E 00 00 00 00 00 00 00 00 EC
A5 12 06 16 7B 8D 92 03 E9 D0 83 57 13 EB 47 13 D2 79 A1 B8
5A 0B 80 2F 00 00 00 00 00 00 00 00 EB
A5 12 06 9B F4 39 26 5B 92 F1 91 6B 77 AD 0E FB E9 94 2D A3
5A 0B 80 30 00 00 00 00 00 00 00 00 EA
A5 12 06 74 06 1A 6C 04 14 78 D5 3E 0F 30 A1 AC 86 D2 68 53
5A 0B 80 31 00 00 00 00 00 00 00 00 E9
A5 12 06 74 1A FA FC 5D B0 4A 95 92 73 1C EA 26 26 38 EE 55
5A 0B 80 32 00 00 00 00 00 00 00 00 E8
A5 12 06 3D B0 4E 4F 45 0C B5 D4 F1 56 DE 48 8F 04 1F D9 E6
5A 0B 80 33 00 00 00 00 00 00 00 00 E7
A5 12 06 72 B2 E8 BC 84 63 A4 6B 0E E4 D5 A9 80 C6 B9 29 EC
5A 0B 80 34 00 00 00 00 00 00 00 00 E6
A5 12 06 F3 F8 CA 18 BB 90 D0 31 5E FD 3F 5B EA 20 97 51 42
5A 0B 80 35 00 00 00 00 00 00 00 00 E5
A5 12 06 18 E1 F7 F4 88 83 7E A5 3D 4B 18 DC 5C 8C 02 32 98
5A 0B 80 36 00 00 00 00 00 00 00 00 E4
A5 12 06 4C 6F 7B D6 4B DE 70 8C 31 C7 1F 94 3B DD 98 5E 58
5A 0B 80 37 00 00 00 00 00 00 00 00 E3
A5 12 06 74 F1 0D D1 63 6F 80 8D F4 70 69 72 61 87 80 97 E2
5A 0B 80 38 00 00 00 00 00 00 00 00 E2
A5 12 06 F0 B9 D0 30 E8 6A C6 32 9D 4B A2 8A 73 A2 98 E9 A5
5A 0B 80 39 00 00 00 00 00 00 00 00 E1
A5 12 06 79 AD 76 3D 22 D5 AF 69 78 64 EE 60 C8 6D 16 1E C7
5A 0B 80 3A 00 00 00 00 00 00 00 00 E0
A5 12 06 8D 7B 79 D2 9D 14 DA 48 BD BE D6 52 FE ED 4A 9B A9
5A 0B 80 3B 00 00 00 00 00 00 00 00 DF
A5 12 06 30 7E 06 81 B2 FB 95 8E 98 AB 68 89 A5 CD 23 FC 78
5A 0B 80 3C 00 00 00 00 00 00 00 00 DE
A5 12 06 7A 5C 64 04 5D EC 8F 85 6C 8F 5C FC 29 7E 8C 67 BA
5A 0B 80 3D 00 00 00 00 00 00 00 00 DD
A5 12 06 13 D2 26 D9 D5 BA C1 B2 C3 A5 DF FB 47 8A E4 10 55
5A 0B 80 3E 00 00 00 00 00 00 00 00 DC
A5 12 06 C5 BD 57 D2 61 66 85 DE EC CA 6B 7C E3 B5 FE 4D ED
5A 0B 80 3F 00 00 00 00 00 00 00 00 DB
A5 12 06 6A 62 B7 36 C9 B4 1E 56 22 B7 4A 09 E5 2E 6F 69 81
5A 0B 80 40 00 00 00 00 00 00 00 00 DA
A5 12 06 CE 50 A6 14 1C 54 DB C5 19 3E 7E 78 B1 98 A4 3C E4
5A 0B 80 41 00 00 00 00 00 00 00 00 D9
A5 12 06 04 A7 89 6D 9B 85 BF BF 7C F3 2C 75 A9 B7 FC 81 16
5A 0B 80 42 00 00 00 00 00 00 00 00 D8
A5 12 06 6A D0 96 81 9A 3A 68 94 A7 06 86 10 0C 96 4C 07 E9
5A 0B 80 43 00 00 00 00 00 00 00 00 D7
A5 12 06 CB 6A EF BE F2 60 7B CF CF F9 F4 38 9F CE BF 91 13
5A 0B 80 44 00 00 00 00 00 00 00 00 D6
A5 12 06 77 B3 57 D9 81 6D CB 74 AC B4 06 33 92 E7 C3 BF 27
5A 0B 80 45 00 00 00 00 00 00 00 00 D5
A5 12 06 BE 1F 91 89 9E 63 76 54 C4 E7 14 F5 F1 17 A1 16 0D
5A 0B 80 46 00 00 00 00 00 00 00 00 D4
A5 12 06 BE 1F 91 89 9E 63 76 54 99 6F 6A 7F AA 60 9D BC 2C
5A 0B 80 47 00 00 00 00 00 00 00 00 D3
A5 12 06 BE 1F 91 89 9E 63 76 54 81 70 C4 D7 38 7D B9 36 50
5A 0B 80 48 00 00 00 00 00 00 00 00 D2
A5 12 06 07 FA F7 11 A2 C7 E9 F3 F8 64 A0 16 58 60 33 30 C7
5A 0B 80 49 00 00 00 00 00 00 00 00 D1
A5 12 06 CE 0A 3D 98 1E D0 C9 53 9F 82 E0 6F CD CB F4 A4 EB
5A 0B 80 4A 00 00 00 00 00 00 00 00 D0
A5 12 06 99 20 20 AE 37 E7 BC 0F E1 0D 4D 46 D0 34 3A 3D D6
5A 0B 80 4B 00 00 00 00 00 00 00 00 CF
A5 12 06 9D 4D F6 9E 99 B1 AC DC 51 D2 2B BB 3F 04 6F 98 9F
5A 0B 80 4C 00 00 00 00 00 00 00 00 CE
A5 12 06 80 8F 70 F8 CF D5 D2 E0 AF DB 1D 63 90 CC B9 45 11
5A 0B 80 4D 00 00 00 00 00 00 00 00 CD
A5 12 06 2F E9 D1 AA 01 3A 0A 91 34 EB BE E4 2E 64 E1 44 61
5A 0B 80 4E 00 00 00 00 00 00 00 00 CC
A5 12 06 16 7B 8D 92 03 E9 D0 83 F7 CD 3C 8C 0E AB 88 E8 9E
5A 0B 80 4F 00 00 00 00 00 00 00 00 CB
A5 12 06 9B F4 39 26 5B 92 F1 91 C0 51 EB 21 A7 17 87 D9 AA
5A 0B 80 50 00 00 00 00 00 00 00 00 CA
A5 12 06 74 06 1A 6C 04 14 78 D5 4D 3F E0 61 3F 8D 1A 77 B3
5A 0B 80 51 00 00 00 00 00 00 00 00 C9
A5 12 06 74 1A FA FC 5D B0 4A 95 EF 80 F7 8E 37 74 AF 86 FE
5A 0B 80 52 00 00 00 00 00 00 00 00 C8
A5 12 06 3D B0 4E 4F 45 0C B5 D4 A1 F7 CA FF 93 F5 88 B1 BC
5A 0B 80 53 00 00 00 00 00 00 00 00 C7
A5 12 06 72 B2 E8 BC 84 63 A4 6B 29 43 6E C8 E3 61 33 85 E6
5A 0B 80 54 00 00 00 00 00 00 00 00 C6
A5 12 06 F3 F8 CA 18 BB 90 D0 31 39 BB C5 FF D4 C6 DE F3 06
5A 0B 80 55 00 00 00 00 00 00 00 00 C5
A5 12 06 18 E1 F7 F4 88 83 7E A5 2C DA E6 43 B9 5C BE F8 36
5A 0B 80 56 00 00 00 00 00 00 00 00 C4
A5 12 06 4C 6F 7B D6 4B DE 70 8C DE 3B F2 53 02 F6 F5 A4 22
5A 0B 80 57 00 00 00 00 00 00 00 00 C3
A5 12 06 74 F1 0D D1 63 6F 80 8D B4 84 0F 87 A6 CA B4 EA 44
5A 0B 80 58 00 00 00 00 00 00 00 00 C2
A5 12 06 F0 B9 D0 30 E8 6A C6 32 3A 34 51 7F E9 6F 82 00 37
5A 0B 80 59 00 00 00 00 00 00 00 00 C1
A5 12 06 79 AD 76 3D 22 D5 AF 69 96 2B 9E B1 F9 DD EB C8 C1
5A 0B 80 5A 00 00 00 00 00 00 00 00 C0
A5 12 06 8D 7B 79 D2 9D 14 DA 48 7E 40 11 97 1C 08 D4 2D 91
5A 0B 80 5B 00 00 00 00 00 00 00 00 BF
A5 12 06 30 7E 06 81 B2 FB 95 8E 70 F5 BD 5F E3 64 50 10 15
5A 0B 80 5C 00 00 00 00 00 00 00 00 BE
A5 12 06 7A 5C 64 04 5D EC 8F 85 2A E9 37 EA 39 AA D5 06 B5
5A 0B 80 5D 00 00 00 00 00 00 00 00 BD
A5 12 06 13 D2 26 D9 D5 BA C1 B2 75 F9 79 EB 6F 9C 2E D3 7E
5A 0B 80 5E 00 00 00 00 00 00 00 00 BC
A5 12 06 C5 BD 57 D2 61 66 85 DE 41 AD C8 D7 86 16 CE 03 73
5A 0B 80 5F 00 00 00 00 00 00 00 00 BB
A5 12 06 6A 62 B7 36 C9 B4 1E 56 D4 EB 8E B0 6C 65 76 39 1B
5A 0B 80 60 00 00 00 00 00 00 00 00 BA
A5 12 06 CE 50 A6 14 1C 54 DB C5 9B 50 00 80 1B 12 EF 15 BE
5A 0B 80 61 00 00 00 00 00 00 00 00 B9
A5 12 06 04 A7 89 6D 9B 85 BF BF A3 24 2F 3D AC 51 B7 F0 2C
5A 0B 80 62 00 00 00 00 00 00 00 00 B8
A5 12 06 6A D0 96 81 9A 3A 68 94 41 29 A3 55 E2 DB 54 F1 BD
5A 0B 80 63 00 00 00 00 00 00 00 00 B7
A5 12 06 CB 6A EF BE F2 60 7B CF A9 43 2D A9 C0 AB 8C 27 E4
5A 0B 80 64 00 00 00 00 00 00 00 00 B6
A5 12 06 77 B3 57 D9 81 6D CB 74 2D 5A 7B 84 E6 B0 CD 42 90
5A 0B 80 65 00 00 00 00 00 00 00 00 B5
A5 12 06 BE 1F 91 89 9E 63 76 54 A4 B5 2B 0D 28 9F 08 E5 3B
5A 0B 80 66 00 00 00 00 00 00 00 00 B4
A5 12 06 BE 1F 91 89 9E 63 76 54 93 88 C5 C1 EF DE 97 EB 90
5A 0B 80 67 00 00 00 00 00 00 00 00 B3
A5 12 06 BE 1F 91 89 9E 63 76 54 A5 56 64 D3 89 0D F7 35 8C
5A 0B 80 68 00 00 00 00 00 00 00 00 B2
A5 12 06 07 FA F7 11 A2 C7 E9 F3 2F 27 27 FA 3B 17 4D F7 E7
5A 0B 80 69 00 00 00 00 00 00 00 00 B1
A5 12 06 CE 0A 3D 98 1E D0 C9 53 53 F6 83 CE 22 E6 09 E7 F9
5A 0B 80 6A 00 00 00 00 00 00 00 00 B0
A5 12 06 99 20 20 AE 37 E7 BC 0F E5 41 0D 7A 8B 84 F2 46 DE
5A 0B 80 6B 00 00 00 00 00 00 00 00 AF
A5 12 06 9D 4D F6 9E 99 B1 AC DC 1C B1 A0 C9 2A 53 FB 59 EB
5A 0B 80 6C 00 00 00 00 00 00 00 00 AE
A5 12 06 80 8F 70 F8 CF D5 D2 E0 D3 7B E9 7B B7 6A F5 39 74
5A 0B 80 6D 00 00 00 00 00 00 00 00 AD
A5 12 06 2F E9 D1 AA 01 3A 0A 91 F1 24 48 27 12 4B 80 CF A9
5A 0B 80 6E 00 00 00 00 00 00 00 00 AC
A5 12 06 16 7B 8D 92 03 E9 D0 83 BF C0 57 E0 D4 3A 31 5B 03
5A 0B 80 6F 00 00 00 00 00 00 00 00 AB
A5 12 06 9B F4 39 26 5B 92 F1 91 22 B3 83 4C A2 08 1C A4 D7
5A 0B 80 70 00 00 00 00 00 00 00 00 AA
A5 12 06 74 06 1A 6C 04 14 78 D5 DE 08 09 CB EB B3 5E AA 7D
5A 0B 80 71 00 00 00 00 00 00 00 00 A9
A5 12 06 74 1A FA FC 5D B0 4A 95 BA 24 80 01 CA 8A 1C 7B 88
5A 0B 80 72 00 00 00 00 00 00 00 00 A8
A5 12 06 3D B0 4E 4F 45 0C B5 D4 52 35 D3 D7 EE A8 F1 AA 7C
5A 0B 80 73 00 00 00 00 00 00 00 00 A7
A5 12 06 72 B2 E8 BC 84 63 A4 6B 9C FC 32 3C 05 6B D6 26 12
5A 0B 80 74 00 00 00 00 00 00 00 00 A6
A5 12 06 F3 F8 CA 18 BB 90 D0 31 FA 0E AF 94 73 01 B4 69 4D
5A 0B 80 75 00 00 00 00 00 00 00 00 A5
A5 12 06 18 E1 F7 F4 88 83 7E A5 D9 AE 68 1C 74 E9 68 59 07
5A 0B 80 76 00 00 00 00 00 00 00 00 A4
A5 12 06 4C 6F 7B D6 4B DE 70 8C F1 3D 39 59 F0 C7 03 AC EB
5A 0B 80 77 00 00 00 00 00 00 00 00 A3
A5 12 06 74 F1 0D D1 63 6F 80 8D E0 90 51 73 BF C1 E4 89 FF
5A 0B 80 78 00 00 00 00 00 00 00 00 A2
A5 12 06 F0 B9 D0 30 E8 6A C6 32 93 54 AB 38 A5 94 5A E9 09
5A 0B 80 79 00 00 00 00 00 00 00 00 A1
A5 12 06 79 AD 76 3D 22 D5 AF 69 33 EF 6B 6A B6 D2 39 82 20
5A 0B 80 7A 00 00 00 00 00 00 00 00 A0
A5 12 06 8D 7B 79 D2 9D 14 DA 48 F5 0C 4C 21 88 B3 7D 5B 9B
5A 0B 80 7B 00 00 00 00 00 00 00 00 9F
A5 12 06 30 7E 06 81 B2 FB 95 8E A2 DF 0B D5 31 7E F4 DF 5A
5A 0B 80 7C 00 00 00 00 00 00 00 00 9E
A5 12 06 7A 5C 64 04 5D EC 8F 85 C3 10 3E 30 22 E6 15 B0 99
5A 0B 80 7D 00 00 00 00 00 00 00 00 9D
A5 12 06 13 D2 26 D9 D5 BA C1 B2 A1 1B 4E 91 09 44 E6 10 7E
5A 0B 80 7E 00 00 00 00 00 00 00 00 9C
A5 12 06 C5 BD 57 D2 61 66 85 DE 78 2F 1B 79 E3 19 47 FB F4
5A 0B 80 7F 00 00 00 00 00 00 00 00 9B
A5 12 06 6A 62 B7 36 C9 B4 1E 56 3E BE 0F AB FD 0B 93 F4 53
5A 0B 80 80 00 00 00 00 00 00 00 00 9A
A5 12 06 CE 50 A6 14 1C 54 DB C5 AE 67 79 76 9A 0B 01 EE C2
5A 0B 80 81 00 00 00 00 00 00 00 00 99
A5 12 06 04 A7 89 6D 9B 85 BF BF CD C7 6A F8 8D A1 84 FB 60
5A 0B 80 82 00 00 00 00 00 00 00 00 98
A5 12 06 6A D0 96 81 9A 3A 68 94 D8 FB 59 9F A7 FE 03 3B 73
5A 0B 80 83 00 00 00 00 00 00 00 00 97
A5 12 06 CB 6A EF BE F2 60 7B CF AB DF A6 86 1F C1 1C 89 89
5A 0B 80 84 00 00 00 00 00 00 00 00 96
A5 12 06 77 B3 57 D9 81 6D CB 74 F2 C8 9D E8 DE 1F 24 11 4A
5A 0B 80 85 00 00 00 00 00 00 00 00 95
A5 12 06 BE 1F 91 89 9E 63 76 54 D0 6B 03 4A 4C 69 3B 6B 9D
5A 0B 80 86 00 00 00 00 00 00 00 00 94
A5 12 06 BE 1F 91 89 9E 63 76 54 57 3B B7 09 56 63 1A 3B 20
5A 0B 80 87 00 00 00 00 00 00 00 00 93
A5 12 06 BE 1F 91 89 9E 63 76 54 62 F7 B9 F9 11 36 D6 96 C2
5A 0B 80 88 00 00 00 00 00 00 00 00 92
A5 12 06 07 FA F7 11 A2 C7 E9 F3 88 35 59 CC 0E 0C A8 22 2E
5A 0B 80 89 00 00 00 00 00 00 00 00 91
A5 12 06 CE 0A 3D 98 1E D0 C9 53 C0 A6 9D 3B 7B 50 50 87 AB
5A 0B 80 8A 00 00 00 00 00 00 00 00 90
A5 12 06 99 20 20 AE 37 E7 BC 0F 70 0F E6 A2 DB 02 B9 49 EC
5A 0B 80 8B 00 00 00 00 00 00 00 00 8F
A5 12 06 9D 4D F6 9E 99 B1 AC DC 65 16 A9 CD 0B 17 7D 0C 56
5A 0B 80 8C 00 00 00 00 00 00 00 00 8E
A5 12 06 80 8F 70 F8 CF D5 D2 E0 7C 70 FF 52 C8 58 64 6F 45
5A 0B 80 8D 00 00 00 00 00 00 00 00 8D
A5 12 06 2F E9 D1 AA 01 3A 0A 91 9F 5F A0 04 3C CD 1D 85 8C
5A 0B 80 8E 00 00 00 00 00 00 00 00 8C
A5 12 06 16 7B 8D 92 03 E9 D0 83 F7 50 2C 10 99 11 55 4A 87
5A 0B 80 8F 00 00 00 00 00 00 00 00 8B
A5 12 06 9B F4 39 26 5B 92 F1 91 D0 00 EE 25 D5 97 94 A3 5F
5A 0B 80 90 00 00 00 00 00 00 00 00 8A
A5 12 06 74 06 1A 6C 04 14 78 D5 16 AA D1 F0 16 BF 2D 1C 3E
5A 0B 80 91 00 00 00 00 00 00 00 00 89
A5 12 06 74 1A FA FC 5D B0 4A 95 3C 68 9D AE 46 C2 53 BD CB
5A 0B 80 92 00 00 00 00 00 00 00 00 88
A5 12 06 3D B0 4E 4F 45 0C B5 D4 A8 C4 69 24 83 AB 25 CC C6
5A 0B 80 93 00 00 00 00 00 00 00 00 87
A5 12 06 72 B2 E8 BC 84 63 A4 6B 0B 65 1F 51 02 84 74 DF CB
5A 0B 80 94 00 00 00 00 00 00 00 00 86
A5 12 06 F3 F8 CA 18 BB 90 D0 31 49 95 F2 97 EA 73 98 C5 08
5A 0B 80 95 00 00 00 00 00 00 00 00 85
A5 12 06 18 E1 F7 F4 88 83 7E A5 2F 37 5A BE C3 63 08 89 FB
5A 0B 80 96 00 00 00 00 00 00 00 00 84
A5 12 06 4C 6F 7B D6 4B DE 70 8C DF 7F 8E CE B4 61 6D 9F 36
5A 0B 80 97 00 00 00 00 00 00 00 00 83
A5 12 06 74 F1 0D D1 63 6F 80 8D DB 86 2C F6 AF 2D 93 94 9A
5A 0B 80 98 00 00 00 00 00 00 00 00 82
A5 12 06 F0 B9 D0 30 E8 6A C6 32 C9 E5 36 53 17 31 0C FA CA
5A 0B 80 99 00 00 00 00 00 00 00 00 81
A5 12 06 79 AD 76 3D 22 D5 AF 69 99 65 4A BF 85 FC F9 C4 15
5A 0B 80 9A 00 00 00 00 00 00 00 00 80
A5 12 06 8D 7B 79 D2 9D 14 DA 48 A3 E5 7B DC 6C 4D 75 22 ED
5A 0B 80 9B 00 00 00 00 00 00 00 00 7F
A5 12 06 30 7E 06 81 B2 FB 95 8E DD 0A F3 D4 83 80 F0 24 78
5A 0B 80 9C 00 00 00 00 00 00 00 00 7E
A5 12 06 7A 5C 64 04 5D EC 8F 85 F2 D2 A9 BE CE 8F 36 6D 7C
5A 0B 80 9D 00 00 00 00 00 00 00 00 7D
A5 12 06 13 D2 26 D9 D5 BA C1 B2 77 5D 93 C0 92 3A 23 79 CD
5A 0B 80 9E 00 00 00 00 00 00 00 00 7C
A5 12 06 C5 BD 57 D2 61 66 85 DE C4 56 06 88 9D 92 EB 8A 21
5A 0B 80 9F 00 00 00 00 00 00 00 00 7B
A5 12 06 6A 62 B7 36 C9 B4 1E 56 42 C2 C0 15 B9 51 B4 BF 42
5A 0B 80 A0 00 00 00 00 00 00 00 00 7A
A5 12 06 CE 50 A6 14 1C 54 DB C5 23 C7 16 EE 48 1F D2 02 31
5A 0B 80 A1 00 00 00 00 00 00 00 00 79
A5 12 06 04 A7 89 6D 9B 85 BF BF E3 90 84 F4 36 1D 53 07 6B
5A 0B 80 A2 00 00 00 00 00 00 00 00 78
A5 12 06 6A D0 96 81 9A 3A 68 94 BF 27 EB 0A D0 53 DC 58 EF
5A 0B 80 A3 00 00 00 00 00 00 00 00 77
A5 12 06 CB 6A EF BE F2 60 7B CF D9 86 C2 57 43 8B AF 34 9B
5A 0B 80 A4 00 00 00 00 00 00 00 00 76
A5 12 06 77 B3 57 D9 81 6D CB 74 18 A6 2E D8 3A 3D 7A 42 C4
5A 0B 80 A5 00 00 00 00 00 00 00 00 75
A5 12 06 BE 1F 91 89 9E 63 76 54 06 CD E3 56 E7 B1 21 44 77
5A 0B 80 A6 00 00 00 00 00 00 00 00 74
A5 12 06 BE 1F 91 89 9E 63 76 54 FA C9 38 10 34 A7 42 17 41
5A 0B 80 A7 00 00 00 00 00 00 00 00 73
A5 12 06 BE 1F 91 89 9E 63 76 54 C8 86 23 55 55 42 C8 B9 A2
5A 0B 80 A8 00 00 00 00 00 00 00 00 72
A5 12 06 07 FA F7 11 A2 C7 E9 F3 6D A7 90 46 9E 0C 36 62 C8
5A 0B 80 A9 00 00 00 00 00 00 00 00 71
A5 12 06 CE 0A 3D 98 1E D0 C9 53 60 DF 25 7B 85 4B EC 18 D8
5A 0B 80 AA 00 00 00 00 00 00 00 00 70
A5 12 06 99 20 20 AE 37 E7 BC 0F F6 D0 FC DA E7 F5 F6 E8 7C
5A 0B 80 AB 00 00 00 00 00 00 00 00 6F
A5 12 06 9D 4D F6 9E 99 B1 AC DC 43 F4 B6 03 59 4A 73 E9 03
5A 0B 80 AC 00 00 00 00 00 00 00 00 6E
A5 12 06 80 8F 70 F8 CF D5 D2 E0 7D FE 01 90 9C FC 6C 2D 38
5A 0B 80 AD 00 00 00 00 00 00 00 00 6D
A5 12 06 2F E9 D1 AA 01 3A 0A 91 9D 53 4C AA DA F4 BB FE 6C
5A 0B 80 AE 00 00 00 00 00 00 00 00 6C
A5 12 06 16 7B 8D 92 03 E9 D0 83 F0 5F A0 62 56 62 48 CC 36
5A 0B 80 AF 00 00 00 00 00 00 00 00 6B
A5 12 06 9B F4 39 26 5B 92 F1 91 F6 92 AC E9 5F 30 C8 F7 7A
5A 0B 80 B0 00 00 00 00 00 00 00 00 6A
A5 12 06 74 06 1A 6C 04 14 78 D5 98 48 4B 63 89 C5 9C 47 1E
5A 0B 80 B1 00 00 00 00 00 00 00 00 69
A5 12 06 74 1A FA FC 5D B0 4A 95 75 ED 99 BB DC 76 16 79 3B
5A 0B 80 B2 00 00 00 00 00 00 00 00 68
A5 12 06 3D B0 4E 4F 45 0C B5 D4 25 1A D9 93 6F 75 9A 6E 47
5A 0B 80 B3 00 00 00 00 00 00 00 00 67
A5 12 06 72 B2 E8 BC 84 63 A4 6B 33 A5 D8 86 62 BA FF AE 85
5A 0B 80 B4 00 00 00 00 00 00 00 00 66
A5 12 06 F3 F8 CA 18 BB 90 D0 31 4D 40 81 0C 25 EB 27 00 D8
5A 0B 80 B5 00 00 00 00 00 00 00 00 65
A5 12 06 18 E1 F7 F4 88 83 7E A5 F0 5A 78 67 3F 93 8D 76 32
5A 0B 80 B6 00 00 00 00 00 00 00 00 64
A5 12 06 4C 6F 7B D6 4B DE 70 8C 27 B7 CF 79 1C 07 FA 41 8D
5A 0B 80 B7 00 00 00 00 00 00 00 00 63
A5 12 06 74 F1 0D D1 63 6F 80 8D 0D FC 8B FA 3E F0 2F 6B CA
5A 0B 80 B8 00 00 00 00 00 00 00 00 62
A5 12 06 F0 B9 D0 30 E8 6A C6 32 7E 27 C6 E4 05 6D D3 C1 FA
5A 0B 80 B9 00 00 00 00 00 00 00 00 61
A5 12 06 79 AD 76 3D 22 D5 AF 69 A9 B3 23 01 02 DD 54 27 80
5A 0B 80 BA 00 00 00 00 00 00 00 00 60
A5 12 06 8D 7B 79 D2 9D 14 DA 48 09 48 F7 29 48 27 59 93 50
5A 0B 80 BB 00 00 00 00 00 00 00 00 5F
A5 12 06 30 7E 06 81 B2 FB 95 8E B2 82 47 E5 F4 CB 64 86 34
5A 0B 80 BC 00 00 00 00 00 00 00 00 5E
A5 12 06 7A 5C 64 04 5D EC 8F 85 21 51 CB 1E 1A 03 E4 DF 6C
5A 0B 80 BD 00 00 00 00 00 00 00 00 5D
A5 12 06 13 D2 26 D9 D5 BA C1 B2 1B CC D4 81 2B 71 D3 D2 DF
5A 0B 80 BE 00 00 00 00 00 00 00 00 5C
A5 12 06 C5 BD 57 D2 61 66 85 DE 42 F6 14 0B 86 AE 8D E0 75
5A 0B 80 BF 00 00 00 00 00 00 00 00 5B
A5 12 06 6A 62 B7 36 C9 B4 1E 56 20 E9 B3 1D D6 84 9A 2C 9F
5A 0B 80 C0 00 00 00 00 00 00 00 00 5A
A5 12 06 36 0D F5 F3 42 4F 44 DF 2B AA 38 4D DC 37 E3 28 EB
5A 0B 80 C1 00 00 00 00 00 00 00 00 59
A5 12 06 73 62 FE 3B 2A F1 4C 9C 0C 2C 92 A5 AC E7 D8 64 F3
5A 0B 80 C2 00 00 00 00 00 00 00 00 58
A5 12 06 68 21 D0 21 2D 40 6A 91 70 31 A7 D6 14 3B B8 22 19
5A 0B 80 C3 00 00 00 00 00 00 00 00 57
A5 12 06 84 0B E6 B3 39 49 55 37 73 3C F1 AE AF 98 15 70 F2
5A 0B 80 C4 00 00 00 00 00 00 00 00 56
A5 12 06 EF F3 9D 83 EE 33 CC 26 B3 4F DE 6C B3 3E E7 62 A7
5A 0B 80 C5 00 00 00 00 00 00 00 00 55
A5 12 06 61 9C 10 D7 C1 0A EA AC 87 F1 B2 41 5B 34 53 E1 CF
5A 0B 80 C6 00 00 00 00 00 00 00 00 54
A5 12 06 AD FE 16 11 CF FE E4 57 69 DD A6 E4 08 3C E0 6F 05
5A 0B 80 C7 00 00 00 00 00 00 00 00 53
A5 12 06 67 88 0B 00 B1 38 93 AC 06 11 36 8E 8C 6C 5D CC 24
5A 0B 80 C8 00 00 00 00 00 00 00 00 52
A5 12 06 D6 49 71 0B DD 89 50 0B 53 3C 31 ED CC DD 7A A4 72
5A 0B 80 C9 00 00 00 00 00 00 00 00 51
A5 12 06 64 79 82 19 51 37 6F 03 F8 D4 4F CE 74 FE DE 76 21
5A 0B 80 CA 00 00 00 00 00 00 00 00 50
A5 12 06 EA 5D 4C 7D A9 00 9B 6F 8B B1 8B 59 39 DA C2 1C 6E
5A 0B 80 CB 00 00 00 00 00 00 00 00 4F
A5 12 06 1E 85 FB 90 86 1D 16 6F CE 4F DC 57 26 7B 22 15 C4
5A 0B 80 CC 00 00 00 00 00 00 00 00 4E
A5 12 06 9C 9C 3F C4 CA E5 74 C9 53 70 60 80 B1 C9 CB B4 7F
5A 0B 80 CD 00 00 00 00 00 00 00 00 4D
A5 12 06 3A 5A 3F DE 11 DE BC 2C A0 4F F6 B1 CA A1 48 0F 62
5A 0B 80 CE 00 00 00 00 00 00 00 00 4C
A5 12 06 17 BE 2D E3 D1 EB BF C5 9E 9B FC AD AA D3 3C 1E 64
5A 0B 80 CF 00 00 00 00 00 00 00 00 4B
A5 12 06 A3 5A 97 4D AA 3C F2 4B 16 72 1C A7 24 50 32 4B 02
5A 0B 80 D0 00 00 00 00 00 00 00 00 4A
A5 12 06 63 6B 01 F0 02 D5 43 26 36 EF E6 69 ED 81 1D AD 97
5A 0B 80 D1 00 00 00 00 00 00 00 00 49
A5 12 06 86 9F 23 33 F5 71 87 A4 4A 00 A5 86 7E D0 F7 4D 2F
5A 0B 80 D2 00 00 00 00 00 00 00 00 48
A5 12 06 BE 6D 89 8A AA E6 D6 30 A4 79 7C AF 0F BF 44 EA 2A
5A 0B 80 D3 00 00 00 00 00 00 00 00 47
A5 12 06 4D 11 F6 9D 8D 8E 6B 1F 11 9C 0D 11 8C 5D A3 EA 6B
5A 0B 80 D4 00 00 00 00 00 00 00 00 46
A5 12 06 B8 ED ED DF 01 C3 5F 3C BD A9 7D 48 63 81 1E AA 9B
5A 0B 80 D5 00 00 00 00 00 00 00 00 45
A5 12 06 E9 02 4D 62 87 16 C1 13 A4 BD 8D 3B D4 B7 EC 38 5F
5A 0B 80 D6 00 00 00 00 00 00 00 00 44
A5 12 06 F4 42 5E 6A F2 A7 E0 B9 97 14 59 88 1C 38 09 B3 76
5A 0B 80 D7 00 00 00 00 00 00 00 00 43
A5 12 06 D4 95 FC 5B 2E C9 4D 18 E9 D9 F8 AA 3D 39 40 01 0B
5A 0B 80 D8 00 00 00 00 00 00 00 00 42
A5 12 06 1D A3 7C CA 2D 99 3A E1 DE 79 80 D5 FA 9E 1A FB 02
5A 0B 80 D9 00 00 00 00 00 00 00 00 41
A5 12 06 A8 12 88 D6 12 49 C4 1A 46 33 1E E8 C8 12 EE AC FE
5A 0B 80 DA 00 00 00 00 00 00 00 00 40
A5 12 06 DA 16 4E 31 3A 44 60 D5 B2 29 9D C7 35 C3 7F 83 E7
5A 0B 80 DB 00 00 00 00 00 00 00 00 3F
A5 12 06 06 33 15 EE 92 87 96 0A DB D4 94 FD 6E 7E 86 B1 EA
5A 0B 80 DC 00 00 00 00 00 00 00 00 3E
A5 12 06 6A C9 C4 6A 84 84 89 28 33 41 CE 94 96 FB 1C C5 E0
5A 0B 80 DD 00 00 00 00 00 00 00 00 3D
A5 12 06 4A 93 D7 A8 2B F8 2D E8 06 6D 52 D2 C3 41 7D 3A 5C
5A 0B 80 DE 00 00 00 00 00 00 00 00 3C
A5 12 06 12 13 66 51 12 A0 93 6E 87 23 D8 64 6F 4A 86 A8 E6
5A 0B 80 DF 00 00 00 00 00 00 00 00 3B
A5 12 06 AD 66 BD AD E0 FF E9 A8 EB 54 8E 99 AE 9C 8A B9 62
5A 0B 80 E0 00 00 00 00 00 00 00 00 3A
A5 12 06 8C 88 39 CA 5A FE 01 26 35 51 7A 8C 56 D5 A2 8F C4
5A 0B 80 E1 00 00 00 00 00 00 00 00 39
A5 12 06 BE 62 C9 74 8F 1E A9 22 12 B7 09 0F F6 31 8B 9D 3D
5A 0B 80 E2 00 00 00 00 00 00 00 00 38
A5 12 06 98 06 D1 5B 20 17 66 B0 08 1A 75 DF 74 76 73 E3 75
5A 0B 80 E3 00 00 00 00 00 00 00 00 37
A5 12 06 D5 4B 23 EE DA 28 79 74 FC 25 4C 67 01 08 B4 23 6E
5A 0B 80 E4 00 00 00 00 00 00 00 00 36
A5 12 06 7E 7C 8E CD DC A0 6A AD DE C8 44 EC C2 3A 99 FE F1
5A 0B 80 E5 00 00 00 00 00 00 00 00 35
A5 12 06 51 12 EF 0C 70 3D D2 0C 69 CF 12 CD D5 4D 6F ED C4
5A 0B 80 E6 00 00 00 00 00 00 00 00 34
A5 12 06 82 84 87 13 79 E7 25 14 48 A0 03 85 18 9B 16 65 6B
5A 0B 80 E7 00 00 00 00 00 00 00 00 33
A5 12 06 F3 49 CC 97 47 AA 2D 9A 89 24 5F C3 9C 1D C4 C6 D9
5A 0B 80 E8 00 00 00 00 00 00 00 00 32
A5 12 06 40 37 93 08 0E D7 02 31 0F 9B 61 B2 6B B5 61 73 67
5A 0B 80 E9 00 00 00 00 00 00 00 00 31
A5 12 06 51 9E 68 9C 1B E0 5B F7 19 69 03 4D 62 F9 00 59 7C
5A 0B 80 EA 00 00 00 00 00 00 00 00 30
A5 12 06 99 C4 A2 7B 72 4C BB 52 AD 1E 9C 3C 83 30 19 84 0A
5A 0B 80 EB 00 00 00 00 00 00 00 00 2F
A5 12 06 24 3D 5C 2B 44 4C BB D4 C1 C9 69 02 29 3A A0 F1 52
5A 0B 80 EC 00 00 00 00 00 00 00 00 2E
A5 12 06 C7 06 A9 0C 2D 15 34 EB 62 9E BC E9 77 3D 35 6B 66
5A 0B 80 ED 00 00 00 00 00 00 00 00 2D
A5 12 06 52 61 DC 9D D1 0F A0 4A FD 1F DD B0 E2 09 82 AB 8B
5A 0B 80 EE 00 00 00 00 00 00 00 00 2C
A5 12 06 5A 30 1D 53 30 BA 1F FC 80 18 7C 62 FE 92 6A C6 0D
5A 0B 80 EF 00 00 00 00 00 00 00 00 2B
A5 12 06 F1 80 26 64 BE 7E 67 34 A4 CF AD 7F BD B9 21 88 B2
5A 0B 80 F0 00 00 00 00 00 00 00 00 2A
A5 12 06 9A B5 8F 14 45 72 90 25 48 96 03 90 C3 A4 84 23 65
5A 0B 80 F1 00 00 00 00 00 00 00 00 29
A5 12 06 A1 90 34 19 23 0A FC 45 B7 33 FC A6 EA CF EA 5E C9
5A 0B 80 F2 00 00 00 00 00 00 00 00 28
A5 12 06 84 D2 93 CB D0 54 83 0E 1A 88 6D 44 04 75 9E 3A 35
5A 0B 80 F3 00 00 00 00 00 00 00 00 27
A5 12 06 BC 97 61 BD 39 1F 54 09 E0 8E B2 32 64 C0 03 D7 CC
5A 0B 80 F4 00 00 00 00 00 00 00 00 26
A5 12 06 E5 6F E3 EF 0D 06 47 96 56 5A D9 A6 7F C3 07 BC F8
5A 0B 80 F5 00 00 00 00 00 00 00 00 25
A5 12 06 76 3B EB 84 45 DA 69 B6 A9 EC D0 11 CB 56 92 E7 D4
5A 0B 80 F6 00 00 00 00 00 00 00 00 24
A5 12 06 71 13 FA 7B 89 47 FB DE 99 02 6F FC C6 08 63 80 E9
5A 0B 80 F7 00 00 00 00 00 00 00 00 23
A5 12 06 39 F3 96 81 7F FD 5D 81 C8 B7 82 3D 0F 05 31 69 B9
5A 0B 80 F8 00 00 00 00 00 00 00 00 22
A5 12 06 F6 F2 5B 0C 79 26 1E 9F 04 17 60 97 36 60 6B 5B 29
5A 0B 80 F9 00 00 00 00 00 00 00 00 21
A5 12 06 E9 4E E8 11 9A E0 FA AA 50 9B 53 18 D4 BF 08 0D F6
5A 0B 80 FA 00 00 00 00 00 00 00 00 20
A5 12 06 1E EA F9 3C D8 15 02 3F 77 D5 0E F4 79 66 39 52 1F
5A 0B 80 FB 00 00 00 00 00 00 00 00 1F
A5 12 06 05 A5 E4 8C 74 17 85 B4 AA D9 0F 07 DD F9 5B 82 18
5A 0B 80 FC 00 00 00 00 00 00 00 00 1E
A5 12 06 22 0B 83 64 E1 91 F0 3F 4D 29 12 F8 EC 57 76 20 34
5A 0B 80 FD 00 00 00 00 00 00 00 00 1D
A5 12 06 1B 90 71 C4 5B 1C 3A C8 59 86 3A 93 1C 89 C6 90 42
5A 0B 80 FE 00 00 00 00 00 00 00 00 1C
A5 12 06 A1 ED 0B 5F A5 95 51 4B C4 6D CE 8A F2 B8 3A 4F B8
5A 0B 80 FF 00 00 00 00 00 00 00 00 1B
A5 12 06 C3 A1 0F 97 05 08 BF 81 BA AB 03 3A E5 24 4E 39 B9



Хотя может я и ошибаюсь и это не левая китайская батарейка....а что ни на есть самая оригинальная ....просто выпущена в китае.

Boryan добавил 22-05-2010 в 12:08
И действительно ..расковырял эту батарейку....все аргументы за то, что она самая оригинальная ....монтаж на самом высоком уровне ....банка самой батарейки изготовлена идеально....мало того ножки контроллера и микрух залиты силиконовым компаундом ...что очень правильно.
Судите сами где есть что? :)
слева та которая знает все ответы на 80хх
http://s61.radikal.ru/i171/1005/3d/afbfde757b26t.jpg (http://radikal.ru/F/s61.radikal.ru/i171/1005/3d/afbfde757b26.jpg.html)

ещё:

http://s001.radikal.ru/i193/1005/82/59c3c39ad812t.jpg (http://radikal.ru/F/s001.radikal.ru/i193/1005/82/59c3c39ad812.jpg.html)

Походу это и есть самая оригинальная батарейка из первых партий....и она действительно знает все ответы но 80хх команды....а позже в других батарейках для упрощения вырезали не нужные ответы на 80хх команды....

Boryan добавил 22-05-2010 в 13:02
и всё же, 80D9...это реальная команда и на неё есть ответ...или эта команда для "бана" батарейки с серийником FF ...и 00...???