`
dingran
  • 浏览: 376258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

so的一些信息

 
阅读更多

1.查找动态库so所依赖的其他库:

 

objdump -x libtest.so | grep NEED

 

结果例如:

 

  NEEDED               libc.so
  NEEDED               libdl.so

 

即,需要libc和libdl两个so。

 

2.也可以用ndk中的:

android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ld libtest.so来察看更详细的so信息

 

3.察看so中的函数符号:

 

readelf -s libtest.so | grep Init

 

4.也可以用ndk中的:

android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-readelf -d libtest.so

 

5.察看so的文件信息:

 

file libtest.so

 

结果:

libtest.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped

not stripped意味着这个so可以Debug,可以反编译。

 

又如:


file libjni_test.so
libjni_test.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped


这个libjni_test.so 就不能反编译了。

 

分享到:
评论

相关推荐

    LINUX动态库.so嵌套.so文件

    这个库可能包含一些基础功能,如打印“Hello, Library!”这样的信息,供其他程序调用。 总之,Linux动态库的嵌套使用是一项高级技术,它允许我们在设计复杂系统时更好地组织代码,实现模块化,并通过共享库来提高...

    linux 下 libssl.so.10 libcrypto.so.10

    OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,同时也包含了一些常用的加密算法、证书操作等工具。 首先,我们来详细了解一下`libssl.so.10`。这个库主要包含了SSL(Secure Socket Layer)和...

    zbar的so库

    这个库的核心在于其强大的图像处理能力,它可以解析图像中的条码信息,并将这些信息以字符串形式返回。在Android开发中,由于原生代码的性能优势,我们通常会使用JNI来调用`ZBar`的C++接口,以实现高效且稳定的条码...

    php7.0.27扩展文件(libphp7.so、libphp7-zts.so)

    当我们在Linux系统中配置PHP和Apache环境时,可能会遇到一些问题,例如在本例中提到的“php7.0.27扩展文件(libphp7.so、libphp7-zts.so)”问题。 标题中的“libphp7.so”和“libphp7-zts.so”是PHP的动态链接库文件...

    libopencv_info.so 2.zip

    而libopencv_info.so则包含了OpenCV库的一些元数据,如版本信息、依赖关系等,这些信息对于调试和识别可能的加载问题至关重要。 在Android开发环境中,通常会将.so文件放入项目的jniLibs目录下,根据不同的CPU架构...

    libgcc-s.so.1

    除了上述功能,`libgcc_s.so.1`还包含了其他一些优化特性,例如,对于浮点运算的软浮点支持(soft-float),在没有硬件浮点单元的处理器上,GCC可以依赖此库来模拟浮点运算。此外,它也提供了垃圾收集和尾调用优化...

    just so so

    - **Windows 7**:文档多次提到了对Windows 7系统的支持和优化,例如修复了一些在Win7下的显示问题,并且增加了对新系统的兼容性。 - **其他系统**:包括Vista、Win2003 SP1等,说明这款软件具有较好的跨平台能力。 ...

    libpam.so.0

    在描述中提到的问题,是关于在Mandriva Linux中安装SSH服务器(通常指的是`sshd`服务)时遇到的错误,该错误提示缺少`libpam.so.0`版本信息。 首先,让我们深入了解`libpam.so.0`的作用。PAM是一个框架,它提供了...

    gdal.jar和so文件.zip

    在使用gdal.jar和so库时,有一些关键步骤需要注意: 1. **环境配置**:确保JRE(Java Runtime Environment)已安装并且GDAL的jar包和so库被正确地添加到项目的类路径中。对于so库,还需要将其路径添加到系统的LD_...

    libmysqlclient.so.20

    libmysqlclient.so.20是动态链接库的一种,它的数字20表示版本号,意味着它可能包含了相对于前一个版本的一些更新和改进。 3. **库文件的功能** - **连接管理**:libmysqlclient.so.20提供了连接到MySQL服务器的...

    libZBarDecoder.so

    在移动应用开发领域,尤其是Android平台,原生代码(Native Code)的使用是常见的优化手段,它能够提高性能,实现一些Java无法高效处理的功能。ZBarDecoder.so是一个与ZBar相关的动态链接库,它是ZBar库在Android...

    linux 打so库

    从给定文件中,我们可以提炼出与Linux环境下的so库打包相关的知识点,同时也涉及到Linux环境的搭建、Android系统的编译过程以及一些技术支持与注意事项。以下是详细的知识点: Linux环境下动态链接库(so库)的打包...

    linux下gdb.so

    `gdb.so` 文件通常是指动态链接库(Dynamic Linking Library),它包含了调试信息,使得`gdb` 可以更好地调试使用了这些库的程序。在这个场景中,我们看到一个关于 `gdb-so demo` 的描述,这可能是一个演示如何在`...

    Android-so加载深入分析

    - 解析dynamic section阶段,主要是分析so文件中的动态段信息,这是动态链接的关键部分,涉及符号解析等。 - 链接阶段,so文件中的符号被解析并绑定到正确的地址,完成加载过程。 了解了以上流程之后,我们会对...

    百度地图lib包和so文件

    它包含了对一些新API的回溯实现,使得开发者可以在较低版本的Android系统上使用新功能,比如Fragment、Loader、Parcelable接口等。在使用百度地图API时,可能会用到这个库来兼容旧版本的Android设备。 `locSDK_3.1....

    NDK之打包so库

    在打包.so库时,需要注意一些关键点: 1. **ABI兼容性**:确保为所有目标设备的架构生成.so库,否则应用在某些设备上可能会崩溃。 2. **符号链接**:在发布应用时,删除未使用的符号链接,以减小APK大小。 3. **...

    so文件加密

    6. **调试信息**:在开发过程中,为了方便调试,可能会保留一些未加密的调试信息。确保在发布版本中移除这些信息,以增加逆向工程的难度。 7. **混淆**:除了加密,混淆也是一种常用的保护手段,通过改变变量名和...

    pdfview源码 libapv.so

    `libapv.so`可能包含了一些针对特定CPU架构的优化代码。 6. **安全性**:考虑到PDF文件可能包含敏感信息,PDFview可能实现了加密和权限控制功能。`libapv.so`可能有处理PDF密码保护和数字签名的部分。 7. **API...

    Spring的一些配置信息(date map and so on)

    Spring的一些配置信息(date map and so on) Spring Date Map List Set Properties 自己写了一个属性编辑器,主要对Date型数据进行操作

    com.tencent.ipai.libso.FileManager21000.zip

    【标签】虽然没有提供具体的标签,但我们可以根据标题和描述推断出一些关键标签: 1. 腾讯:表明这是腾讯公司的产品或服务的一部分。 2. 文件管理:表示此库涉及Android平台上的文件系统操作。 3. 动态链接库:表示...

Global site tag (gtag.js) - Google Analytics