Сейчас на форуме: 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 © |
|
Создано: 24 сентября 2007 14:30 · Личное сообщение · #2 |
|
Создано: 24 сентября 2007 15:26 · Личное сообщение · #3 |
|
Создано: 24 сентября 2007 15:46 · Поправил: intro · Личное сообщение · #4 |
|
Создано: 24 сентября 2007 16:38 · Личное сообщение · #5 |
|
Создано: 24 сентября 2007 18:05 · Поправил: [HEX] · Личное сообщение · #6 |
|
Создано: 24 сентября 2007 19:08 · Личное сообщение · #7 |
|
Создано: 24 сентября 2007 19:32 · Личное сообщение · #8 |
|
Создано: 24 сентября 2007 19:51 · Личное сообщение · #9 |
|
Создано: 24 сентября 2007 19:59 · Личное сообщение · #10 Guru_eXe SDK нужен... ну и впринципе все) Вот что у меня есть для этого (что стоит) 19.04.2007 14:14 7 934 976 ActiveSync 4.5 - Russian.msi 02.08.2007 01:07 235 059 944 eVC4.exe 02.08.2007 00:36 69 927 136 evc4sp4.exe 01.08.2007 13:14 88 159 232 Microsoft Pocket PC 2003 SDK.msi 04.08.2007 03:45 38 900 224 NETCFSetupv2.msi 28.08.2007 22:36 67 970 872 ppc2002_sdk.exe 01.08.2007 15:52 452 643 696 VS80sp1-KB926601-X86-ENU.exe 01.08.2007 13:25 57 401 344 Windows Mobile 2003 Second Edition Emulator Images for Pocket PC - WWE.msi 01.08.2007 13:08 84 916 736 Windows Mobile 5.0 Emulator Images for Pocket PC - RUS.msi 01.08.2007 13:54 182 469 120 Windows Mobile 5.0 Pocket PC SDK.msi 01.08.2007 13:21 81 073 152 Windows Mobile 5.0 Smartphone SDK.msi 01.08.2007 01:39 476 838 400 Windows Mobile 6 Professional SDK Refresh.ms i 12 файлов 1 843 294 832 байт ----- Пиво, сиськи, транс |
|
Создано: 24 сентября 2007 20:16 · Личное сообщение · #11 |
|
Создано: 24 сентября 2007 22:54 · Поправил: intro · Личное сообщение · #12 [HEX], да именно для win.mobile. А вообще ты прав, существенных отличий при кодинге под wm не много. По крайней мере гораздо меньше, чем при написании прог под Symbian. Guru_eXe, ищи всё это добро на диске с VS2005, если таковой имеется. Вообще вопрос снимается, всем высказавшимся спасибо. Проехали. |
|
Создано: 27 сентября 2007 10:50 · Личное сообщение · #13 |
|
Создано: 27 сентября 2007 11:03 · Поправил: intro · Личное сообщение · #14 |
|
Создано: 27 сентября 2007 11:27 · Личное сообщение · #15 |
|
Создано: 27 сентября 2007 12:19 · Поправил: Getorix · Личное сообщение · #16 |
|
Создано: 27 сентября 2007 13:15 · Личное сообщение · #17 |
|
Создано: 27 сентября 2007 15:40 · Личное сообщение · #18 |
|
Создано: 28 сентября 2007 06:38 · Личное сообщение · #19 |
|
Создано: 22 декабря 2007 23:12 · Личное сообщение · #20 Каким образом прога может определить, что она запущена под эмулем и/или под WinCE Debugger'ом? Кто в курсе? опишите как это можно накодить в проге и какие варианты кому уже встречались, ну и как это дело отлавливается и обходится... Getorix, на счёт xscale hw бряка спс, но интересует конкретно детект именно в условиях использования эмуля . |
|
Создано: 23 декабря 2007 00:40 · Личное сообщение · #21 |
|
Создано: 23 декабря 2007 01:09 · Поправил: intro · Личное сообщение · #22 Hexxx, спс, посмотрю. я тут вот ещё что накопал - в официальной документации к wm5 нигде не упоминается параметр SPI_GETOEMINFO функции SystemParametersInfo, тем не менее он позволяет идентифицировать девайс, на котором запущена программа: WCHAR wszMachineName[128]; SystemParametersInfo(SPI_GETOEMINFO, sizeof(wszMachineName), &wszMachineName, 0); WCHAR tst[500]; wsprintf(tst,L"<%s>",wszMachineName); MessageBox(NULL,tst,wszMachineName,MB_OK); эмулятор возвращает "Microsoft DeviceEmulator". но, наколько я понимаю, это далеко не единственный способ... |
|
Создано: 24 декабря 2007 17:16 · Личное сообщение · #23 |
|
Создано: 25 декабря 2007 10:07 · Личное сообщение · #24 RiPPER: Если я не ошибаюсь, у эмуля постоянно присутствует процесс EmulatorStub.exe (кажется так называется). так и есть, в процессах действительно присутствует EmulatorStub.exe его можно вполне безболезненно закрыть через какой-либо сторонний менеджер процессов. Hexxx: Думаю стоит взять сорцы WM6 и посмотреть как реализована: msdn2.microsoft.com/en-us/library/aa908749.aspx тест показал, что функция IsDebuggerPresent() корректно работает и на WM5, определяет как отладчик VisualStudio, так и IDA WinCE Debugger. код if (IsDebuggerPresent())
выглядит в IDA вот так .text:000110A4 loc_110A4 ; CODE XREF: sub_11000+7Cj
|
|
Создано: 25 декабря 2007 10:19 · Поправил: intro · Личное сообщение · #25 но одна из подопытных программ валится сразу при попытке запуска под WinCE Debugger'ом, не останавливаясь даже на бряке на export start, IDA сразу выдаёт сообщение: irs_recv: An existing connection was forcibly closed by remote host после чего на эмуле появляются ругательства на возникшие ошибки в процессах filesys.exe, затем rapiclnt, а после и в самом исполняемом файле программы. В добавок ко всему после этих ошибок ещё и разрывается соединение с ActiveSync'ом. интересно каким образом всё это может быть реализовано и как можно обойти? |
|
Создано: 25 декабря 2007 11:44 · Личное сообщение · #26 |
|
Создано: 25 декабря 2007 12:04 · Личное сообщение · #27 |
|
Создано: 25 декабря 2007 12:10 · Личное сообщение · #28 |
|
Создано: 25 декабря 2007 13:28 · Личное сообщение · #29 |
|
Создано: 26 декабря 2007 12:59 · Личное сообщение · #30 |
|
Создано: 26 декабря 2007 14:18 · Личное сообщение · #31 ничего не мешает только дело оказалось не в этом... прикинув, что раз даже до start'а не доходит, то надо искать причину не в проге, решил перепроверить настройки эмуля и иды. на других прогах нормально работает, на этой нет. в итоге короче, взял чистый образ эмуля, вбил owner'a, поставил прогу во внутреннюю память и... через какое-то время отладка всё-таки пошла. всё равно странно, что другие проги нормально запускаются под wince dbg без всяких танцев с бубном. видимо эмуль wm5 малость кривоват в некоторых местах, а может что-то не так было сконфигурено или какой конфликт возник... |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
eXeL@B —› Крэки, обсуждения —› Анализ ARM кода при взломе программ на PocketPC |