首页
社区
课程
招聘
[求助]linux中.o文件用ida5反汇编有些代码不能识别
发表于: 2006-11-25 18:22 8246

[求助]linux中.o文件用ida5反汇编有些代码不能识别

2006-11-25 18:22
8246
mov     eax, [ebx+18h]
                test    al, 1
                jnz     short loc_8000A35

                 db 0Fh, 0Bh
                 db 8Ah, 2
                 db 0c9h,23h,0,8

loc_8000A35:
                mov     eax, [ebx+18h]
                test    al, 4
                jz      short loc_8000A44
               
                 db 0Fh, 0Bh
                 db 0c0h, 28h
                 db 0c9h,23h,0,8

如何处理这些没有识别出来的代码?谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 3
活跃值: (414)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
发来我看下。
2006-11-25 21:32
0
雪    币: 290
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
prohd linux driver
2006-11-25 23:25
0
雪    币: 3
活跃值: (414)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
那些代码可能本身就没用的吧。
这是一个硬盘保护系统?
它的限制在哪里?是时间限制吗?
2006-11-25 23:45
0
雪    币: 290
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
linux驱动,没有什么限制,只是想看明白它的原理。

那些代码如果没有用说不通啊,太多那种代码,如果没有用,又如何往后面执行呢?

phrohd.o是我解压出来的,难道解压错了?

2006-11-26 10:10
0
雪    币: 3
活跃值: (414)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
直接在ida中看它的流程很方便的。
在linux内核中的函数和普通的用户程序的函数是不态一样的。
在这个模块中,init_protect是初始化和注册各种功能(是模块的入口)。它会调用各种注册函数。先
Get_first_idedisk->blk_get_queue->InitBuffer->InitParameter->create_proc_entry->register_reboot_notifier->kernel_thread(注册一个内核线程)->add_flush_timer(添加一个定时器)
以上初始化完成。
cleanup_protect这个函数是退出函数。
2006-11-26 10:58
0
雪    币: 290
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢,这些我都看到了,只是因为那段代码不明白,导致比较细节的代码没有看明白,正在安装一个linux,打算用objdump看看究竟咋回事。
2006-11-26 13:39
0
雪    币: 290
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
db 0fh,0bh  ==> ud2a   

其他的代码也是IDA没有识别出来,用objdump识别成如此指令,但是还是看不懂!
2006-11-27 22:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我找了一些资料,说ud2a是一条引发exception的ia32指令。也就是会说,执行到这里,系统就会挂起,等待开发人员进行处理。
一般不会执行到这条语句。
2006-11-28 09:39
0
雪    币: 290
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢,这些怪异的指令还真需要查手册。
2006-11-28 15:49
0
雪    币: 290
活跃值: (650)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
ud2a 用 BUG(); 即可编译出如此指令,一般前面有一个跳转指令,直接跳转即可,不用理会此处的代码。

估计这种地方就是BUG();
2006-12-2 11:09
0
游客
登录 | 注册 方可回帖
返回
//