android怎么动态调试dex

android怎么动态调试dex,第1张

系统老旧。《od》是一个反汇编工具,又叫OllyDebug。该软件载入不能运行是系统老旧导致的,只需要将软件进行卸载安装最新版即可。《od》是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想。

通过按照伪代码所表达的算法或 *** 作,编好程序,才能运行。IDA Pro全称是交互式反汇编器专业版(Interactive Disassembler Professional),简称IDA,它是一种典型的递归下降反汇编器。IDA并非免费软件,但Hex-Rays公司提供了一个功能有限的免费版本。IDA是Windows,Linux或Mac OS X托管的多处理器反汇编程序 和调试程序,它提供了许多功能,是一款很强大的静态反编译工具。支持很多插件和python,利用一些插件可以提供很多方便的功能大大减少工作量,在CTF中,逆向和pwn都少不了它,更多强大的功能等待童鞋们自己去学习挖掘,三言两语讲不完。它支持数十种CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。

安卓手机用ida在apk执行前动态调试其so中的函数

方法1

1、解包对方APK,插入一个:对应SMALI: androidosSystemClocksleep(20000);const-wide/16 v0, 0x2710 #20秒invoke-static {v0, v(X-1)}, Landroid/os/SystemClock;->sleep(J)V这里(X-1)对应local X。

2

另外,有的包在你要调试的那个SO里面有签名保护,反正你重新打了包之后会导致程序运行崩溃,这个相比JAVA修改困难些,建议你用那个签名漏洞来打包。事实上我调试那个SO也遇到过这样,然后打了个签名漏洞的包嵌入的延时函数就可以了。

方法2

1) am start -D -n 包名/类名;

2) IDA pro attach 进程, 设置新线程,加载so时断点,continue;

3) 打开ddms, 查看调试端口, jdb attach port;

4) 这个时候应该已经断在新线程,或者加载so处了,在你感兴趣的so处停下来;

5) 另外用ida 打开so,查看你感兴趣的函数偏移, 加上你感兴趣的so的基地址,打上断点,continue, 就大功告成了。

注意事项

windows下ida61不行,linux ida 64可以,不知是ida的问题还是windows的问题,你可以在linux下用wine测一下。

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细

MBR分区

在传统硬盘分区模式中,引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

一个扇区的硬盘主引导记录MBR由4个部分组成。

•主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。

•出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。

•分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。

•结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。

GPT分区表:

GPT的分区信息是在分区中,而不象MBR一样在主引导扇区,为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区(Protective MBR)的MBR分区表(此分区并不必要),这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘。

另外,为了保护分区表,GPT的分区信息在每个分区的头部和尾部各保存了一份,以便分区表丢失以后进行恢复。

对于基于x86/64的Windows想要从GPT磁盘启动,主板的芯片组必须支持UEFI(这是强制性的,但是如果仅把GPT用作数据盘则无此限制),例如Win8/Win81原生支持从UEFI引导的GPT分区表上启动,大多数预装Win8系统的电脑也逐渐采用了GPT分区表。至于如何判断主板芯片组是否支持UEFI,一般可以查阅主板说明书或者厂商的网址,也可以通过查看BIOS设置里面是否有UEFI字样。

以上就是关于android怎么动态调试dex全部的内容,包括:android怎么动态调试dex、ida动态调试无法转化代码、od反汇编工具调试程序无法启动等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/10109910.html

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

发表评论

登录后才能评论

评论列表(0条)

保存