c 解析so文件

Posted luckygxf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 解析so文件相关的知识,希望对你有一定的参考价值。

1. 生成so文件 https://www.cnblogs.com/luckygxf/p/11894773.html

2. 解析so文件

3. 调用so库函数

 

//
// Created by gxf on 2020/2/27.
//

#include "hello.h"
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <dlfcn.h>

void *printMain(void *msg);
void *logPrint(char *msg);

int main() {
    void (*agentFunc)(char *msg);
    void *handle = dlopen("/Users/gxf/CLionProjects/untitled/hello/libhello.so", RTLD_LAZY);
    agentFunc = dlsym(handle, "say_hello");
    agentFunc("hhhhhh");

    return 0;
}

void *logPrint(char *msg) {
    printf("int main.c msg:%s
", msg);
}

void* printMain(void *msg) {
    while(1) {
        printf("sleep in main :%s
", (char *)msg);
        sleep(1);
    }
}

  

以上是关于c 解析so文件的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

链接器链接过程及相关概念解析

如何创建一个.so 文件,其中仅包含用 C 代码包装的 C++ 代码 - OpenCV 相关?

-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段

linux中把.c的文件编译成.so

如何解析 MPD 清单视频文件并获取图像适配集的片段?