Сейчас на форуме: -Sanchez- (+7 невидимых) |
![]() |
eXeL@B —› Основной форум —› Взлом Android приложений |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 38 . 39 . >> |
Посл.ответ | Сообщение |
|
Создано: 12 сентября 2011 12:37 · Поправил: SaNX · Личное сообщение · #1 В теме обсуждаются вопросы взлома под андроид и соответствующие тулзы. ТУТОРИАЛЫ: ТУЛЗЫ: JEB ApkAnalyser GikDbg В аттаче fernflower, очень годный жава декомпилер. ![]() ----- SaNX ![]() |
|
Создано: 14 марта 2014 11:44 · Личное сообщение · #2 |
|
Создано: 14 марта 2014 15:05 · Личное сообщение · #3 |
|
Создано: 14 марта 2014 17:01 · Поправил: Kindly · Личное сообщение · #4 |
|
Создано: 14 марта 2014 19:03 · Личное сообщение · #5 Kindly, неужели ваше рабочее время так мало стоит, что дешевле помыкаться по форумам и сэкономить аж целые 5-10$, чем заплатить производителю? Хотя вы может торговать варезом собираетесь. Тогда другое дело ![]() ![]() |
|
Создано: 24 марта 2014 17:01 · Личное сообщение · #6 |
|
Создано: 24 марта 2014 21:03 · Личное сообщение · #7 |
|
Создано: 25 марта 2014 15:04 · Личное сообщение · #8 |
|
Создано: 27 марта 2014 09:00 · Поправил: Apokrif · Личное сообщение · #9 VodoleY пишет: а есть у нас чтото для снифанья трафа под андрюшу.. желательно.. с фильтрами на прогу и на протокол... Не совсем то наверное, я в простейших случаях пользую ![]() |
|
Создано: 27 марта 2014 09:20 · Поправил: Apokrif · Личное сообщение · #10 Вопрос к спецам по Thumb Есть примерно такой код func1() … .text:0001435A LDR R1, =(a123 - 0x14362) .text:0001435C MOVS R4, R0 .text:0001435E ADD R1, PC ; "123" … DCD a123 "123" В func1 есть LDR загружающий адрес string "123" Вместо "123" надо бы иметь "123123123", но очевидно не влезет, места не хватит… Ближайшее место, где влезет за пределами досягаемости LDR. В func1() тоже ничего не поменять, всё нужно. Т.е. я вижу единственный вариант писать func2(), переносить в нее часть кода из func1() и делать всё в ней. А есть другие подходы (проще?) ![]() |
|
Создано: 27 марта 2014 10:58 · Личное сообщение · #11 |
|
Создано: 27 марта 2014 11:20 · Поправил: kunix · Личное сообщение · #12 Apokrif LDR R1,=константа это фактически LDR R1, [PC, #смещение_константы_относительно_PC]. То есть в вашем случае LDR загружает в R1 некую 4-байтную константу X. И далее PC+X оказывается адресом строки 123. Найдите, где хранится эта константа X (где-то после самой функции, недалеко), и пропатчите, чтобы PC+X указывал на новую строку 123123123. Новую функцию писать не надо. Чтобы найти под IDA, где лежит X, поставьте курсор на LDR, нажмите Q. Получится LDR R1,=0xABCDABCD. И в консоли вызовите Dfirst(адрес_LDR), она вернет адрес константы 0xABCDABCD. ![]() |
|
Создано: 27 марта 2014 22:02 · Поправил: VodoleY · Личное сообщение · #13 |
|
Создано: 28 марта 2014 00:05 · Поправил: Apokrif · Личное сообщение · #14 Apokrif пишет: Вопрос к спецам по Thumb … Вместо "123" надо бы иметь "123123123", но не лезет… Ближайшее место, где влезет - за пределами досягаемости LDR kunix пишет: LDR R1,=константа это фактически LDR R1, [PC, #смещение_константы_относительно_PC] ... пропатчите, чтобы PC+X указывал на новую строку 123123123 Это #смещение_константы_относительно_PC должно быть PC to PC+1020 (word-aligned) Никак в толк не возьму, как вы за эти пределы выходите так просто... Научите пожалуйста? ![]() ![]() |
|
Создано: 28 марта 2014 00:40 · Поправил: kunix · Личное сообщение · #15 Apokrif, У вас в коде по сути написано Code:
Вы хотите именить значение регистра R1 после ADD? Ну так пропатчите саму the_const. Зачем патчить LDR и тем самым сдвигать the_const? Еще раз, the_const это не сама строка. Это указатель на строку (становится им после прибавления ADD R1, PC, R1). Если так не понимаете, то кидайте в личку базу IDA. Я уже не знаю, как и наче объяснить. ![]() |
|
Создано: 28 марта 2014 01:39 · Поправил: Apokrif · Личное сообщение · #16 kunix пишет: Еще раз, the_const это не сама строка. Это указатель на строку Во! Только что обратил внимание, что там indirect! Сейчас попробую передвинуть! Огромное спасибо! Еще вопрос доставучий .text:0001435A LDR R1, =(a123 - 0x14362) После Q превращается в .text:0001435A LDR R1, =0x5B0C9 А как его опять вернуть в исходный вид: .text:0001435A LDR R1, =(a123 - 0x14362) ![]() |
|
Создано: 28 марта 2014 02:11 · Личное сообщение · #17 |
|
Создано: 28 марта 2014 03:49 · Поправил: Apokrif · Личное сообщение · #18 |
|
Создано: 28 марта 2014 09:54 · Личное сообщение · #19 undef процедуры и еще раз P на начале функции вообще O должно работать, два раза на нее нажми ![]() |
|
Создано: 28 марта 2014 18:26 · Поправил: Apokrif · Личное сообщение · #20 reversecode пишет: undef процедуры и еще раз P на начале функции Во, то что нужно!!! Действительно возвращает в исходное состояние! .text:0001435A LDR R1, =(a123 - 0x14362) reversecode пишет: вообще O должно работать, два раза на нее нажми O или Ctrl-O тоже работает, только переключает между .text:0001435A LDR R1, =0x5B0C9 и .text:0001435A LDR R1, =(loc_5B0C8+1) Может это потому, что сама строка в другом сегменте (.rodata, а не .text): .rodata:0006F42B a123 DCB "123",0 ![]() |
|
Создано: 30 марта 2014 17:00 · Личное сообщение · #21 Всем привет. Разбираю один exploit для Android. Передаю управление на свой код с привилегиями ядра. Задача -- обнулить uid. Извлекаю указатель на task_struct. Сканирую task_struct в поисках имени процесса comm[TASK_COMM_LEN]. Перед этим полем должна быть пара указателей на структуру cred и real_cred. Проблема в том, что эти указатели указывают на что-то странное. На структуру cred это не очень похоже, хотя и содержит id пользователя, но не имеет поля magic. В общем, запутался и не пойму, что там происходит. Код ф-ии поиска: Code:
Если распечатать несколько dword'ов на которые ссылается cred, то я вижу: 7, 7d0, 7d0, 7d0, 7d0, 0, 0. 7d0 -- это id моего пользователя в телефоне. Сама структура task_struct до поля comm выглядит так: Code:
![]() |
|
Создано: 30 марта 2014 22:48 · Личное сообщение · #22 |
|
Создано: 07 апреля 2014 17:09 · Личное сообщение · #23 |
|
Создано: 07 апреля 2014 17:52 · Личное сообщение · #24 может кто подсказать что твориться в данной функции Code:
В моем понимании там должны браться текущие даты и сравниваться с вшитыми ![]() |
|
Создано: 07 апреля 2014 18:07 · Поправил: SaNX · Личное сообщение · #25 |
|
Создано: 08 апреля 2014 09:02 · Поправил: VodoleY · Личное сообщение · #26 Всем доброго времени суток.. А вот такой вопрос.. Кто может порекомендовать модель девайса.. для хорошего дебага под андроид. Проблема вобщем одна.. очень частые зависоны при дебаге.. у мну ща для эксперементов дешевый GSmart 202+ .. пробывал под блюстеком.. а тут случайно не самый дешевый Acer s510 у товарища взял... и весьма удивился стабильности.. Есть ли бюджетные модели... посоветуйте. И вообще.. с чем разрыв дебагера и тела может быть связано? ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 10 апреля 2014 09:20 · Поправил: Apokrif · Личное сообщение · #27 |
|
Создано: 10 апреля 2014 09:55 · Личное сообщение · #28 Apokrif пишет: "девайс ТОЛЬКО для хорошего дебага" как-то жаба душит... бро.. я уже почти в наркомана превратился.. перезапуская сессии и делая одно и тоже .. я типа ГОТОВ уже заплатить денег.. ток 500у.е платить.. жаба давит.. но реально на Асере.. небыло зависонов.. мне его просто не так часто дают... стараюсь выпрашивать.. и тестить девай.. тут вроде Асер на томже проце выпустил бюджетку.. окло 100 у.е. стоит.. вот это было бы решение ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 10 апреля 2014 12:39 · Личное сообщение · #29 |
|
Создано: 10 апреля 2014 13:01 · Личное сообщение · #30 |
|
Создано: 10 апреля 2014 13:06 · Личное сообщение · #31 |
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 ... 38 . 39 . >> |
![]() |
eXeL@B —› Основной форум —› Взлом Android приложений |