![]() |
eXeL@B —› Основной форум —› Взлом прог под Симбиан |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 20 . 21 . >> |
Посл.ответ | Сообщение |
|
Создано: 10 августа 2006 22:20 · Поправил: newborn · Личное сообщение · #1 |
|
Создано: 23 октября 2009 08:26 · Поправил: Hugo Chaves · Личное сообщение · #2 |
|
Создано: 23 октября 2009 09:47 · Личное сообщение · #3 |
|
Создано: 08 ноября 2009 20:52 · Личное сообщение · #4 |
|
Создано: 08 ноября 2009 23:44 · Личное сообщение · #5 В help-e вроде все написано: void Crc32(TUint32 &aCrc, const TAny *aPtr, TInt aLength); Description Performs a CCITT CRC-32 checksum on the specified data. On return from this function, the referenced 32 bit integer contains the CRC value. Parameters TUint32 &aCrc A reference to a 32 bit integer to contain the CRC value. const TAny *aPtr A pointer to the start of the data to be checksummed. TInt aLength The length of the data to be checksummed. ![]() |
|
Создано: 09 ноября 2009 01:15 · Поправил: coderus · Личное сообщение · #6 не писал под симбу... можете помочь? ковыряю системную ptiengine.dll хочется свои словари Т9 сделать но вот беда файлик защищен контрольной суммой. надобно узнать как и на основании чего она считается нашел 2 места вызова. собственно при записи в файл и чтении из него. а проследить силенок не хватает уже... ![]() Code:
![]() |
|
Создано: 11 ноября 2009 17:11 · Поправил: Hugo Chaves · Личное сообщение · #7 Добрый день парни. Хочу "вылечить" некоторую программку . Написал "кусочек" кода , но вот вставить его в exe-шник , чтобы потом вызвать , проблема. Практически нет свободного места . Максимум 16 байт (ALIGN) нашёл . Как добавить код нужного размера мне размера в этот EXE ? Спасибо заранее за ответ и просьба не пинать и не посылать на RTFM ![]() ![]() |
|
Создано: 11 ноября 2009 21:54 · Поправил: coderus · Личное сообщение · #8 объясните пожалуйста доходчиво суть и роль регистра SP в некоторых местах он просто возникает вроде изниоткуда, с ним производятся различные операции, причем очень критичные и как быть с кусками кода начинающимися, а то и заканчивающимися в никуда? Code:
![]() |
|
Создано: 19 ноября 2009 18:15 · Поправил: TolyaN3z · Личное сообщение · #9 Hugo Chaves пишет: Как добавить код нужного размера мне размера в этот EXE ? Если действительно ситуация безвыходная, можешь добавить свой код в конец файла. Если он использует какие-то функции — придётся добавить ещё одну секцию импорта и релоки. Геморное занятие. coderus пишет: объясните пожалуйста доходчиво суть и роль регистра SP SP — Stack Pointer, указатель на стек. В стеке фактически можно хранить любые данные, часто используется при нехватке регистров. coderus пишет: и как быть с кусками кода начинающимися, а то и заканчивающимися в никуда? Почему в никуда? Обычно код выполняется последовательно. Да и, если используешь ИДовский лоадер, попробуй лоадер Хекса. Иногда встречал подобное на дефолтном. ![]() |
|
Создано: 19 ноября 2009 19:06 · Личное сообщение · #10 Hugo Chaves симбиан 9? сколько байт нужно? обычно можно задействовать места, которые никогда не выполняются: обработчики исключений, место проверки серийного номера, я уже не помню точно, но места неиспользуемого в файле полно можно найти. Но это так сказать, "путь самурая", не каждому под силу, кроме того, нужно следить, чтобы при загрузке файла релоками не попортило тебе код. Есть другой путь, попроще, но не всегда применим (подсмотрел у BiNPDA): ищешь длл, у которой меньше всего импортируется, чаще всего это HAL.DLL, и пишешь свою (например, HOL.DLL), в которой на те аргументы, что вызываются самой программой, подставляешь результат от HAL.DLL, а на свои - делаешь то, что тебе нужно. Далее подменяешь в EXE-файле название длл, и из программы делаешь вызов своей фальшивой длл, с нужными параметрами (если параметры не нужны, тогда какое-то хитрое значение, чтобы знать, что вызываешь ты, а не программа) ![]() |
|
Создано: 19 ноября 2009 19:58 · Личное сообщение · #11 |
|
Создано: 20 ноября 2009 04:45 · Личное сообщение · #12 |
|
Создано: 20 ноября 2009 07:51 · Личное сообщение · #13 |
|
Создано: 20 ноября 2009 10:24 · Поправил: intro · Личное сообщение · #14 А зачем по начинке? Версию можно определить по sis файлу, из которого ты вытащил этот exe. Ну или действительно просто догадаться по модели, на которой ты тестируешь. Можно попытаться использовать то место, где проводится проверка лицензии/ключа или что там у тебя в программе. Оно все равно больше не нужно будет. ![]() |
|
Создано: 20 ноября 2009 20:09 · Личное сообщение · #15 intro пишет: Можно попытаться использовать то место, где проводится проверка лицензии/ключа или что там у тебя в программе. Оно все равно больше не нужно будет. Как раз в данном случае момент более тонкий. Проверка лицензии не тривиальная и легче "подсунуть программе то , что она страстно ждёт" , чем просто за NOP ить эту проверку. ![]() |
|
Создано: 20 ноября 2009 21:28 · Личное сообщение · #16 |
|
Создано: 02 декабря 2009 08:08 · Личное сообщение · #17 |
|
Создано: 02 декабря 2009 09:26 · Личное сообщение · #18 |
|
Создано: 09 декабря 2009 13:04 · Личное сообщение · #19 |
|
Создано: 09 декабря 2009 14:20 · Поправил: intro · Личное сообщение · #20 |
|
Создано: 09 декабря 2009 20:52 · Личное сообщение · #21 |
|
Создано: 10 декабря 2009 00:32 · Личное сообщение · #22 |
|
Создано: 10 декабря 2009 02:20 · Поправил: TolyaN3z · Личное сообщение · #23 |
|
Создано: 10 декабря 2009 10:57 · Личное сообщение · #24 интересная статья https://www.sec-consult.com/files/SEC_Consult_Vulnerability_Lab_Pwning_Symbian_V1.05_PUBLIC.pdf TolyaN3z пишет: Почему в никуда? с никуда конечно погорячился, но вот ниоткуда. выполнение переходит например на B loc_828E587A и оттуда оно уже никогда не возвращается. так как выполняется следующий за В участок кода? лоадер встроенный, тк работаю с системным XiP файлом, HEX его определяет как упакованный и предлагает воспользоваться петраном =) ![]() |
|
Создано: 10 декабря 2009 11:15 · Поправил: shustrik · Личное сообщение · #25 intro чтобы было понятно: на диске С создал папку 111, в нее кинул erl и 2 файла (Nseries8.app Nseries8.rsc), запускаю через меню пуск выполнить - ничего. Пробовал в CMD (C:\111\erl.exe Nseries8.rsc) - программа че-то там не является внутренней исполняемой.... Где и что я делаю о так? Tolyan3z активно юзаю смарт (6630) вот уже больше 5 лет, русифицирую тоже. У меня есть разные версии русификаторов, одни открывают rsc 6-8 симбы, другие 9-ки (не первый год программы перевожу)... Та, что с иконкой желтой семерки и есть от [wl] и открывает она только rsc для девятки (другие unsupported...). Раньше немного занимался крэком прог под винду, а щас вот надо и под симбу... Подскажите с erl, а?... ![]() |
|
Создано: 10 декабря 2009 13:36 · Поправил: TolyaN3z · Личное сообщение · #26 coderus пишет: и оттуда оно уже никогда не возвращается. так как выполняется следующий за В участок кода? Если ты уверен, что не возвращается никогда, то следующий код и не выполнится после той инструкции. Но если ты также точно знаешь, что этот код выполняется, значит всё-таки ошибка в анализе кода. Кстати, в том куске кода, что ты привёл, везде загружается один и тот же ресурс 0x4E677083, только с разными «параметрами» — такая конструкция напоминает switch — case. shustrik Я тож когда-то переводил софт, под все версии Symbian. Поэтому и дело говорю тебе, не хочешь слушать — не надо. С erl никаких проблем тоже нет, если не взирать на то, что он для большинства новых файлов ничего толком не выдаёт. А вообще, если ситуация тупиковая — выкладывай файл, будем вместе смотреть. ![]() |
|
Создано: 10 декабря 2009 15:08 · Личное сообщение · #27 |
|
Создано: 10 декабря 2009 16:29 · Поправил: intro · Личное сообщение · #28 |
|
Создано: 10 декабря 2009 20:01 · Личное сообщение · #29 |
|
Создано: 12 декабря 2009 04:08 · Личное сообщение · #30 TolyaN3z ресурсы разные, просто в арме быстрее выполняются арифметические операции, чем загрузка числа из памяти в регистр, но суть вопроса не в этом. на самом деле код приведен не полностью, выше должен быть вызов неудобной для анализа функции, что-то типа: __arm_switch8 ; (точное название не помню) 6 0 4 8 0xA где первое число - количество case-ов, а дальше относительные смещения на нужный case, каждое из которых нужно умножить на 2, если не ошибаюсь. IDA такую конструкцию не понимает, смещения для case-ов превращает в код, и не находит, откуда вызывается конкретный case ![]() |
|
Создано: 12 декабря 2009 15:02 · Поправил: TolyaN3z · Личное сообщение · #31 |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 20 . 21 . >> |
![]() |
eXeL@B —› Основной форум —› Взлом прог под Симбиан |