Сейчас на форуме: -Sanchez- (+8 невидимых) |
eXeL@B —› Основной форум —› Взлом Android приложений |
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >> |
Посл.ответ | Сообщение |
|
Создано: 12 сентября 2011 12:37 · Поправил: SaNX · Личное сообщение · #1 В теме обсуждаются вопросы взлома под андроид и соответствующие тулзы. ТУТОРИАЛЫ: ТУЛЗЫ: JEB ApkAnalyser GikDbg В аттаче fernflower, очень годный жава декомпилер. 0ece_06.12.2012_EXELAB.rU.tgz - fernflower.jar ----- SaNX | Сообщение посчитали полезным: 4kusNick, WmLiM, gsx3000, Maximus, CoolMax_86, Rustem, Oott, streit, t0ShA, BAHEK, sooqa, Ara, VodoleY, vden, Thegodofviruses, SDFnik, Soso, ff0h, RAMZEZzz, quency, XroM_N70, Alinator3500, Coderess, samtehnik, Isaev, dgyst, ALSSL, dosprog, omeh2003, d0wn, ELF_7719116, Bad_guy |
|
Создано: 22 апреля 2015 20:15 · Поправил: [wl] · Личное сообщение · #2 наконец-то кое-как скомпилил, ничего из pro.a еще не восстанавливал, закоммитил изменения. кстати если кто-то не знают, как всю хрень компилить, то вот короткий мануал: 1) скачать NDK (http://developer.android.com/tools/sdk/ndk/index.html) 2) распаковать и добавить путь на папку в PATH (у меня c:\NVPACK\android-ndk-r10d ) 4) скачать репу с гитхаба (https://github.com/mailwl/android_server) 5) указать в файле Android.mk путь к инклюдам с idasdk 6.6 (у меня в корне c:, там же где и репа, так что у меня указано LOCAL_CXXFLAGS := -I/idasdk66/include) 6) в каталоге, где находится файл README.md из репы, ввести из командной строки команду ndk-build Добавлено спустя 10 минут кстати! заметил, что nvidia tegra android, умеет дебажить нативный код на лоллипопе (естественно на исходниках), вкладывая в апкашки прогу gdbserver, как с ней отдельно работать, и совместима ли она с ida, я не знаю |
|
Создано: 23 апреля 2015 16:10 · Личное сообщение · #3 |
|
Создано: 23 апреля 2015 16:29 · Личное сообщение · #4 |
|
Создано: 24 мая 2015 02:33 · Поправил: Apokrif · Личное сообщение · #5 chelpa Вопрос есть: У тебя в LP можно установить APK так, чтобы APK "думал", что его из маркета поставили, а не через adb/pm install. А как это сделать руками? (Если это know-how, то сорри.) Я правильно понимаю, что APK проверяет |
|
Создано: 25 мая 2015 10:52 · Личное сообщение · #6 Apokrif пишет: А как это сделать руками? да, проверяет именно так, как ты нашёл Руками это делается из командной строки pm install -r -i com.android.vending /sdcard/file.apk | Сообщение посчитали полезным: Apokrif, CoolMax_86 |
|
Создано: 26 мая 2015 18:11 · Личное сообщение · #7 |
|
Создано: 27 мая 2015 15:33 · Личное сообщение · #8 |
|
Создано: 11 июня 2015 18:12 · Поправил: Apokrif · Личное сообщение · #9 |
|
Создано: 21 июня 2015 06:18 · Личное сообщение · #10 |
|
Создано: 03 июля 2015 10:17 · Поправил: XroM_N70 · Личное сообщение · #11 |
|
Создано: 03 июля 2015 16:17 · Личное сообщение · #12 |
|
Создано: 03 июля 2015 18:54 · Поправил: Apokrif · Личное сообщение · #13 chelpa пишет: а что там такого революционного по сравнению с первым? В Можно свои плагины писать - декрипторы, анпротекторы и т.д. Бум надеятся, что скоро появится полная версия! |
|
Создано: 08 июля 2015 06:52 · Поправил: SaNX · Личное сообщение · #14 Так джэб2 еще в статусе бэты, какая вам полная версия? Причем текущая бэта все такое же гавно, как и предыдущие: Creating a new project java.lang.ClassCastException: com.pnfsoftware.jebglobal.ln cannot be cast to com.pnfsoftware.jebglobal.Kq at com.pnfsoftware.jebglobal.ig.GJ(SourceFile:55) at com.pnfsoftware.jebglobal.gu.GJ(SourceFile:223) at com.pnfsoftware.jebglobal.gu.GJ(SourceFile:144) at com.pnfsoftware.jebglobal.WV.GJ(SourceFile:8048) at com.pnfsoftware.jebglobal.NE.Zl(SourceFile:87) at com.pnfsoftware.jebglobal.Hw.GJ(SourceFile:77) at com.pnfsoftware.jebglobal.mv.GJ(SourceFile:203) at com.pnfsoftware.jebglobal.mv.GJ(SourceFile:188) at com.pnfsoftware.jebglobal.yc.qu(SourceFile:110) at com.pnfsoftware.jebglobal.My.run(SourceFile:289) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) ----- SaNX |
|
Создано: 24 августа 2015 22:26 · Личное сообщение · #15 А где в списке программ и утилит gikdbg.art? Добавлено спустя 12 часов 49 минут Немного приакуратил инструкцию по дебагу нативных исполняемых модулей с помощью IDA: andrd_ida_server.bat, рядом должен быть android_server из пакета IDA Code:
|
|
Создано: 27 августа 2015 04:43 · Личное сообщение · #16 |
|
Создано: 29 августа 2015 17:55 · Личное сообщение · #17 |
|
Создано: 29 августа 2015 18:31 · Личное сообщение · #18 |
|
Создано: 31 августа 2015 05:24 · Личное сообщение · #19 Reversecode, Был и есть вопрос по Lua (возможно очень простой и к Lua прямого отношения не имеет!), сам что-то допереть не могу уже довольно давно... Есть .so: Lua + туева хуча мусора – закомпилили почти все стандартные либы, вместо того чтобы пользоваться системными либами на шару. Результат очень смешной - ida декомпилит .so несколько часов, никакие стандартные вещи не видит в упор (т.к. всё закомпилено). Нужно определить функции стандартного API Lua и OpenSSL. Как это проще сделать? Ковырять каждую функции и искать стандартные строки (сообщения об ошибках, и т.п.) это нереально... Хедеры конечно есть, но почти все функции имеют похожие сигнатуры (int) (int, int) (int, int, int) Есть еще одна тонкость, (могу ошибаться!) Похоже, при компиляции под ARM функции какой либо либы, например OpenSSL, не лежат подряд, одним фрагментом, а "равномерно" разбросаны по .so. Видимо для flash wear-leveling. Какие есть варианты "НЕ вручную"? |
|
Создано: 31 августа 2015 11:08 · Личное сообщение · #20 |
|
Создано: 31 августа 2015 17:52 · Поправил: Apokrif · Личное сообщение · #21 reversecode пишет: я это сделал вручную Т.е. никаких [полу]автоматических способов нет? Типа вычислить 1-2 функции стандартного API вручную. Глядя на эти функции, понять, какой версией компилили и ключи gcc. Потом скомпилить самому и как-то заматчить всё остальное… С "как-то заматчить" ничего путного в голову не приходит... Понятно, что 100-пудового матча не получится, но даже хинты получить было бы неплохо! А все вручную, непосильным трудом - это конечно круто… как-то некошерно (IMHO!). И на новой версии либы опять всё с 0 начинать? |
|
Создано: 31 августа 2015 18:14 · Личное сообщение · #22 ну наверняка есть, flirt же ильфак не зря придумал он даже помоему под патентом но сидеть играться с компилятором и его ключами и надеяться на то что оно что то там угадает, я не люблю на глаз руками быстрее получается знания программера нужны к примеру нет смысла всю луа разбирать, если там меняли только опкоды нужно только цикл луа вм найти и там уже разбирать в нашем случае и версии луа была непонятна пришлось выкачать все сорсы версий луа, задифать и смотреть какие функции ближе всего подходят когда приблизительно стало понятно что более менее около версии 5.1 луа, уже опкоды востанавливал |
|
Создано: 31 августа 2015 18:49 · Поправил: Apokrif · Личное сообщение · #23 reversecode пишет: ну наверняка есть, flirt же ильфак не зря придумал Я был уверен, что flirt это только самые-пресамые стандартные либы. А как правильно свои сигнатуры сгенерить и отдать flirt-у? Заранее извиняюсь за лоховской вопрос! reversecode пишет: но сидеть играться с компилятором и его ключами и надеяться на то что оно что то там угадает, я не люблю на глаз руками быстрее получается знания программера нужны Смотря какой глаз! У меня, наверное, плюсы "с детства" и LUA года 2 от силы... но этого явно не достаточно! IMHO, знания программера вообще не нужны, они и так у всех есть. А вот опыт реверсирование очень нужен, особенно "автоматизация". И у меня его нету... reversecode пишет: к примеру нет смысла всю луа разбирать, если там меняли только опкоды нужно только цикл луа вм найти и там уже разбирать У меня всё гораздо проще: Опкоды стандартные (LUAplus) И туча кастомных С-шных функций для LUA. Которые IDA даже не видит - т.к. на них нет ссылок. Собственно их и хотелось бы поднять. А сами LUA chunks зашифрованы. Поэтому и OpenSSL API нужно тоже вычислить... reversecode пишет: в нашем случае и версии луа была непонятна пришлось выкачать все сорсы версий луа, задифать и смотреть какие функции ближе всего подходят когда приблизительно стало понятно что более менее около версии 5.1 луа, уже опкоды востанавливал Да вроде все пользуют и подпиливают под себя 5.1.4 и 5.1.5? Конечно, есть 5.2 и 5.3, но 5.1 как-то всем "роднее". Т.е. если номер версии выпилен – я бы начинал с последней 5.1, но вам конечно виднее... |
|
Создано: 31 августа 2015 19:11 · Поправил: reversecode · Личное сообщение · #24 так я флиртом не пользуюсь никаким кроме стандартного в ида ну так плюсов и достаточно что бы реверсить, и понимать любые С/C++ исходники так я луа вообще не знаю когда опозванали луа выбор был между Code:
и все они чуть чуть да разные, так что пальцем в небо 5.1.1 и 5.1.5 уже другие а для полного понимания где что изменено, нужно было очень точно опознать версию |
|
Создано: 31 августа 2015 21:39 · Поправил: Apokrif · Личное сообщение · #25 reversecode пишет: так я флиртом не пользуюсь никаким кроме стандартного в ида ну так плюсов и достаточно что бы реверсить, и понимать любые С/C++ исходники Рад за вас. У меня x-ray vision нет. То, что флирт вычислил, заметно облегчат понимание кода. Если бы подсказать ему, что я точно знаю, здесь вот эти конкретные либы, найди мне их API, используя эти сигнатуры. Вам это не нужно и это, безусловно, очень круто! reversecode пишет: и все они чуть чуть да разные, так что пальцем в небо 5.1.1 и 5.1.5 уже другие а для полного понимания где что изменено, нужно было очень точно опознать версию 5.2.3 - это где-то 2 года назад. Я бы ещё понял, если дело было, больше 10 лет назад... AFAIR, 5.1 примерно тогда и вышла. И использование 5.0 где-то за пару лет сошло на нет. Даже ума не приложу, зачем меньше 5.1 имело бы смысл использовать, разве только чтобы специально себе гемор поиметь (и заодно всех запутать!?) А вообще у вас какой-то сухой остаток есть (в смысле полезный), чтобы к новым версиям либы применить, если бы пришлось бы опять ковырять? Или опять все с 0 нужно начинать (что совершенно не в кайф)? |
|
Создано: 31 августа 2015 23:10 · Личное сообщение · #26 так есть же всякие там проекты диффа для ида, где по одной базе idb можно смотреть разницу в другой если она от того же бинаря только другой версии, тем самым уже не нужно опознавать то что опознано в первой базе я просто за ними не слежу Apokrif пишет: Если бы подсказать ему, что я точно знаю, здесь вот эти конкретные либы, найди мне их API, используя эти сигнатуры. ну так флирт вроде так и работает, разве нет? компиляете луа вм, делаете из нее сигны выбираете в сигнах нужные функции, остальные удаляете и скармливаете ида, она их будет искать и опознавать или с idb можно сделать сигнатуры вот тут народ под мипс опознавал | Сообщение посчитали полезным: Apokrif |
|
Создано: 01 сентября 2015 02:09 · Поправил: Apokrif · Личное сообщение · #27 reversecode пишет: так есть же всякие там проекты диффа для ида, где по одной базе idb можно смотреть разницу в другой если она от того же бинаря только другой версии, тем самым уже не нужно опознавать то что опознано в первой базе я просто за ними не слежу Угу, только я даже один раз этого не сделал. И VxWorks images обычно не очень больше и компилятся с одинаковыми ключами оптимизации. Повезло пацану, что "firmware for the older device included a symbol table" reversecode пишет: ну так флирт вроде так и работает, разве нет? компиляете луа вм, делаете из нее сигны выбираете в сигнах нужные функции, остальные удаляете и скармливаете ида, она их будет искать и опознавать Так я о чем и спросил с самого начала! Как автоматизировать, а вы мне - фсё руками надо делать! Всё из вас клещами надо вытаскивать! Компилер известен, сделаю сигнатуры для разных вариантов оптимизации и посмотрю, что получиться! Наверое, лучше вообще на своём крошечном проекте погонять, отладить процесс. Спасибо за идею! Подумал еще, переформулировал вопрос и спросил |
|
Создано: 03 сентября 2015 12:53 · Поправил: reversecode · Личное сообщение · #28 |
|
Создано: 05 сентября 2015 16:44 · Поправил: shadow_user · Личное сообщение · #29 Вопрос, есть .apk в котором одна настройка регулируется от 100 до 80. Можно снять ограничение нижнего порога? Т.е. не 80 а допустим 60 или 50 сделать? Вот ссылка |
|
Создано: 07 сентября 2015 14:21 · Личное сообщение · #30 shadow_user пишет: одна настройка для усложнения задачи надо было апк не прикладывать, а написать, что в одном из апк на гугл плей А по факту числовые значения поменять можно, но будет ли эффект - это вопрос, от этого параметра зависит. | Сообщение посчитали полезным: XroM_N70 |
|
Создано: 08 сентября 2015 00:11 · Поправил: shadow_user · Личное сообщение · #31 Я коротенько поясню. Это часть прошивок\софта медиа-приставок к телевизорам. Заменитель Смарт-ТВ скажем так. Однако на некоторых телевизорах возникают проблемы с пропорциями экрана и выводимого изображения - часть изображения выходит за пределы. Видимо эта функция и предусмотрена для таких случаев. Но порой 80 не хватает, нужно еще меньше. Прикладываю скрин окна настройки. А так как здесь люди опытные, решил спросить о помощи. Подмогнет кто - хорошо, нет - на нет и суда нет. e05c_08.09.2015_EXELAB.rU.tgz - image_screeen.jpg |
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >> |
eXeL@B —› Основной форум —› Взлом Android приложений |