首页
社区
课程
招聘
[求助]IDE Pro 6.8 的使用,有些不明白的地方
发表于: 2016-10-22 15:27 5179

[求助]IDE Pro 6.8 的使用,有些不明白的地方

2016-10-22 15:27
5179
1.如下图


我用的是IDA Pro 6.8破解版,Windows 8.1 64位,图中用IDA打开了的程序是32位的IE浏览器。上图中圈住了2个地方,一个是函数名那里只有sub_再加一些数字?第二个是import的函数,其地址都是000..000?请问这是怎么回事呢?与下面提示框的找不到python的那个模块有关系吗?

2.如下图


然后我选择了remote windows debugger,开始动态调试,如上图,IE浏览器打开了,而IDA 就提示(最后2行)Unloaded    ,  process has  exited 。 请问这个是什么回事呢?

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 1556
活跃值: (853)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
2
1.C/C++逆向,几乎所有的东西都要自己还原,这可不是java反编译之后还能有类的各种信息.
2.你设置的有远程调试器?调试本地程序就用本地的调试器.

你需要看的书太多了.
2016-10-22 15:33
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
要还原什么?我说的是函数的地址是全0,左边的函数名也是这种识别不到函数名的,用Ollydbg起码导入的函数地址都能识别出来,你的意思是IDA Pro这方面的功能是没有的,然后要靠自己去识别?

我选remote windows debugger,是因为ida pro 6.8的目录下的dbgsrv目录下有remote win32 debugger ,但没有local debugger,如果选择local debugger,选择路径不知选哪里。我这里用的就是remote windows debugger

上一张dbgsrv目录下的图

上传的附件:
2016-10-22 16:28
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
又查了一些资料,搞了一会,知道怎样用local debugger了,在import的窗口里导入的函数有地址了,但是又有新的问题。

上一张图


这图我点击的是kernel32.dll中的VirtualQuery函数,下面有提示“line 25 of 92",所以IE浏览器只import 了92个函数?但这些函数里我看不到有winiet!InternetConnectW(A也没有),我在Windows xp 下用Ollydbg调试IE的时候是有加载这个模块和这个函数的。

另外,双击VirtualQuery的地址,进入到下图


这里好像只见到函数的声明?没见到函数的定义?

转到Hex View窗口中查看,如下图,只有问号


那么怎样才能看到函数(例如这个kernel32中的VirtualQuery)的定义?
上传的附件:
2016-10-22 17:08
0
雪    币: 1556
活跃值: (853)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
5
1.你的调试环境是win8?你说在xp能看到.你觉得这两个IE版本一样?
2.只有函数定义,那是从别的库导入的函数,代码并不在此程序中,执行该函数会跳转到相应的库的代码.用来代码复用.

你对编程不熟悉,也没有软件逆向的基础,不要想一下就能掌握.
2016-10-22 21:50
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
但是我在win 8.1 下用Ollydbg 2.0.1 试了一下,同样打开32位的IE浏览器,同样查找kernel32模块的VirtualQuery函数,如下图所示



按上图中74f09a74中的jmp指令跳转之后,如下图



这2图,起码函数的定义是出来了,但是我用IDA Pro打开,同样找kernel模块的VirtualQuery函数,就只有一堆问号?

最后想说一下,我不熟悉的是IDA Pro的使用,和64位环境的调试。
上传的附件:
2016-10-23 08:05
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
而且IDA Pro对于kernel32模块的导出函数只能识别到不多,我上面IDA 那里贴过图,import窗口里总共就92个函数,其中是kernek32模块的不多。而且识别的模块也不齐全。

下面是同样在win 8.1 64位下,我用Ollydbg 2.0.1 打开32位的IE浏览器,跳转到kernel32模块,查找Names的结果。



而且在Ollydbg里,显示IE浏览器导入的模块不少



这段时间我开始用IDA Pro,和在64位环境下调试(上面举的例还只是在64位下打开32位程序,熟悉了IDA怎样用之后用来调试64位程序),不太熟悉这些。
上传的附件:
2016-10-23 08:18
0
雪    币: 1556
活跃值: (853)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
8
一个静态分析,一个动态调试...唉 你这样只会问题越来越多,准备建多少楼?
2016-10-23 14:04
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你的意思就是IDA不能拿来静态调试?
2016-10-23 14:23
0
雪    币: 360
活跃值: (2031)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
10
你的意思是函数调用时od有api注释,ida没有。是这样吗?
2016-10-23 14:53
0
雪    币: 1556
活跃值: (853)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
11
IDA静态分析和动态调试都可以.你说的在ollydbg里面看到的那些系统API,都是dll里面的,
没看到ollydbg窗口标题写着Names in KERNELBASE ?这是在dll里面的函数名称了,不是在程序里面.程序里面只有系统API的入口描述.你可以在ollydbg看看程序有哪些names,和IDA静态分析是一样的.

看看IDA Pro权威指南,找一些动态调试的入门资料.临时抱佛脚没什么用
2016-10-23 15:06
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不仅仅是这样,Ollydbg能看到api函数的定义(不只是声明,具体的函数的定义也能看到),IDA跳转到相关地址处只有一堆问号。而且Ollydbg识别到导入的的函数多,同样对于win8.1 64 位下的32位的IE浏览器,Ollydbg能识别到不少的模块,还有其中的api函数(在Ollydbg右键按select module,选好module之后search for -> names)很多,而IDA的import的这个窗口里总共只识别到92个从其他模块导入的函数,模块也不全。

我刚开始学习用IDA,不是很熟,不知是不是这样来用
2016-10-23 15:07
0
雪    币: 30
活跃值: (206)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
所以在Ollydbg里打开IE的时候,能看到从dll导入的函数的定义(在Ollydbg中打开IE之后我是右键,然后select module选择跳转到导入的模块的),而IDA不能?
2016-10-23 15:12
0
雪    币: 1556
活跃值: (853)
能力值: ( LV9,RANK:320 )
在线值:
发帖
回帖
粉丝
14
动态调试时候程序已经处于运行的状态,此时程序调用DLL中的API,系统会把DLL加载到和程序同一个内存空间,这个时候是可以看到DLL中所有的API的.
静态分析,程序并没有运行,所以你就没办法跳转到DLL.你看KERNELBASE,在操作系统文件夹下面有KERNELBASE.dll,你用IDA分析同样可以得到DLL所有API.
2016-10-23 15:19
0
雪    币: 19
活跃值: (128)
能力值: ( LV9,RANK:146 )
在线值:
发帖
回帖
粉丝
15
打广告者   看雪之耻辱也
2016-10-24 13:40
0
雪    币: 90
活跃值: (80)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
你根本不是不熟悉ida,你需要一些基本常识
2016-10-26 10:52
0
游客
登录 | 注册 方可回帖
返回
//