Сейчас на форуме: Magister Yoda, site-pro, Rio (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› Анализ ARM кода при взломе программ на PocketPC |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
Посл.ответ | Сообщение |
|
Создано: 01 августа 2005 13:27 · Личное сообщение · #1 Средства отладки в Microsoft eMbedded Visual C++ 4.0 "чуток" уступают ollydbg, поэтому хотел бы спросить - как с сплошном коде выловить требуемую функцию. Останов делается только на бряке, а куда ставить эти бряки в сплошном коде очень даже неясно. Если нажимать паузу (Break Execution) во время работы проги, выдается мессага: "All threads are in system calls. It is not possible to break into the debuggee at this time". Хорошо бы также знать соответствие адресов функций их названиям, может есть у кого соответствующий мануал? Да и вообще хотелось бы пообщаться с людьми которые занимаются исследованием прог под покет, ибо инет на такой матерьял очень скуп. Хорошо хоть что WASM.RU есть c замечательными статьями от Broken Sword. ----- Get busy living or get busy dying © |
|
Создано: 11 января 2010 13:30 · Личное сообщение · #2 Всем привет! Докапался в коде вот до такого места: [img]D:\Zuma\Место взлома.JPG[/img] Надо чтобы сработал переход на функцию : loc_434E0. Он может быть только в том случае если флаг Z = 1, эту еденицу должна выставить функция sub_4351C. Вобщем пробовал изменить код MOV R4, R0 на SUB R4, R0. После чего прога вообще не запускается, вот и не ясно в чём причина, подскажите кто знает! bb4e_11.01.2010_CRACKLAB.rU.tgz - Место взлома.JPG |
|
Создано: 13 января 2010 13:00 · Личное сообщение · #3 |
|
Создано: 13 января 2010 16:18 · Личное сообщение · #4 [wl] Да я примерно так и сделал только BEQ на BNE поменял и всё вроде впорядке, но! Только проблема как будто в версии WM5 чтоль. После изменения опкода в HEX редакторе сохранил фаил и попробовал запустить на WM6 Classic Emulator и не запускается. Также пробовал на WM5 и не паше, и во всех случаях вот такая мессага выскакивает: Потом попробовал на Pocket PC 2003 CE Emulator и работает как не странно. 281e_13.01.2010_CRACKLAB.rU.tgz - Безымянный.bmp |
|
Создано: 13 января 2010 21:15 · Личное сообщение · #5 |
|
Создано: 14 января 2010 01:51 · Личное сообщение · #6 [wl] пишет: есть какая-то утила, которая отрезает сертификаты, но я не помню как она называется удалить Цифровую подпись файла можно с помощью программы ImageRemCert, которую я выкладывал в топике Как удалить сертификат безопасности на всякий случай напоминаю утиль, которая открывает хранилище сертификатов (под обычную винду) f53e_17.06.2007_CRACKLAB.rU.tgz - ImageRemCert 5d62_02.04.2009_CRACKLAB.rU.tgz - Certificate Manager v1.02 ----- EnJoy! |
|
Создано: 14 января 2010 09:24 · Личное сообщение · #7 [wl], Jupiter Спасибо парни я о такой фигне слышал но не думал что она в эгзешник вшита. Догадывался что проверка идёт, но чтоб в файлике! . С помощь ImageRemCert сразу всё получилось под любой WM работает!!! Ещё раз благодарен за проги и за инфу - вообще прикольный сайт ! А топик "Как удалить сертификат безопасности" обязательно посмотрю. |
|
Создано: 19 января 2010 15:28 · Личное сообщение · #8 |
|
Создано: 19 января 2010 17:45 · Личное сообщение · #9 |
|
Создано: 29 января 2010 14:47 · Личное сообщение · #10 |
|
Создано: 15 февраля 2010 14:44 · Личное сообщение · #11 |
|
Создано: 17 февраля 2010 13:02 · Личное сообщение · #12 Подскажите, плз, кто знает. Обратил внимание, что при обращении к функции FindFirstFileW() всегда выполняются следующие действия: - перед вызовом функции читается память по адресу 0xB064 и сохраняется в стеке - после вызова функции это сохраненное значение читается в R0 и вызывается подпрограммка типа Code:
Сначала я подумал, что это восстанавливается текущая директория, измененная FindFirstFileW(), но тогда надо было бы просто сохранить прежнее значение по адресу R0? Не понимаю смысла этой функции, особенно последних двух операторов. |
|
Создано: 19 февраля 2010 14:35 · Личное сообщение · #13 Господа знатоки, подскажите чайнику, плз! Смысл задачи в том, что в зависимости от того, какая версия файла \windows\ePQ_Bg.png используется в прошивке, мне надо выводить цвет текста либо белым, либо черным. Версию файла .png проще всего определить по его размеру. Я заменяю BL SetTextColor следующей коротенькой программкой: Code:
sub_10036840 выглядит так (что она делает, я не понимаю, но она всегда используется в аналогичных случаях после вызова FindFirstFile в оригинальной DLL): Code:
Проблема в том, что такой патч вызывает явные сбои в основной программе (я не могу точно сказать, что происходит, но работает она явно некорректно), такое впечатление, что обращается куда-то не туда и не находит нужных ресурсов. |
|
Создано: 19 февраля 2010 20:04 · Поправил: [wl] · Личное сообщение · #14 |
|
Создано: 24 февраля 2010 10:44 · Личное сообщение · #15 Выяснил точно, что система просто не находит этот файл (FindFirstFile возвращает 0xFFFFFFFF). Пробовал и двойные слеши, и "/", и "..\Windows\ePQ_Bg.png", и ".\ePQ_Bg.png". Странно, что когда написал тестовый exe-шник и тупо перебил в нем коды команд в WinHex на мои (чтобы посмотреть IDA в дебаге), все работает совершенно нормально (т.е. файл существует и нормально определяется его размер). Может, у кого есть мысли, почему файл не находится? Не может ли это быть связано с тем, что он к этому моменту уже (возможно) открыт и используется системой? Хотя вроде бы FindFirstFile открывает файл только на чтение? |
|
Создано: 04 марта 2010 00:52 · Поправил: vovichek62 · Личное сообщение · #16 Имеется dll. Хочу при загрузке ее в память проверить некоторое условие, по результатам проверки создать переменную и присвоить ей определенное значение. Эта переменная должна быть доступна на чтение для "родных" функций dll все время до выгрузки dll. Для этого собираюсь непосредственно перед выходом из DllEntryPoint() сделать вызов моей функции, которая должна выполнить необходимые действия по инициализации переменной. Вопросов два: - осуществима ли такая схема в принципе? - как мне найти свободное место для такой переменной (вернее, для двух переменных по 3 байта каждая, старший байт двойного слова мне безразличен)? Я так понимаю, что это место надо искать в секции idata (Readable and Writable)? И есть ли там вообще свободное место? Или, как более предпочтительный вариант, можно ли что-нибудь однократно записать при загрузке dll в секцию pdata? |
|
Создано: 04 марта 2010 14:55 · Личное сообщение · #17 |
|
Создано: 05 марта 2010 13:13 · Личное сообщение · #18 [wl], спасибо за интересную ссылку. К сожалению, в данном конкретном случае у меня совершенно нет места для вызова потоковых функций. Мне надо уложиться в 3-4 оператора. Заметил, что в секции idata есть ASCII строки, заканчивающиеся нулем, после которых (видимо, для выравнивания по 4 байта) добавлены еще по 3 нуля. Они-то вряд ли осмысленно используются. Попробую приспособить их для своих целей... |
|
Создано: 18 марта 2010 02:03 · Поправил: TolyaN3z · Личное сообщение · #19 Кто-нибудь пробовал подключать отладчик IDA 5.5 к MDE 3.0 через WMDC под W7 x64 ? Пробую запустить отладку — IDA подключается, но тут же выдаёт ошибку: "incompatible debugging server" после переподключения выдаёт только: "Could not copy remote debugging server. Устройство не готово." Всё это пробуется на WM5.0 Pocket PC R2 и Pocket PC 2003 SE VGA. Прога нативная, уже установлена и работает в эмуляторе, так что проблема не в ней. UPD Разобрался, IDA нужна x32. |
|
Создано: 30 апреля 2010 10:05 · Личное сообщение · #20 |
|
Создано: 10 мая 2010 23:00 · Личное сообщение · #21 |
|
Создано: 11 мая 2010 12:01 · Личное сообщение · #22 |
|
Создано: 30 июля 2010 23:50 · Личное сообщение · #23 TolyaN3z, можно подробнее о подключении отладчика IDA через WMDC под W7 x64? Раньше стояла XP и ActiveSync, никаких проблем не было. Поставил семерку X64 - пишет "Connecting Windows CE Device" и все, дальше никуда. IDA пробовал и 64, и 32. Явно нужны какие-то настройки, может, Каспер гадит? Хотя прописал и IDA, и WMDC в доверенные, в сетевом экране подключение сделал доверенным. В чем трабла? Где копать? |
|
Создано: 21 февраля 2011 13:05 · Личное сообщение · #24 |
|
Создано: 21 февраля 2011 13:27 · Личное сообщение · #25 |
|
Создано: 21 февраля 2011 13:45 · Личное сообщение · #26 [0utC4St] пишет: Ещё раз вам повторяю - распаковка upx это даже не проблема! В смысле "не проблема" ? Просто я тут читал и изучал методы для файлов под ПК, а вот под АРМ файлы эти методы не подходят... Может Вы мне поможете распаковать пару файлов ?.. Или подскажите, где поситать ? Буду очень признателен. |
|
Создано: 21 февраля 2011 14:27 · Личное сообщение · #27 |
|
Создано: 21 февраля 2011 14:44 · Личное сообщение · #28 |
|
Создано: 21 февраля 2011 15:07 · Личное сообщение · #29 |
|
Создано: 21 февраля 2011 15:09 · Личное сообщение · #30 |
|
Создано: 21 февраля 2011 15:36 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
eXeL@B —› Крэки, обсуждения —› Анализ ARM кода при взломе программ на PocketPC |