![]() |
|
|
![]() ![]() |
![]() |
![]()
Сообщение
#41
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
Кстати картинка которая при загрузке асуса в твоем дампе присутствует (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) начинается она с адреса 13A40000- заканчивается 13A8E467 .
Вырежи и обзови asus.jpg и увидищь заставку . |
![]() |
|
![]()
Сообщение
#42
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
как раз сейчас сливаю область 0-10000000, медленно блин
|
![]() |
|
![]()
Сообщение
#43
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
2 arcc
Просвяти пожалуйста, как в IDA запихивать такой большой дамп, у меня IDA материться начинает, и второе, не могу "догнать" как определить точку входа если она вообще нужна. |
![]() |
|
![]()
Сообщение
#44
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
А зачем запихивать весь дамп в IDA ?
Я вырезаю тока нужные части например бут а он не такой уж и большой иногда до метра гдето, а обычно 200-500 кил .Превый лоадер вообще пару килобайт . Дамп обычно нужно для того чтоб визуально глянуть где буты находятся. По опыт просто их видно уже сразу. А до этого я же с прошивки доставал буты и смотрел их в IDA . Плюс есть пару скриптов от itsme которые позволяют глянуть адресацию -но не всегда . Если бут структуры майкрософта те по сути nk.exe то этими скриптами можно глянуть где он работает -просто преобразовать bin в nk.exe и подсунуть IDA. Вообщем сразу так не обьяснишь . |
![]() |
|
![]()
Сообщение
#45
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
То что сразу не объяснишь я уже понял т.к за время бодания этого асуса перелопатил не мало источников и по ида и по ассемблеру и по arm и по jtag в целом, про граничное сканирование, реверсинг и многое другое (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Про точку входа так и не понял, что оно есть? |
![]() |
|
![]()
Сообщение
#46
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
Точка входа чего ? Если бут то обычно начало и есть точка входа .
Кстати я тоже не очень хорошо разбираюсь в ассемблере и ida -просто по аналогии очень много делается. |
![]() |
|
![]()
Сообщение
#47
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
Когда читал про реверсинг то там часто говорили что многие проги (скорее всего не про прошивки речь шла) имеют точку входа. Просто я программированием только на бейсике занимался с 5 по 10 класс, там тоже начало проги оно и есть начало, а тут запутался что-то.
|
![]() |
|
![]()
Сообщение
#48
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
В общем я отрезал нужный кусок от дампа .
Загружай его на убитом девайсе с адреса 13800000 и делай go from 13800000 .
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#49
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
то есть дамп дальше не сливать? а то читается ещё, пока только 148 метров считалось (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) из 260 (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
|
![]() |
|
![]()
Сообщение
#50
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
Сливай дамп -всегда пригодится .
|
![]() |
|
![]()
Сообщение
#51
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
пока сливаю, уже 162 метра
|
![]() |
|
![]()
Сообщение
#52
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
Дамп слился, загрузить IPL в мертвый не получается, наглая собака надзиратель ресетит девайс на полпути загрузки, не говорю уже что ещё и запустить надо будет по go from.....
Ниже выкладываю дамп с 0 по 10000000 в трех частях
Прикрепленные файлы
![]() ![]() ![]() |
![]() |
|
![]()
Сообщение
#53
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 937 Регистрация: 4.4.2008 Из: Украина Пользователь №: 1011 Спасибо сказали: 142 раз(а) Девайс:HTC;HP;Samsung... ![]() |
А если попробовать IPL от Wizard. С адреса 20000000 с брейкпойнтом на 20000018, go from 20000000.
Вот тут : http://rapidshare.com/files/128234619/tornado.zip.html (из него возьмеш IPL_W) Да еще проводи всю процедуру как можно быстрее с момента включения девайса и до заливки ИПЛ родного, и если появилось окно бутлоадера сразу прошивать, иначе после ресета все придётся делать с начала... |
![]() |
|
![]()
Сообщение
#54
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
Теоретически можно попробовать, но я не пойму одно....
Мы цепляем аппарат, начинается отсчет времени работы таймера wathdog, грузим часть кода и в этот момент срабатывает wathdog и все обламывает. Получается что wathdog статует при физическом запуске КПК. Интересный факт: Сегодня пока эксперементировал с GO\HALT заметил следующее, гружу аппарат в бут режиме по комбинации OK+RESET с надписью IPL: INSERT USB CABLE - труба (рабочий донор) цепляется по JTAG и ждёт дальнейших действий в режиме бута, далее нажимаю GO и труба начинает исполнять код с самого начала, ВЫХОДИТ из бут режима и грузит OS, т.е. грузит винду. Если при перезапуске по GO нажать кнопку OK без RESET то аппарат начинает опять грузится в бут режиме как при обычном старте аппарата при OK+RESET. Умозаключение следующее. Коль wathdog не сидит жестко в памяти самого проца на аппаратном уровне, а всего лишь кусок кода который неизбежно исполняется при старте убитого девайса, то можно попробовать сделать следующее: при коннекте грузануть в память по какому-либо промежуточному (пустому\забитому нулями или FF) адресу какой-нибудь короткий код, и тут же его запустить и спопнуть или запустить с брекпоинтом, теоретически таким образом можно попробовать заткнуть watchdog обманным путём - переключить исполение его кода на новый. Возможно я ввожу себя в заблуждение, х.з. |
![]() |
|
![]()
Сообщение
#55
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 937 Регистрация: 4.4.2008 Из: Украина Пользователь №: 1011 Спасибо сказали: 142 раз(а) Девайс:HTC;HP;Samsung... ![]() |
WatchDog это микрокод который сидит в памяти самого проца, при запуске рабочего девайса его останавливает код находящийся в одном из загрузчиков, поэтому рабочий аппарат и не ресетиться, а в убитом до этого кода пока ты заливаеш бут по времени не дотягивает. Может не совсем правильно обьяснил, но суть такова, что надо проделывать все операции очень быстро и загружать перед этим код котрый будет стопорить Ватчдог, по идее может подойти любой содержащий команду остановки таймера , хотя в этом я не уверен. но попробовать можно...
Сообщение отредактировал SAXON13 - 14.4.2009, 0:18 |
![]() |
|
![]()
Сообщение
#56
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
wathdog это аппаратно програмируемый таймер .
При старте(включении ) девайса начинается отсчет. Отключается он програмно. Так что ты должен сначала все подготовить потом уже запускать девайс .Так как процессор одинаковый что и у wizard то по опыту секунд 10 у тебя есть . По поводу загрузить по левому адресу кусок кода -тебе это и предлогали выше . Так как процессор имеет внутренний кеш порядка 200 кил и находиться он по адресу 20000000 то туда тебе и предлогали сувать и стартовать там . Можно еще отрезать начало твоего дампа и тоже запустить его, потому как отключение в самом начале. .text:13801010 loc_13801010 ; CODE XREF: start+14j .text:13801010 MRC p15, 0, PC,c7,c14, 3 .text:13801014 BNE loc_13801010 .text:13801018 MOV R0, #0 .text:1380101C MCR p15, 0, R0,c7,c5 .text:13801020 MRC p15, 0, R0,c1,c0 .text:13801024 ORR R0, R0, #0x1000 .text:13801028 BIC R0, R0, #0x200 .text:1380102C BIC R0, R0, #0x100 .text:13801030 BIC R0, R0, #8 .text:13801034 BIC R0, R0, #4 .text:13801038 ORR R0, R0, #2 .text:1380103C MCR p15, 0, R0,c1,c0 .text:13801040 LDR R0, =0xFFFECA00 .text:13801044 LDR R1, =0xFF22 .text:13801048 STRH R1, [R0] .text:1380104C LDR R0, =0xFFFED300 .text:13801050 LDR R1, =0xFF22 .text:13801054 STRH R1, [R0] .text:13801058 LDR R0, =0xFFFEC800 .text:1380105C MOV R1, #0xF5 .text:13801060 STRH R1, [R0,#8] .text:13801064 MOV R1, #0xA0 .text:13801068 STRH R1, [R0,#8] .text:1380106C LDR R0, =0xFFFECC00 .text:13801070 MOV R1, #0xC .text:13801074 STR R1, [R0,#0xC] .text:13801078 LDR R1, =0x17000F .text:1380107C MOVS R1, R1 .text:13801080 BEQ loc_13801090 .text:13801084 STR R1, [R0,#0x10] .text:13801088 MOV R1, #0 .text:1380108C STR R1, [R0,#0x50] Сторожевой таймер Материал из Википедии — свободной энциклопедии Сторожевой таймер (контрольный таймер, англ. Watchdog timer) — аппаратно реализованная схема контроля за зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы. В некоторых случаях сторожевой таймер может посылать системе сигнал на перезагрузку («мягкая» перезагрузка), в других же — перезагрузка происходит аппаратно (например, замыканием контактов кнопки Reset). Автоматизированные системы, не использующие оператора человека, хотя тоже подвержены ошибкам, зависаниям и другим сбоям (в т.ч. аппаратным), с использованием сторожевых таймеров увеличивают стабильность работы - нет необходимости ручного сброса. Поэтому наиболее частое использование их — встроенные системы различного назначения |
![]() |
|
![]()
Сообщение
#57
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
Попробовал IPL от wizard, NoIce то стопает watchdog то нет, иногда просто стартует и не останавливается, если стопает по брекпоинту то можно (опять же не всегда) влить родной IPL, но после его запуска по 13800000 ничего с КПК не происходит - не горит экран, никаких надписей типа IPL: Insert USB cable и т.д.
Пробовал запускать с адреса 13801000 и с 0 , и заливать полностью область 13800000-14000000, потом запуск по 1380000 и никаких признаков жизни бут режима. При запуске прошивки в эксперт режиме при нажатии кнопки update из прошивки распаковываются всего два временных файла вместо пяти и на этом она (прошивка) стоит и думает непонятно о чём. Может дамп полностью слить с рабочего и после стопанья ватчдога влить его полностью в труп? Но тогда мы не узнаем истинных адресов загрузчиков. Какие ещё варианты есть? |
![]() |
|
![]()
Сообщение
#58
|
|
![]() Проверенный пользователь ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 937 Регистрация: 4.4.2008 Из: Украина Пользователь №: 1011 Спасибо сказали: 142 раз(а) Девайс:HTC;HP;Samsung... ![]() |
Полностью дамп ты не вольёш, потому что в этом методе всё льёться и запускается в РАМ память проца, то есть ограниченую по обьему и временную. Заливать ИПЛ надо именно когда патченый ИПЛ от Визарда стопонул на брейкпойнте, если нет то можно дальше не продолжать, а ресетить девайсину и начинать заново. Скорее всего ему еще чего то не хватает EBOOT или X-LDR (x-loader).
попробуй этот ИПЛ: ![]() ![]() Сообщение отредактировал SAXON13 - 14.4.2009, 11:00 |
![]() |
|
![]()
Сообщение
#59
|
|
![]() Опытный пользователь ![]() ![]() ![]() Группа: Members Сообщений: 143 Регистрация: 18.1.2009 Пользователь №: 9515 Спасибо сказали: 25 раз(а) Девайс:asus p526 ![]() |
Ок, сейчас попробую
|
![]() |
|
![]()
Сообщение
#60
|
|
спец по реанимации ![]() ![]() ![]() ![]() Группа: Разработчики Сообщений: 361 Регистрация: 28.5.2008 Пользователь №: 1472 Спасибо сказали: 113 раз(а) Девайс:HTC ![]() |
Когда ты запускаешь по адресу 13800000 - ты держищь кнопки ??? Кнопки держать обязательно .
IPL от визарда ты куда заливаеш ? И проверь действительно ли заливается по адресу 13800000 твой дамп . |
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 10.4.2025, 2:19 |