ida怎么用
1.如何使用Ida进行反编译
IDA Pro是目前最棒的一个静态反编译软件,是破解者不可缺少的利器!巨酷的反编译软件,破解高手们几乎都喜欢用这个软件。不会用当作经典的收藏软件也不错!
IDA Pro 并不自动的解决程序中的问题,IDA Pro 会告诉您指令的可疑之处,并不去解决这些问题。您的工作是通知 IDA 怎样去做。IDA Pro Disassembler and Debugger是一款交互式的,可编程的,可扩展的,多处理器的,Windows或Linux平台主机分析程序。
2.怎么样用IDA来分析exe文件
ollydbg调试和修改exe等文件内部指令,使用IDA生成稍显易读的逆向代码。两者结合效果比较好。前者用于运行调试,找到目标指令的位置,后者则是逆向前期用来分析exe文件内部结构的工具。
怎么改,不能一言蔽之。大概的原理可以告诉你
使用ollydbg,运行,点击菜单栏的打开,选择你的exe文件,运行,找到main函数的位置,设置断点,单步运行,知道找到你想找的指令的位置,更改该指令,注意要保证指令的总体大小不变,比如说原先该条指令的大小是4个字节,那么你可以使用4个NOP指令代替,大小不变,但是使用6个NOP或者3个NOP指令,总体大小就不同了,exe文件内部指令的相对地址都变了。
即最后的exe文件大小要不变,不然会损坏exe文件。
最后保存修改的内容。
不知道你有没有个大概的印象,反汇编本来就很耗时耗力,需要耐心和经验,还得看你的需求。
3.ida 是什么
IDA Pro Avanced是一个极好的反汇编工具,它大的胜过了w32dasm。近来它的盗版已经在网上传播开了,你可以很轻松得到它。对于这方面的观点有如下几种:一些人认为这是好的,是自由的;而另一些人认为是可耻的,那些认为是可耻的人通常是这个软件的老用户,事实上他们买了那个程序,如果你花了$500买了那个程序的话,你就可以理解他们的反应了。 对于读者来说,你们做什么不是我的问题及我所关心的。而我的观点是如果认为非法的winzip软件同IDA Pro 4.0x一样好或坏。如果你使用非法的winzip,你就不应当使用非法的IDA Pro。
I 介绍
几天前我烈军属了一篇关于解密程序的教程,而这篇也是一个对于高效的,极好的IDA Pro 4.0x教程。通常菜鸟不喜欢,而高手又崇拜它。不喜欢的原因是因为IDA相对于w32dasm来说有更多的附加功能和作用,有更大的复杂性
在下面的教程中由于你过去可能喜欢使用w32dasm,我将尽力给出一个简单和清楚的解释来介绍如何使用IDA。也将试差回答"什么是最好的反汇编?"这里其实没有一个简单的回答。对于更多的高手来说可以读这个:向菜鸟100%解释IDA的使用过程。
II. IDA: 一个高效的反汇编工具
当你运行IDA Pro时,你所最先注意到的是它的界面比w32dasm更加专业,这里比w32dasm有更多的选项或更先进的地方。它的优点是可以更好的反汇编和更有深层分析。而缺点是使用IDA更困难。
实际上IDA同w32dasm有很多相同的功能:可以快速到达指定的代码位置;可以看到跳到指定的位置的jmp的命令位置;可以看参考字符串;可以保存静态汇编等。
现在让我们运行和反汇编一个小程序(我使用starclean.exe)一个窗口弹出来,那里有很多选项,不要动它,仅仅点击OK。让IDA来分析,当它结束后在name的选项中同w32dasm中参考字符串一样,查找"a"字符。在name窗口中搜索栏中按a,然后开始查找,一旦找到,按enter或双击它,它就将到达正确的位置。按ctrl+enter将到达下一个位置。参考字符串就在光标附近。IDA就可以到达相应的位置了。
另一个同w32dasm相同的:jmp和call参考在IDA也是有效的。在w32dasm反汇编的代码同IDA中相同的。
4.如何使用ida在apk执行前动态调试其so中的函数
安卓手机用ida在apk执行前动态调试其so中的函数 方法1 1、解包对方APK,插入一个:对应SMALI: android.os.SystemClock.sleep(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下ida6.1不行,linux ida 6.4可以,不知是ida的问题还是windows的问题,你可以在linux下用wine测一下。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细。