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

 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


Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 17 сентября 2014 13:19 · Поправил: Maximus
· Личное сообщение · #2

Я папку jsr305_annotations перекинул ручками прямо в .apk файл перед тем как запустить jarsigner. Это правильно или нет?

И еще вопрос, где вытащить правильную сигнатуру для моего пакета, что бы заменить дворд в so файлах?

-----
StarForce и Themida ацтой!




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

Создано: 17 сентября 2014 14:35 · Поправил: SaNX
· Личное сообщение · #3

Maximus пишет:
Это правильно или нет?

да

Maximus пишет:
И еще вопрос, где вытащить правильную сигнатуру для моего пакета, что бы заменить дворд в so файлах?

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

Но если неймется, то вот пример кода

Signature[] sigs = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures;
for (Signature sig : sigs)
{
Trace.i("MyApp", "Signature hashcode : " + sig.hashCode());
}

Пишешь свою прогу под андроид с этим кодом, подписываешь своим сертом и заменяешь в своем пакете твой CERT.RSA на сертификат от взламываемой проги. Но такой пакет встанет только на тело, пропатченное лакипатчером на предмет игнора сертификатов.

-----
SaNX





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 17 сентября 2014 16:04 · Поправил: Maximus
· Личное сообщение · #4

А можно как нить вынуть из so файла во время выполнения?
Есть же наверняка способ отладить so файл во время выполнения на телефоне?

Может быть есть где нить материал об отладке бинарников под Андроид?

-----
StarForce и Themida ацтой!




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

Создано: 17 сентября 2014 16:35 · Поправил: chelpa
· Личное сообщение · #5

Maximus пишет:
И еще вопрос, где вытащить правильную сигнатуру для моего пакета, что бы заменить дворд в so файлах?

Если с эклипсом дружишь, то можно вытянуть подпись вот таким кодом на java (он совершенно не причёсанный, но думаю ты поймёшь):
Code:
  1.  
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.lang.ref.WeakReference;
  6. import java.security.Signature;
  7. import java.security.cert.*;
  8. import java.util.Enumeration;
  9. import java.util.jar.JarEntry;
  10. import java.util.jar.JarFile;
  11. import java.util.logging.Level;
  12. import java.util.logging.Logger;
  13.  
  14. import com.sun.org.apache.xml.internal.security.utils.Base64;
  15.  
  16. public class getSignatures {
  17.  
  18.  private static final Object mSync = new Object();
  19.  private static WeakReference<byte[]> mReadBuffer;
  20.  
  21.  public static void main(String[] args) {
  22.   
  23.   String file="1.apk";
  24.   System.out.println(file);
  25.  
  26.   String mArchiveSourcePath = file;
  27.  
  28.   WeakReference<byte[]> readBufferRef;
  29.   byte[] readBuffer = null;
  30.   synchronized (mSync) {
  31.    readBufferRef = mReadBuffer;
  32.    if (readBufferRef != null) {
  33.     mReadBuffer = null;
  34.     readBuffer = readBufferRef.get();
  35.    }
  36.    if (readBuffer == null) {
  37.     readBuffer = new byte[8192];
  38.     readBufferRef = new WeakReference<byte[]>(readBuffer);
  39.    }
  40.   }
  41.   
  42.   try {
  43.    JarFile jarFile = new JarFile(mArchiveSourcePath);
  44.    java.security.cert.Certificate[] certs = null;
  45.  
  46.    Enumeration entries = jarFile.entries();
  47.    while (entries.hasMoreElements()) {
  48.     JarEntry je = (JarEntry) entries.nextElement();
  49.     if (je.isDirectory()) {
  50.      continue;
  51.     }
  52.     if (je.getName().startsWith("META-INF/")) {
  53.      continue;
  54.     }
  55.     java.security.cert.Certificate[] localCerts = loadCertificates(jarFile, je, readBuffer);
  56.     if (false) {
  57.      System.out.println("File " + mArchiveSourcePath + " entry " + je.getName()
  58.          + ": certs=" + certs + " ("
  59.          + (certs != null ? certs.length : 0) + ")");
  60.     }
  61.     if (localCerts == null) {
  62.      System.err.println("Package has no certificates at entry "
  63.          + je.getName() + "; ignoring!");
  64.      jarFile.close();
  65.      return;
  66.     } else if (certs == null) {
  67.      certs = localCerts;
  68.     } else {
  69.      // Ensure all certificates match.
  70.      for (int i = 0; i < certs.length; i++) {
  71.       boolean found = false;
  72.       for (int j = 0; j < localCerts.length; j++) {
  73.        if (certs[i] != null
  74.            && certs[i].equals(localCerts[j])) {
  75.         found = true;
  76.         break;
  77.        }
  78.       }
  79.       if (!found || certs.length != localCerts.length) {
  80.        System.err.println("Package has mismatched certificates at entry "
  81.            + je.getName() + "; ignoring!");
  82.        jarFile.close();
  83.        return; // false
  84.       }
  85.      }
  86.     }
  87.    }
  88.  
  89.    jarFile.close();
  90.  
  91.    synchronized (mSync) {
  92.     mReadBuffer = readBufferRef;
  93.    }
  94.  
  95.    if (certs != null && certs.length > 0) {
  96.     final int N = certs.length;
  97.      
  98.     for (int i = 0; i < N; i++) {
  99.      String charSig = Base64.encode(certs[i].getEncoded());
  100.      charSig=charSig.replaceAll("\n", "");
  101.      FileOutputStream os2 = new FileOutputStream ("signatures.txt");
  102.      os2.write (charSig.getBytes("UTF-8"));
  103.      os2.close();
  104.      FileOutputStream os3 = new FileOutputStream ("signatures_bytes.txt");
  105.      os3.write (certs[i].getEncoded());
  106.      os3.close();
  107.    
  108.      System.out.println("Cert#: " + i + " Type:" + certs[i].getType()
  109.       + "\nPublic key: " + certs[i].getPublicKey()
  110.       + "\nHash code: " + certs[i].hashCode()
  111.        + " / 0x" + Integer.toHexString(certs[i].hashCode())
  112.       + "\nTo char: " + charSig);
  113.     }
  114.    } else {
  115.     System.err.println("Package has no certificates; ignoring!");
  116.     return;
  117.    }
  118.   } catch (CertificateEncodingException ex) {
  119.    Logger.getLogger(getSignatures.class.getName()).log(Level.SEVERE, null, ex);
  120.   } catch (IOException e) {
  121.    System.err.println("Exception reading " + mArchiveSourcePath + "\n" + e);
  122.    return;
  123.   } catch (RuntimeException e) {
  124.    System.err.println("Exception reading " + mArchiveSourcePath + "\n" + e);
  125.    return;
  126.   }
  127.  }
  128.  
  129.  private static char[] toChars(byte[] mSignature) {
  130.     byte[] sig = mSignature;
  131.     final int N = sig.length;
  132.     final int N2 = N*2;
  133.     char[] text = new char[N2];
  134.  
  135.     for (int j=0; j<N; j++) {
  136.       byte v = sig[j];
  137.       int d = (v>>4)&0xf;
  138.       text[j*2] = (char)(>= 10 ? ('a' + d - 10) : ('0' + d));
  139.       d = v&0xf;
  140.       text[j*2+1] = (char)(>= 10 ? ('a' + d - 10) : ('0' + d));
  141.     }
  142.  
  143.     return text;
  144.     }
  145.  
  146.  private static java.security.cert.Certificate[] loadCertificates(JarFile jarFile, JarEntry je, byte[] readBuffer) {
  147.   try {
  148.    // We must read the stream for the JarEntry to retrieve
  149.    // its certificates.
  150.    InputStream is = jarFile.getInputStream(je);
  151.    while (is.read(readBuffer, 0, readBuffer.length) != -1) {
  152.     // not using
  153.    }
  154.    is.close();
  155.  
  156.    return (java.security.cert.Certificate[]) (je != null ? je.getCertificates() : null);
  157.   } catch (IOException e) {
  158.    System.err.println("Exception reading " + je.getName() + " in "
  159.        + jarFile.getName() + ": " + e);
  160.   }
  161.   return null;
  162.  }
  163. }


Я этот код использую для подмены подписи в далвике, просто вставляю вместо ответа по запросу подписи пакета, но в so такой подход конечно же не фиксит, там приходится отдельно рыскать.

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

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

Создано: 17 сентября 2014 18:01 · Поправил: SaNX
· Личное сообщение · #6

Maximus
Тело должно быть рутованое!

Заливаешь отладчик:
adb shell
su
adb push с:\IDA\android_server /data/tmp (если девейс не рутован - залить не дадут)

потом:
adb shell

в шелле:
chmod 777 /data/tmp

Теперь для запуска отладки достаточно делать так:
adb forward tcp:5000 tcp:5000
/data/tmp -p5000
и оставляешь открытую консоль.

В ида выбираешь Remote ARM Linux/Android debugger
Address: localhost
Port: 5000

Debugger->Attach to process....

-----
SaNX


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


Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 17 сентября 2014 18:51 · Поправил: Maximus
· Личное сообщение · #7

SaNX спасибо тебе большое. Начал искать, читать тему, наткнулся на AntiLVL
Обработал им, заменил пропатченные so файлы, переподписал приложение и оно... заработало!!!

Жалко благодарность можно поставить так мало раз (((

-----
StarForce и Themida ацтой!




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

Создано: 17 сентября 2014 18:55
· Личное сообщение · #8

Maximus
антилвл лучше не юзать, оно иногда такой херни наделает, что вспотеешь искать, почему глючит прога.

-----
SaNX




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

Создано: 18 сентября 2014 10:39
· Личное сообщение · #9

Maximus пишет:
наткнулся на AntiLVL
Обработал им, заменил пропатченные so файлы

Лучше бы тогда лаки патчером просто пересобрал приложение, хотя он тоже может херни наделать, но не в таком колличестве, как AntiLVL

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


Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 18 сентября 2014 10:47
· Личное сообщение · #10

Ок. Попробую им тоже

-----
StarForce и Themida ацтой!




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

Создано: 22 сентября 2014 16:06 · Поправил: VodoleY
· Личное сообщение · #11

и снова всем доброго времени суток. Занимался я одной прожкой, но тут с определенной версии чтото ребятки накрутили, чтот с ходу не могу понять в чем дело. С ходу решил пересобрать АПК. при сборке начали вылетать ошибки, что нет папочки в res файлах. открываю.. есть. начал сравнивать с оригинальными ресурсами АПКхи. Обнаружилось, что при ДЕКОМПИЛЯЦИИ от папочек с ресурсами откусывается 3-4 символа в конце. Сами файлы ресурсов вроде норм все декомпельнулись а именно имена папок порубило. Это случайно не штатное чтото?
З,Ы. ну java -jar apktool152.jar d -d -r помогает потом собрать.. типа ресурсы оригианальные остаются.. а AndroidManifest.xml как бы с фглагом android:debuggable="true" скомпилить и вкомпилить в АПК.. пока вопрос

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 27 сентября 2014 21:24
· Личное сообщение · #12

VodoleY пишет:
Это случайно не штатное чтото?

врядли кто-то скажет, протекторов то в открытом доступе нет. я сам несколько раз встречался с подобным и даже хуже, когда имена съедаются при декомпиляции (типа android:name="some" декомпилится в android = "some").

-----
SaNX




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

Создано: 28 сентября 2014 09:16 · Поправил: SaNX
· Личное сообщение · #13

Новая тулза: https://github.com/strazzere/android-unpacker/tree/master/native-unpacker
Basic example of an easy unpacker for Android. Heavily commented so hopefully people can understand the flow and thinking behind the hacks going on.

Currently supports:

Bangcle (SecNeo)
APKProtect
LIAPP (prerelease demo)
Qihoo Android Packers

Cygwin на винде нужен будет для запуска.

-----
SaNX


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

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

Создано: 28 сентября 2014 11:15 · Поправил: VodoleY
· Личное сообщение · #14

SaNX ну вобщем пока что.. вышел из ситуации.. опцией -r (оставил старые ресурсы) и зациклил код.. как в статье на хабре.. вопрос следующией.. а от чего зависит видна ли прога в DDMS сервака.. как потенциальная для аттача? только от того есть ли в манифесте дебагейбл? или можно это както в рантайме организовать? Что замечательно.. в том же блюстеке.. процессы видны все, даже без дебагейбл=труе. Вот хотелось подобное сделать бы на живом девайсе.
З.Ы. и доп вопрос.. может ктото кинет ссылкой.. для ликбеза.. как собираются/разбираются ресурсы.. чтото я догнать не могу.. как так умудряются рубиться рессы.. ведь все пути в resource.asrc живие и нормальные. а по факту это бинари хмл файл только и всего

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 28 сентября 2014 13:02 · Поправил: SaNX
· Личное сообщение · #15

VodoleY пишет:
Вот хотелось подобное сделать бы на живом девайсе.

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

-----
SaNX




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

Создано: 28 сентября 2014 20:25 · Поправил: Apokrif
· Личное сообщение · #16

SaNX пишет:
у меня так и есть. видимо, от прошивки зависит.

А ro.debuggable как стоит?
Погуглите, там вроде все д.б просто...



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

Создано: 29 сентября 2014 10:00
· Личное сообщение · #17

Apokrif это ты к тому..что ядро себе собрать?

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 29 сентября 2014 18:02 · Поправил: Apokrif
· Личное сообщение · #18

VodoleY пишет:
тому..что ядро себе собрать

Можно и так
По идее ro.debuggable=1 в build.prop должен давать небольшую performance penalty...
Точно не помню, попробуйте ro.debuggable через setpropex установить - все запушенные процессы должны сразу стать debuggable?



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

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

Гуру андроида, а есть ли ВМ для винды, способная АРМ выполнять как родная?
Тоесть genymotion не подходит, потому что х86 + транслятор. На родные arm системные утилиты она ругается что некорректный исполняемый файл.
Я подозреваю что qemu должна уметь (там есть поддержка arm архитектуры), но где можно слить пакет под винду (включая образ с ведром, а то самому компилить долго)?
Сейчас еще bluestack посмотрю, но там вроде бы только плеер.

Добавлено спустя 1 час 30 минут
bluestack тоже х86. Остаетяс qemu. Но что-то оно с полпинка только чушь какую-то показывает вот в такой вот конфигурации, взятой здесь:
qemu-system-arm -M realview-pbx-a9 -m 512 -kernel l4_gingerbread-arm.elf -serial telnet:localhost:4444,server & telnet localhost 4444

Еще вопрос, что такое проект Linaro? Какие-то предкомпилированные ядра, но есть и тулчейны.

Еще у АРМа есть Fast Models / Fixed Virtual Platforms. Это что такое?

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




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

Создано: 30 сентября 2014 05:01 · Поправил: Apokrif
· Личное сообщение · #20

r_e пишет:
Гуру андроида...
То есть genymotion не подходит

Не претендую на гуру андроида, но genymotion + libhoudini (Genymotion-ARM-Translation_*) может выполнять родной ARM код на x86.
Т.е. мой APK с ARM .so либой и все ARM gapps идут без проблем.
Последняя рабочая версия 4.3, на 4.4 не работает (долго объяснять, почему)

В Zenfone 5's CPU Intel Atom Z2560 т.е. x86.
Народ грит, ARM на нём идет без проблем - возможно через тот же libhoudini, самому интересно узнать как именно!



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

Создано: 30 сентября 2014 09:26
· Личное сообщение · #21

Apokrif
Я уже писал что связка с транслятором не работает для системных приложений. При запуске такого приложения на женямошене (с хаудини), система просто ругается на сигнатуру.
Может я не умею их готовить? Может нужно запускать через LD_PRELOAD=libhoudini.so...?

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





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

Создано: 30 сентября 2014 11:18 · Поправил: reversecode
· Личное сообщение · #22

r_e пишет:
Может нужно запускать через LD_PRELOAD=libhoudini.so...?

да в гугле полно мануалов

◾libhoudini.so to /system/lib/
◾libdvm_houdini.so to /system/lib/
◾Create a new directory /system/lib/arm/
◾Move the extracted files from houdini_armlibs.tgz to /system/lib/arm/

дальше должно само собой все заработать



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

Создано: 30 сентября 2014 12:06 · Поправил: r_e
· Личное сообщение · #23

reversecode
))) мануалов-то полно, но большинство из них относится либо к запуску apk+so через транслятор (хаудини), либо к x86.

Вот небольшая картинка с проблемой. Как видишь, хаудини установлен (каталог arm тоже есть с либами)

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

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





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

Создано: 30 сентября 2014 12:10 · Поправил: reversecode
· Личное сообщение · #24

--> Link <--
Magic number 7F45 specifies the Executable and Linkable Format (ELF) file type, a format that is not executable on ARM processors.
Reason could be either improper cross compilation or either using wrong toolchain.
Using correct toolchain should fix this problem

в иде и тулчайнами смотри что это за арм файл такой странный



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

Создано: 30 сентября 2014 12:25
· Личное сообщение · #25

reversecode
Еще раз для тех кто читает через строку ))) гугль я уже прошерстил по поводу ошибки.
Вопрос: как удостовериться что при запуске этой утилиты она подгружается через транслятор?
Почему я думаю что проблемы не из-за кривого арма? APK+.so c того же бокса что и эта утиль работают нормально через транслятор. В отладичке видно что .so подгружается и работает.

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





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

Создано: 30 сентября 2014 12:26
· Личное сообщение · #26

а зачем такие извраты? тебе не андроид приложение, тебе арм, а зачем на анроиде?
можно ж просто линукс арм



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

Создано: 30 сентября 2014 12:36
· Личное сообщение · #27

reversecode
Утиль, которую я запускаю - сервер, который цепляется на 127.0.0.1 (а не на 0.0.0.0), и с которым уже работает ряд APK. Можно, конечно запилить порт форвардинг, чтобы расшарить сервис в паблик, но хотелось бы все-таки на одной ноде иметь рабочую систему.

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





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

Создано: 30 сентября 2014 12:36
· Личное сообщение · #28

гугли libnativehelper_GBfake.so
включай
тогда должно заработать



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

Создано: 30 сентября 2014 12:41
· Личное сообщение · #29

reversecode
Погуглил. Пипл пишет:
Add the libnativehelper_GBfake project to your source code and put the libnativehelper_GBfake.so in /system/lib/

Если б у меня были исходники - я бы не заморачивался и перекомпилил бы их под х86. ;)

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





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

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

исходники чего?

ну можешь еще этот скрипт попробовать
--> Link <--
но binfmt_misc должен быть в ядре
где самоя интересная строчка

# register Houdini for arm binaries
echo ':arm:M::\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28::/system/bin/houdini:' > /proc/sys/fs/binfmt_misc/register

и твои magic 7F45 есть ;)



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

Создано: 30 сентября 2014 13:17 · Поправил: r_e
· Личное сообщение · #31

reversecode
Исходники утилиты. Я так понял что libnativehelper_GBfake нужно цеплять в зависимости, чтобы он подгрузил остальное.
Вообще, насколько я понял из интернетов, то libhoudini - это транслятор для ДВМ, а не для нативных приложений. Соответственно, с нативными приложениями заставить его работать можно только через пляски с бубном.

Что касается скриптов по ссылке - то для их использования необходимо перекомпилить ядро, а как раз этого хотелось бы избежать. Я вроде не видел чтоб в женимошн можно было свое ядро засунуть.
binfmt_misc в нем есть в ядре, но без поддержки мультиархитектур. Нет /proc/fs/.../register


Добавлено спустя 1 минуту
и твои magic 7F45 есть
Они есть в любом ELF )))

Добавлено спустя 5 минут
Вот бинари (модули), которые нужно регистрировать для трансляции из той переписки.

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



<< 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 » Выход » ЛС
   Для печати Для печати