如何反汇编APK程序?

如何反汇编APK程序?,第1张

别着急,有办法:

1. 假设你要反汇编的是app.apk,那么先改名成app.zip

2. 解压

3. 在解压出来的里面找到classes.dex,这个就是目标的程序的二进制文件

4. 用附件的dex2jar,在Windows命纤闷锋令行下运行 dex2jar classes.dex

5. 生成classes.dex.dex2jar.jar,这个就是转换后的JAR文件了

6. 执行毁晌jd-gui,找到刚才生成的罩数JAR文件,打开之。

7. 偷偷乐吧,90%以上的Java源代码跃然眼前。

通过仿真查看分步阅读

1

/4

打开一个Keil5工程,在需要查看汇编代码的地方设置一个断点,这个用于定位,便于仿真一次性执行到这里。

2

/4

点击菜单栏的“Debug”->"Start/Stop Debug Session"或者直接按“Ctrl + F5”,执行仿真程序。

3

/4

仿真执行后,可以看到代码窗口上还有两个窗口,拖动代码窗口和这两个窗口的分割线可以调整这两个窗口的宽度,其中“Disassembly”就是“反汇编”窗口,切换到这个窗口可以看到当前正在执行的汇编指令。

4

/4

点击F5或者菜单栏的“Debug”->"Run"可谨穗以很快执行到断点处,这是就可以从“Disassembly”窗口中看到断点代码的汇编指令了。

通过修改编译条件

1

/7

通过修改编译条件,使得编译器生成汇编源代码,这样便可以在编译的中间文件中直接查看生成的汇编代码了,而且可以保存,这个方法很适合源码分析。在Keil中,只需要选择需要查看汇编源码的c文件,右击选择“Options for file ……”,切换到这个文件的Option对话框。

2

/7

在d出的“Options for File ……”对话框选择“Properties”属性页,默认情况“Generate Assembler SRC File”和“Assemble SRC File”是灰色的,这两个选项的功能在于控制“生成汇编源文件”和“汇编源文件”,点击前面的框框两下使得出现黑色的勾勾即可选中。

3

/7

配置完对应c文件的编译选项后,对文件进行重新编译。

4

/7

编译成功后,会在选择了生成汇编文件的c文件上产祥兄卜生一个花型的符号,这个表示此文件的编译方式不一样。

5

/7

通过“File”->“Open”切换到该工程的Objects所在目录,一般Keil5将这个目录自动生成的,如果是Keil4则需要手动配置。

6

/7

在Objects下有对应的.s文件,这个就是尘纤汇编文件,选择它。

7

/7

可以看到,整个stm32f10x_it.s里面都是汇编代码,而且在汇编代码前都有对应的C代码,非常适合编译原理分析。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8243245.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存