当前位置: 首页 > 面试题库 >

学习Smali的最佳方法是什么(以及如何/何时使用Dalvik VM操作码)?

归浩博
2023-03-14
问题内容

我知道Java,学习过C,但是从未使用过。我不知道任何形式的汇编,无论是虚拟机还是真实的汇编。

学习如何破解Smali的最佳方法是什么?


问题答案:

更新:正如我昨天承诺的那样,我在列表中添加了更多链接。

ff 周围没有太多文档!最好的建议?进行反编译,读取和调整,然后查看其效果,然后一次又一次地开始循环。但是您没有要求该建议,对吗?;)

现在,有一些地方会有所帮助:

http://androidcracking.blogspot.com/search/label/smali
这是最好的一个。我什至向那个人问了一个问题,他回答很快,所以去看看。

http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html
非常全面的表格-很好的参考!

http://webchat.freenode.net/?channels=smali
我从未尝试过,但是它位于baksmali作者(http://code.google.com/p/smali/)的google代码页上

http://forum.xda-developers.com/showthread.php?t=777707
最后,这是我一段时间前发布的一篇文章,描述了Captivate相机的一些漏洞。当我对每个.diff文件的功能进行评论时,您可以关注其中的差异。好的东西始于20号帖子。

http://www.html" target="_blank">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编写非常基本的类和方法,对其进行编译,然后再编写自己的代码。
您确切地知道它的作用,因此它会容易得多。

祝好运!



 类似资料:
  • 问题内容: 经常出现在Python模块中。即使阅读了Python的文档,我也不明白它的用途以及使用时间/方式。 有人可以举例说明吗? 关于我收到的基本用法的一些答案似乎是正确的。 但是,我需要了解有关工作原理的另一件事: 对我来说,最令人困惑的概念是当前的python版本如何包含未来版本的功能,以及如何使用当前版本的Python成功地编译使用未来版本的功能的程序。 我猜想当前版本包含了将来的潜在功

  • 问题内容: 我正在寻找一本书或任何其他资源,它们将帮助我学习如何用Java创建RESTful API。在Amazon上,我看到了RESTful Java的几种解决方案 ,但我正在寻找适合新手的解决方案。 期待收到您的建议/意见,谢谢! 问题答案: 我认为我不能仅指向一种资源,而是要走一条路(您可以根据对REST的理解水平对其进行自定义)。我是一个想先弄清楚我的概念,然后再考虑实现这些概念的工具的人

  • 问题内容: 我认为自己是一位经验丰富的Java开发人员,并计划开始学习C ++。 如果您有相同的经验,即在Java之后学习C ++,那么我想听听您对这样做的最佳方法的想法。 [更新]“最佳方法”没有得到很好的量化。我正在寻找的是利用我现有的Java知识和编程经验,以便可以快速使用C ++。 问题答案: 我已经向Java人员教过C ++,即使我向他们学习了另一个方向。 我对Bruce Eckels的

  • 问题内容: 我参与开发一个Java项目,该项目使用一些C ++组件,因此我需要Jacob.dll。(在Windows 7上) 无论我把Jacob.dll放在哪里,我都在不断获取。 我在寻找可能的决定,而到目前为止尚未尝试的决定是设置LD_LIBRARY_PATH变量,指向.dll文件。 我经验不足,不熟悉该变量的含义和用法-您能帮我吗? 问题答案: 通常,您必须在JVM的命令行上进行设置:

  • 问题内容: 我想学习蚂蚁。谁能推荐一些有关此主题的良好学习资源?从在线入门教程到深入的书籍,任何资源都会受到赞赏。 谢谢你的帮助! 问题答案: ant.apache.org。看看手册。 蚂蚁最佳实践 不会花很长时间-蚂蚁并不难。 这是一个示例,可以重用的build.xml开头。它足够通用,可供我重复使用。目录命名约定应易于遵循。我使用的布局模仿IntelliJ的输出。

  • 我遇到了一个问题。我的网页有一个控件。值更改后(通过选择不同的值),页面将刷新并呈现内容。 下面是我的代码: 第二部分: