首页
社区
课程
招聘
[求助]LINUX下读取文件数据
发表于: 2011-4-20 22:52 5643

[求助]LINUX下读取文件数据

2011-4-20 22:52
5643
这个是我WINDOWS下的.执行通过了,

  push    0
  push    80
  push    3
  push    0
  push    1
  push    80000000
  push    00478924                         ; ASCII "c:\windows\123.dat"    要读入的文件
  call    <jmp.&kernel32.CreateFileA>       文件返回句柄放在EAX里了.
  push    51BF                                 
  mov     edx, esp
  push    0
  push    edx
  push    51BF      数据大小
  push    esi          ESI为写入数据的位置,
  push    eax
  call    <jmp.&kernel32.ReadFile>

这样文件的数据都读入了ESI的地址中了.

我想知道的是,在LINUX下应该用什么函数,怎么实现上面的功能.....

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 327
活跃值: (1247)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
linux系统调用就是sys_open
2011-4-20 23:01
0
雪    币: 71
活跃值: (286)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
push    0               ; oflag
  push    offset aUsrLibNetzoneN ; "/usr/lib/2323/123.dat"
  call    _open
  mov     ecx, 522Fh
  mov     edx, esi
  push    ecx             ; nbytes
  push    edx             ; buf
  push    eax             ; fd
  call    _read

我在LINUX下这样写好像不对
请帮我看看错误是什么地方
帮我写一下
2011-4-21 03:28
0
雪    币: 71
活跃值: (286)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
已经完美解决
看来万事都得靠自己啊~
2011-4-22 03:45
0
游客
登录 | 注册 方可回帖
返回
//