Solución:
ACTUALIZACIÓN: Como prometí ayer, agregué algunos enlaces más a la lista.
Ufff. ¡No hay mucha documentación! ¿Mejor consejo? Descompile, lea y modifique, vea cómo le fue y comience el ciclo una y otra vez. Pero no pediste ese consejo, ¿verdad? 😉
Ahora, hay algunos lugares que ayudarán un poco:
http://androidcracking.blogspot.com/search/label/smali Este es el mejor. Incluso le hice una pregunta al chico y él respondió muy rápido, así que ve y echa un vistazo.
http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html Tabla muy completa – ¡buena referencia!
http://webchat.freenode.net/?channels=smali Nunca lo probé, pero está en la página de códigos de Google del autor de baksmali (http://code.google.com/p/smali/)
http://forum.xda-developers.com/showthread.php?t=777707 Por último, esta es una publicación que hice hace algún tiempo describiendo algunos trucos a la cámara Captivate. Puede seguir las diferencias allí mientras comento un poco sobre lo que está haciendo cada archivo .diff. Las cosas buenas comienzan en el puesto n. ° 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 forma de empezar.
http://sites.google.com/site/haynesmathew/home/projects/dalvik-notes Nivel incluso más bajo que el típico .smali. Una referencia para después, pero una buena lectura.
http://jasmin.sourceforge.net/guide.html La sintaxis de Smali se basa en Jasmin, por lo que da buenos conceptos.
http://groups.google.com/group/apktool?pli=1 Vale la pena leer algunas discusiones. 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 utilicé: comience a codificar clases y métodos muy básicos en Java, compílelos y luego baksmali su propio código. Sabes exactamente lo que hace, por lo que será mucho más fácil de seguir.
¡Buena suerte!
Sigo sorprendiéndome de que la gente no use los documentos oficiales en formato Dalvik como referencia principal. En versiones anteriores, los documentos de Dalvik se encuentran en la fuente de Android en dalvik / docs. El archivo particular que querrá ver se llama dalvik-bytecode.html. Algunas versiones anteriores de la definición de código de bytes se convirtieron en parte de los documentos para desarrolladores de android.com:
dalvik-bytecode.html en source.android.com
Como conveniencia adicional, ocasionalmente 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 pequeño con información:
http://code.google.com/p/smali/wiki/Registers
http://code.google.com/p/smali/wiki/TypesMethodsAndFields
Y hay ejemplos de código pequeño que utilizan todos los códigos de operación en las pruebas de integración para pequeñoi / baksmali:
pruebas de integración de smalli