Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cuál es la mejor manera de aprender Smali (y cómo / cuándo usar los opcodes de Dalvik VM)?

Conozco Java, y aprendí C pero nunca lo usé. No conozco ninguna forma de montaje, ya sea para una máquina virtual o para una máquina real.

¿Cuál es la mejor manera de aprender a hackear Smali?

  • Cómo configurar BackgroundColor en ImageView en Android?
  • CompoundDrawable tamaño
  • ¿Hay alguna manera de ejecutar Python en Android?
  • Gradle no pudo encontrar com.android.databinding: dataBinder: 1.0-rc0
  • Calendario de Android Las fechas de los eventos de todo el día están desactivadas en un día para GMT + x Áreas
  • Error: "No se puede hacer una referencia estática al método no estático findViewById (int) del tipo Actividad"
  • Aplicación de Android para imitar una tarjeta RFID física
  • AdMob con Google Play Services: prueba de anuncios: no hay relleno en el servidor de anuncios
  • Problemas de transacción de PayPal MECL
  • Google AppInvites rompe la construcción
  • Reemplace Retrolambda con Android Studio 3.0 Java 8 funciones integradas
  • Posicionamiento de MediaController sobre VideoView
  • 3 Solutions collect form web for “¿Cuál es la mejor manera de aprender Smali (y cómo / cuándo usar los opcodes de Dalvik VM)?”

    ACTUALIZACIÓN: Como prometí ayer, he añadido más enlaces a la lista.

    Ufff. No hay mucha documentación alrededor! ¿Mejor consejo? Decompile, y lea, y pellizque, y vea cómo lo hizo, e inicie el ciclo una y otra vez. Pero no pediste ese consejo, ¿verdad? 😉

    Ahora, hay unos cuantos lugares por ahí que le ayudarán un poco:

    http://androidcracking.blogspot.com/search/label/smali Este es el mejor. Incluso le pregunté al chico una pregunta y él respondió muy rápidamente, así que ve a echar un vistazo.

    http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html Muy amplia tabla – buena referencia!

    http://webchat.freenode.net/?channels=smali Nunca lo probé, pero está en la página de código de google del autor de baksmali ( http://code.google.com/p/smali/ )

    http://forum.xda-developers.com/showthread.php?t=777707 Por último, este es un post que hice hace un tiempo describiendo algunos hacks a la cámara Captivate. Usted puede seguir las diffs adentro allí como comento un poco en qué cada archivo de .diff está haciendo. Las cosas buenas comienzan en el puesto # 20.

    http://www.slideshare.net/paller/understanding-the-dalvik-bytecode-with-the-dedexer-tool Interesante presentación de diapositivas con algunos conceptos básicos. Buena manera de empezar.

    http://sites.google.com/site/haynesmathew/home/projects/dalvik-notes Nivel aún más bajo que el típico .smali. Una referencia para más tarde, pero una buena lectura.

    http://jasmin.sourceforge.net/guide.html La sintaxis de Smali se basa en Jasmin, por lo que esto da buenos conceptos.

    http://groups.google.com/group/apktool?pli=1 Hay algunas discusiones que vale la pena leer. También es un buen lugar para buscar cuando estás atrapado en algo.

    Y por último, pero no menos importante, el truco más útil que he utilizado: empezar a codificar las clases y métodos muy básicos en java, compilarlos y luego baksmali su propio código. Usted sabe exactamente lo que hace, por lo que será mucho más fácil de seguir.

    ¡Buena suerte!

    Sigo siendo sorprendido que la gente no utilice los documentos oficiales del formato de Dalvik como referencia primaria. En versiones anteriores, los documentos de Dalvik se encuentran en la fuente de Android bajo dalvik / docs. El archivo en particular que querrá ver se llama dalvik-bytecode.html. Algunas versiones de nuevo la definición de bytecode se convirtió en parte de los desarrolladores android.com docs:

    Dalvik-bytecode.html en source.android.com

    Como una comodidad adicional, de vez en cuando reflejo estos documentos en mi sitio web personal. En este caso:

    Dalvik-bytecode.html en milk.com

    Tengo un par de páginas wiki en el sitio smali con alguna información:

    http://code.google.com/p/smali/wiki/Registers

    http://code.google.com/p/smali/wiki/TypesMethodsAndFields

    Y hay ejemplos de código smali que usan cada código de operación en las pruebas de integración para smali / baksmali:

    Pruebas de integración smali

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.