linuxso文件反编译(linux .so 文件)-编程知识网

linux生成文件中.so文件和.out文件的区别?

在链接的时候指定入口是可以制造可以运行的.so文件的典型的例子:/lib64/ld-linux-x86-64.so.2/lib64/libc.so.6因为它们都是ELF(Executable and Linking Format)文件顾名思义就知道这种文件同时兼具可执行于可连接的作用。Windows上我不熟悉,当时考虑到DLL于EXE都是PE文件,链接器那边做好入口理论上是可以执行的。但是如果Windows上有什么泾渭分明的区分就无解了

so文件怎么开?

so文件是Linux系统的可执行文件,相当于windows上的exe执行文件,只可以在Linux系统运行。so文件就是常说的动态链接库,都是C或C++编译出来的。与Java比较就是:它通常是用的Class文件(字节码).//Linux下的.so文件时不能直接运行的。一般来讲,.so文件称为共享库.//。

so文件怎么修改?

主要是gcc编译时候选择是静态库还是动态库。如下

gcc -c test.c

ar -r test.a test.o 生成静态库

gcc -fPIC -shared test.c -o test.so 生成动态库

自己生成的动态库为了能够让ld找到,必须要修改连接路径或者把动态库放到指定的目录里面。这样so文件就修改好了。

安卓类库so文件与linux类库类库文件区别?

本质上都是一样的,都是Linux的动态链接库