Сейчас на форуме: -Sanchez- (+8 невидимых)

 eXeL@B —› Основной форум —› Взлом Android приложений
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 38 . 39 . >>
Посл.ответ Сообщение

Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 12 сентября 2011 12:37 · Поправил: SaNX
· Личное сообщение · #1

В теме обсуждаются вопросы взлома под андроид и соответствующие тулзы.
ТУТОРИАЛЫ:
--> Тутор от chelpa<--
--> От аффтора antilvl<--
--> дебаг .so<--

ТУЛЗЫ:
JEB
ApkAnalyser
--> Android Reverse Engineering (A.R.E.) <--
--> Apktool <--
--> Smali/baksmali <--
--> APKRecovery <--
--> Dex2Jar <--
--> APKInspector <--
--> Lucky Patcher 1.2.0 <--
--> Crack Assist 0.3 <--
--> ART <--
--> JD-GUI <--
--> DexInspector <--
--> Android unpacker <--
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


Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 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, я не знаю




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 апреля 2015 16:10
· Личное сообщение · #3

ida поддерживает gdb протокол
так что запросто атачиться итд
возможно только возможностей поменьше чем андроид сервере



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 23 апреля 2015 16:29
· Личное сообщение · #4

[wl]
gdbserver для всех архитектур есть в поставке ndk.
Которая точно совместима с обычным gdb.

-----
старый пень




Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 24 мая 2015 02:33 · Поправил: Apokrif
· Личное сообщение · #5

chelpa
Вопрос есть: У тебя в LP можно установить APK так, чтобы APK "думал", что его из маркета поставили, а не через adb/pm install.
А как это сделать руками? (Если это know-how, то сорри.)
Я правильно понимаю, что APK проверяет вот так



Ранг: 90.7 (постоянный), 32thx
Активность: 0.020
Статус: Участник

Создано: 25 мая 2015 10:52
· Личное сообщение · #6

Apokrif пишет:
А как это сделать руками?

да, проверяет именно так, как ты нашёл Руками это делается из командной строки
pm install -r -i com.android.vending /sdcard/file.apk

| Сообщение посчитали полезным: Apokrif, CoolMax_86

Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 26 мая 2015 18:11
· Личное сообщение · #7

chelpa пишет:
pm install -r -i com.android.vending /sdcard/file.apk

Блин, так просто!
Через adb наверняка тоже этот переметр можно передать.

В чем же смысл такой "защиты"?
Что никто не знает, как ставить "правильно"?



Ранг: 90.7 (постоянный), 32thx
Активность: 0.020
Статус: Участник

Создано: 27 мая 2015 15:33
· Личное сообщение · #8

Apokrif пишет:
Что никто не знает, как ставить "правильно"?

не знают) Андроид изобилует простыми решениями, но для их применения иногда надо знать его по чуть-чуть в разных плоскостях, тогда решается просто. Ты же тоже не знал, хотя по определению знаешь больше рядового пользователя



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 11 июня 2015 18:12 · Поправил: Apokrif
· Личное сообщение · #9

chelpa пишет:
Ты же тоже не знал, хотя по определению знаешь больше рядового пользователя

IMHO, проблема не в том, что не знаешь как решить "проблему", а в том, что не знаешь, как строку для поиска написать...
Сорри, давно не заглядывал...



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 21 июня 2015 06:18
· Личное сообщение · #10

JD-GUI автор на github выложил, наверное сдался...
Наверное скоро Ананас Нешков начнет и его продавать!

| Сообщение посчитали полезным: sendersu

Ранг: 9.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 июля 2015 10:17 · Поправил: XroM_N70
· Личное сообщение · #11

Никто не встречал полной версии jeb2?



Ранг: 90.7 (постоянный), 32thx
Активность: 0.020
Статус: Участник

Создано: 03 июля 2015 16:17
· Личное сообщение · #12

XroM_N70 пишет:
Никто не встречал полной версии jeb2?
а что там такого революционного по сравнению с первым?



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 03 июля 2015 18:54 · Поправил: Apokrif
· Личное сообщение · #13

chelpa пишет:
а что там такого революционного по сравнению с первым?

В blog описано.
Можно свои плагины писать - декрипторы, анпротекторы и т.д.
Бум надеятся, что скоро появится полная версия!



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 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




Ранг: 7.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 августа 2015 22:26
· Личное сообщение · #15

А где в списке программ и утилит gikdbg.art?

Добавлено спустя 12 часов 49 минут
Немного приакуратил инструкцию по дебагу нативных исполняемых модулей с помощью IDA:

andrd_ida_server.bat, рядом должен быть android_server из пакета IDA
Code:
  1. :: Dependencies: Android Debug Bridge (adb), IDA
  2.  
  3. @echo off
  4. set path="c:\Program Files\Android\android-sdk\platform-tools";%path%
  5. set port=23946
  6.  
  7. adb push android_server /system/xbin/android_server
  8. adb shell chmod 06755 /system/xbin/android_server
  9. adb forward tcp:%port% tcp:%port%
  10. adb shell /system/xbin/android_server -p%port%
  11. pause




Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 27 августа 2015 04:43
· Личное сообщение · #16

now_zorro пишет:
adb forward tcp:%port% tcp:%port%
adb shell /system/xbin/android_server -p%port%

У меня и без adb forward ... работает.
ida находит android_server на default port без проблем.



Ранг: 15.9 (новичок), 2thx
Активность: 0.010
Статус: Участник

Создано: 29 августа 2015 17:55
· Личное сообщение · #17

Кто-то пробовал "щупать" невзломанную и имеющую лавры невзламываемой программы - проигрыватель PowerAmp?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 29 августа 2015 18:31
· Личное сообщение · #18

shadow_user --> Link <--

| Сообщение посчитали полезным: shadow_user

Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 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.

Какие есть варианты "НЕ вручную"?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 августа 2015 11:08
· Личное сообщение · #20

я это сделал вручную



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 31 августа 2015 17:52 · Поправил: Apokrif
· Личное сообщение · #21

reversecode пишет:
я это сделал вручную

Т.е. никаких [полу]автоматических способов нет?
Типа вычислить 1-2 функции стандартного API вручную.
Глядя на эти функции, понять, какой версией компилили и ключи gcc.
Потом скомпилить самому и как-то заматчить всё остальное…
С "как-то заматчить" ничего путного в голову не приходит...
Понятно, что 100-пудового матча не получится, но даже хинты получить было бы неплохо!
А все вручную, непосильным трудом - это конечно круто… как-то некошерно (IMHO!).
И на новой версии либы опять всё с 0 начинать?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 августа 2015 18:14
· Личное сообщение · #22

ну наверняка есть, flirt же ильфак не зря придумал он даже помоему под патентом

но сидеть играться с компилятором и его ключами и надеяться на то что оно что то там угадает, я не люблю
на глаз руками быстрее получается
знания программера нужны
к примеру нет смысла всю луа разбирать, если там меняли только опкоды нужно только цикл луа вм найти и там уже разбирать
в нашем случае и версии луа была непонятна
пришлось выкачать все сорсы версий луа, задифать и смотреть какие функции ближе всего подходят
когда приблизительно стало понятно что более менее около версии 5.1 луа, уже опкоды востанавливал



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 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, но вам конечно виднее...




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 августа 2015 19:11 · Поправил: reversecode
· Личное сообщение · #24

так я флиртом не пользуюсь никаким кроме стандартного в ида

ну так плюсов и достаточно что бы реверсить, и понимать любые С/C++ исходники

так я луа вообще не знаю
когда опозванали луа выбор был между
Code:
  1. lua-1.0
  2. lua-1.1
  3. lua-2.1
  4. lua-2.2
  5. lua-2.4
  6. lua-2.5
  7. lua-2.5.1
  8. lua-3.0
  9. lua-3.1
  10. lua-3.2
  11. lua-3.2.1
  12. lua-3.2.2
  13. lua-4.0
  14. lua-4.0.1
  15. lua-5.0
  16. lua-5.0.1
  17. lua-5.0.2
  18. lua-5.0.3
  19. lua-5.1
  20. lua-5.1.1
  21. lua-5.1.2
  22. lua-5.1.3
  23. lua-5.1.4
  24. lua-5.1.5
  25. lua-5.2.0
  26. lua-5.2.1
  27. lua-5.2.2
  28. lua-5.2.3

и все они чуть чуть да разные, так что пальцем в небо 5.1.1 и 5.1.5 уже другие
а для полного понимания где что изменено, нужно было очень точно опознать версию



Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 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 нужно начинать (что совершенно не в кайф)?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 августа 2015 23:10
· Личное сообщение · #26

так есть же всякие там проекты диффа для ида, где по одной базе idb можно смотреть разницу в другой если она от того же бинаря только другой версии,
тем самым уже не нужно опознавать то что опознано в первой базе
я просто за ними не слежу

Apokrif пишет:
Если бы подсказать ему, что я точно знаю, здесь вот эти конкретные либы, найди мне их API, используя эти сигнатуры.

ну так флирт вроде так и работает, разве нет?
компиляете луа вм, делаете из нее сигны
выбираете в сигнах нужные функции, остальные удаляете
и скармливаете ида, она их будет искать и опознавать

или с idb можно сделать сигнатуры
вот тут народ под мипс опознавал
--> Link <--

| Сообщение посчитали полезным: Apokrif

Ранг: 171.0 (ветеран), 11thx
Активность: 0.050
Статус: Участник

Создано: 01 сентября 2015 02:09 · Поправил: Apokrif
· Личное сообщение · #27

reversecode пишет:
так есть же всякие там проекты диффа для ида, где по одной базе idb можно смотреть разницу в другой если она от того же бинаря только другой версии,
тем самым уже не нужно опознавать то что опознано в первой базе
я просто за ними не слежу

Угу, только я даже один раз этого не сделал.
И VxWorks images обычно не очень больше и компилятся с одинаковыми ключами оптимизации.
Повезло пацану, что "firmware for the older device included a symbol table"

reversecode пишет:
ну так флирт вроде так и работает, разве нет?
компиляете луа вм, делаете из нее сигны
выбираете в сигнах нужные функции, остальные удаляете
и скармливаете ида, она их будет искать и опознавать

Так я о чем и спросил с самого начала!
Как автоматизировать, а вы мне - фсё руками надо делать!
Всё из вас клещами надо вытаскивать!
Компилер известен, сделаю сигнатуры для разных вариантов оптимизации и посмотрю, что получиться!
Наверое, лучше вообще на своём крошечном проекте погонять, отладить процесс.
Спасибо за идею!

Подумал еще, переформулировал вопрос и спросил тут




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 03 сентября 2015 12:53 · Поправил: reversecode
· Личное сообщение · #28

SaNX пишет:
reversecode пишет:https://github.com/CalebFenton/simplifyбыло не было?
чото оно ничего не умеет, походу. проверил на зеликсе и на дексгуарде - ниче после обработки не меняется.

они там в течении года что то пилили, может уже лучше стал?



Ранг: 15.9 (новичок), 2thx
Активность: 0.010
Статус: Участник

Создано: 05 сентября 2015 16:44 · Поправил: shadow_user
· Личное сообщение · #29

Вопрос, есть .apk в котором одна настройка регулируется от 100 до 80. Можно снять ограничение нижнего порога? Т.е. не 80 а допустим 60 или 50 сделать?
Вот ссылка --> Link <--



Ранг: 90.7 (постоянный), 32thx
Активность: 0.020
Статус: Участник

Создано: 07 сентября 2015 14:21
· Личное сообщение · #30

shadow_user пишет:
одна настройка

для усложнения задачи надо было апк не прикладывать, а написать, что в одном из апк на гугл плей А по факту числовые значения поменять можно, но будет ли эффект - это вопрос, от этого параметра зависит.

| Сообщение посчитали полезным: XroM_N70

Ранг: 15.9 (новичок), 2thx
Активность: 0.010
Статус: Участник

Создано: 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 приложений
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати