首页
论坛
课程
招聘
关于dlopen函数
2017-11-14 15:21 2300

关于dlopen函数

2017-11-14 15:21
2300
#include<stdio.h>
#include<stdlib.h>
#include<dlfcn.h>
int main()
{
    int a,b;
    void *p;
    int (*func)(int,int);
    scanf("%d%d",&a,&b);
    p=dlopen("libdldl.so",RTLD_NOW);
    if(p==NULL)
    {
        printf("dlopen error!\n");
        exit(0);
    }
    else
        printf("dlopen ok!\n");
    func=dlsym(p,"max");
    printf("%d and %d compare result is that %d is max\n",a,b,(*func)(a,b));
    dlclose(p);
return 0;
}
程序可以正常执行,可以输出dlopen ok。
用dlopen加载so文件,这时候是不是会跳转到linker去解析这个so?我在linker里怎么抓不到log?下面是linker中dlfcn.cpp中我抓log的方法
void* dlopen(const char* filename, int flags) {
 if(strcmp(filename,"libdldl.so")==0)
  INFO("libdldl.so is find ");
......}
然后用adb logcat -d>log.txt 抓log 发现找不到libdldl.so。
哪位大神帮忙看下,谢谢。


【公告】看雪招聘大学实习生!看雪20年安全圈的口碑,助你快速成长!

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 293
活跃值: 活跃值 (89)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
starkin 活跃值 2017-11-14 15:47
2
0
又是哪位冕旒界的小作者在要elf加密啊
游客
登录 | 注册 方可回帖
返回