ОБНОВЛЕНИЕ: Как я и обещал вчера, я добавил еще несколько ссылок в список.
Ufff. Не много документации вокруг! Лучший совет? Декомпилируйте, прочитайте, настройте и посмотрите, как это произошло, и начните цикл снова и снова. Но вы не просили этого совета, верно? ;)
Теперь, есть несколько мест, которые немного помогут:
http://androidcracking.blogspot.com/search/label/smali
Это самый лучший. Я даже задал парню вопрос, и он очень быстро ответил, так что иди и посмотри.
http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html
Очень полная таблица - хорошая справка!
http://webchat.freenode.net/?channels=smali
Я никогда не пробовал, но это на кодовой странице Google автора baksmali (http://code.google.com/p/smali/)
http://forum.xda -developers.com / showthread.php? Т = 777707
Наконец, это пост, который я сделал некоторое время назад, описывающий некоторые взломы камеры Captivate.
Вы можете следить за изменениями, пока я комментирую, что делает каждый файл .diff. Хорошие вещи начинаются с поста № 20.
http://www.slideshare.net/paller/understanding-the-dalvik-bytecode-with-the-dedexer-tool
Интересное слайд-шоу с некоторыми основными понятиями. Хороший способ начать.
http://sites.google.com/site/haynesmathew/home/projects/dalvik-notes
Еще более низкий уровень, чем типичные .smali. Ссылка на потом, но хорошее чтение.
http://jasmin.sourceforge.net/guide.html
Smali синтаксис основан на Jasmin, так что это дает хорошие понятия.
http://groups.google.com/group/apktool?pli=1
Некоторые обсуждения там стоит прочитать. Также хорошее место для поиска, когда вы застряли в чем-то.
И последний, но не менее важный способ, который я использовал: начать кодировать базовые классы и методы в java, скомпилировать их и затем baksmali свой собственный код. Вы точно знаете, что он делает, поэтому за ним будет намного легче следить.
Удачи!