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

 eXeL@B —› Основной форум —› Взлом Android приложений
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 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

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

Создано: 12 сентября 2011 13:37
· Личное сообщение · #2

Немного оффтоп. Может тогда в шапке выкладывать ссылки на софт и статьи.

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

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

Создано: 13 сентября 2011 07:44
· Личное сообщение · #3

Никто не шаред в андроидах чтоле? Где вы, [wl], TolyaN3z, intro?

-----
SaNX


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

Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 13 сентября 2011 15:13
· Личное сообщение · #4

Я пробовал и return 0, и return 1 и return 2. Сообщение не вылазит, но и блок работает не верно.
3 наверно после проверки чего-то выходит и это что-то и мешает работать верно.

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

Ранг: 49.8 (посетитель), 56thx
Активность: 0.090
Статус: Участник

Создано: 13 сентября 2011 15:15
· Личное сообщение · #5

SaNX
C хорошей проги начал. Спасибо, жаль, что ничем помочь не могу, но буду рад ломанной версии



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

Создано: 13 сентября 2011 22:33
· Личное сообщение · #6

tundra37 пишет:
3 наверно после проверки чего-то выходит и это что-то и мешает работать верно.

похоже, что нет, т.к. я сделал так, что 3 никогда не будет в этом Int-е.

-----
SaNX





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

Создано: 14 сентября 2011 00:13
· Личное сообщение · #7

в файле fahrbot\lib\phone\lectus.java прямо в коде находится zip-файл по частям, который в процессе работы распаковывается, там находится ELF-файл размером почти в мегабайт (rilproxy), так что похоже, что натив в программе есть

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

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

Создано: 14 сентября 2011 07:34 · Поправил: SaNX
· Личное сообщение · #8

Блджад! Я так и думал, кстате. Уж больно подозрителен джава на 6 с лишним метров. Как его распаковать? Неужто придется все эти массивы выдирать?

ADD:
файл я дернул (тут http://rghost.ru/21547521 ~1метр), но чето легче не стало.
там есть строка REGISTRATION_STATE, но переход вида BX LR, хз куда он ведет.

[wl], hex ждем вас

-----
SaNX




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

Создано: 17 сентября 2011 09:56
· Личное сообщение · #9

Вобщем, сделал, что создаваемый файл всегда имеет одно и то же имя.
smali\fahrbot\lib\phone\dolor.smali
было:
Code:
  1. .method static Ut(Ljava/io/File;)Ljava/io/File;
  2.     invoke-static {}, Ljava/lang/System;->nanoTime()J
  3.     move-result-wide v0
  4.     invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
  5.     move-result-object v0
  6.     new-instance v1, Ljava/io/File;
  7.     invoke-direct {v1, p0, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V

стало
Code:
  1. .method static Ut(Ljava/io/File;)Ljava/io/File;
  2.     invoke-static {}, Ljava/lang/System;->nanoTime()J
  3.     move-result-wide v0
  4.     invoke-static {v0, v1}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
  5.     move-result-object v0
  6.     new-instance v1, Ljava/io/File;
  7.     const-string v0, "rcb.so"
  8.     invoke-direct {v1, p0, v0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V


Файло создается, но всегда потом удаляеццо. Почистил уже все java/io/File;->delete()Z, однако файло все-равно удаляеццо. Есть еще какие функи для удаления файла?

ЗЫ: цель в том, чтоб самому записывать патченный файл, чтоб прога его не создавала и не удаляла, а просто запускала готовый. Тогда можно будет его подебажить на предмет REGISTRATION_STATE.

-----
SaNX





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

Создано: 17 сентября 2011 20:48 · Поправил: [wl]
· Личное сообщение · #10

удаление файла происходит в методе fahrbot.lib.phone.BasePhoneDaemonService.run()
...
try
{
if(feugiat1.Ut != null)
flag = ((java.io.File)feugiat1.Ut).delete();
}
...



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

Создано: 17 сентября 2011 22:51 · Поправил: SaNX
· Личное сообщение · #11

А вот хрен там. Я убрал эту строку сразу - файло все равно удаляеццо. Похоже, нативная библа себя стирает.

кстати, вышла версия 1.6.8, дык она вообще не декомпилируется. This dex file has link section блаблабла ignoring. Мож есть решения для этого?

-----
SaNX





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 17 сентября 2011 23:49
· Личное сообщение · #12

SaNX пишет:
она вообще не декомпилируется


выложи .apk или .dex.

Что используешь? Глядя на то, что получаешь smali, то apktool.
Попробуй dex2java.

-----
127.0.0.1, sweet 127.0.0.1





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

Создано: 17 сентября 2011 23:56 · Поправил: [wl]
· Личное сообщение · #13

а либа кстати и не либа вовсе, а отдельное приложение, общаются с интерфейсом через сокеты.
возможно имеет смысл написать отдельное короткое приложение, серийник та вытащить, или еще что..



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

Создано: 18 сентября 2011 00:30 · Поправил: SaNX
· Личное сообщение · #14

OKOB
ни апктул, ни декс2джава не работают на этом файле.
файло тут: http://rghost.ru/22010651

[wl]
дык там вроде серийника как такового и нет, лицензируется через гугловский LVL. да и не настолько я в этом разобрался, чтоб самому писать приложения под андроид

-----
SaNX





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

Создано: 18 сентября 2011 01:22
· Личное сообщение · #15

я тоже не разбираюсь, просто увидел такое:

package fahrbot.lib.phone;
public final class et{
...
public final String toString()
{
...
return String.format("%s { cId: 0x%04X %04X, serial: %d, DataSize: %d }", aobj);
}
}



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

Создано: 18 сентября 2011 09:02
· Личное сообщение · #16

Вводить его некуда

Если просто не ломанную поставить, то оно скажет: нужно проверить лицензию через интернеты. И все, никаких серийников

-----
SaNX





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

Создано: 18 сентября 2011 21:54
· Личное сообщение · #17

я тут покурил java-исходники проги, за состояние зарегистированности отвечает только одна переменная:

package fahrbot.apps.rootcallblocker.pro.utils;
public final class et{
boolean Ut;
}

можно попробовать поменять ее значение на true в функциях этого класса:
public final void et()
public final void Ut(com.android.vending.licensing.Duis duis)

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



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

Создано: 18 сентября 2011 22:08
· Личное сообщение · #18

Мож я чего то и не догоняю, но в этих классах она и так пишется как тру:

Code:
  1. .method public final et()V
  2.     .locals 3
  3.     .prologue
  4.     const/4 v2, 0x1
  5.     const-string v0, "license check dontAllow"
  6.     iput-boolean v2, p0, Lfahrbot/apps/rootcallblocker/pro/utils/et;->Ut:Z


Code:
  1. .method public final Ut(Lcom/android/vending/licensing/Duis;)V
  2.     .locals 3
  3.     .parameter
  4.     const/4 v2, 0x1
  5.     const-string v1, "license check error: "
  6.     iput-boolean v2, p0, Lfahrbot/apps/rootcallblocker/pro/utils/et;->Ut:Z


-----
SaNX





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

Создано: 18 сентября 2011 22:19 · Поправил: [wl]
· Личное сообщение · #19

в джаве это выглядит так:
Code:
  1.     public final void Ut(com.android.vending.licensing.Duis duis)
  2.     {
  3.         java.lang.String s = (new StringBuilder()).append("license check error: ").append(duis).toString();
  4.         java.lang.Object aobj[] = new java.lang.Object[0];
  5.         fahrbot.lib.log.lectus.Ut(s, aobj);
  6.         Ut = false;
  7.         if(Ut == null)
  8.         {
  9.             return;
  10.         } else
  11.         {
  12.             Ut.Ut(this);
  13.             return;
  14.         }
  15.     }


Code:
  1.     public final void et()
  2.     {
  3.         java.lang.Object aobj[] = new java.lang.Object[0];
  4.         fahrbot.lib.log.lectus.dolor("license check dontAllow", aobj);
  5.         Ut = false;
  6.         if(Ut == null)
  7.         {
  8.             return;
  9.         } else
  10.         {
  11.             Ut.Ut(this);
  12.             return;
  13.         }
  14.     }


а в smali я не разбираюсь. Кроме того, мне кажется, что LVL все-таки просто для отвода глаз, иначе бы работало с antilvl



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

Создано: 18 сентября 2011 22:40
· Личное сообщение · #20

Попробовал, вообще убрал if-ы, ничего не изменилось. Натив 100% проверяет регу

-----
SaNX





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

Создано: 18 сентября 2011 23:01
· Личное сообщение · #21

какие if-ы? В этих функциях? они как раз нужны, так как записывают результат проверки лицензии куда-то там в потроха.

блин, как же не хватает нормальных инструментов для работы с dex-ами, тот же ApkManager не хочет у меня работать, да и вообще все как-то через жопу



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

Создано: 18 сентября 2011 23:20 · Поправил: SaNX
· Личное сообщение · #22

Под "убрать ифы" я имел ввиду приведение к такому виду:

Code:
  1.        java.lang.Object aobj[] = new java.lang.Object[0];
  2.         fahrbot.lib.log.lectus.dolor("license check dontAllow", aobj);
  3.         Ut = True;
  4.         Ut.Ut(this);
  5.         return;



[wl] пишет:
блин, как же не хватает нормальных инструментов для работы с dex-ами, тот же ApkManager не хочет у меня работать, да и вообще все как-то через жопу

ну apktool нормально декомпилит до сорцов.

-----
SaNX





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

Создано: 18 сентября 2011 23:31
· Личное сообщение · #23

Разбираться неохота пока...
Ты уверен, что во всех случаях java-часть проги выдает true для переменной Ut?
native-прогу я вообще не понимаю - где она берет импорты например? список пуст. Как отлаживать её, запущенную на эмуляторе, в ИДА? Мобилы у меня нет



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

Создано: 18 сентября 2011 23:37
· Личное сообщение · #24

Небольшая презентация по реверсу андроида, немного говорится и про реверс натив кода.

6950_18.09.2011_EXELAB.rU.tgz - DeepSec_2010_Reverse_Forensics.rar



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

Создано: 18 сентября 2011 23:39
· Личное сообщение · #25

[wl] пишет:
Ты уверен, что во всех случаях java-часть проги выдает true для переменной Ut?

нифига не уверен.

[wl] пишет:
native-прогу я вообще не понимаю - где она берет импорты например?

а вот хз. первые несколько версий навитела под андроид также без импортов были, однако все работало.

[wl] пишет:
Как отлаживать её, запущенную на эмуляторе, в ИДА? Мобилы у меня нет

Отлаживать было бы легко, если б она сама себя не стирала. Вот чего надо добиться в первую очередь.

-----
SaNX




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

Создано: 19 сентября 2011 19:13
· Личное сообщение · #26

Sanx, тебе удалось декомпильнуть 1.6.8?




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 19 сентября 2011 20:20
· Личное сообщение · #27

manco пишет:
удалось декомпильнуть 1.6.8?


dedexer ее взял, но на выходе ddx файлы похожие на smali и работать с ними не камильфо.

Есть еще есть --> DED <-- тулса, но только Линух и МакОсь и проверить не могу.

-----
127.0.0.1, sweet 127.0.0.1





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

Создано: 19 сентября 2011 21:11
· Личное сообщение · #28

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



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

Создано: 19 сентября 2011 21:25
· Личное сообщение · #29

Я так понял там в секции кода, если ее так можно назвать, встречаются опкоды, например 0xED, которые backsmali не знает и выдает эксепшн.




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

Создано: 19 сентября 2011 22:28
· Личное сообщение · #30

локализованная ошибка - 50% исправленная ошибка.
кстати вы не заметили, что в исходниках dex2ar не хватает некоторых файлов? что-то там "v3.Main"


. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 38 . 39 . >>
 eXeL@B —› Основной форум —› Взлом Android приложений
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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