方法一 但这样能看到所有的导出,乱七八糟的很多,筛选用: 方法二 `objdump tT .so`            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-02-24 11:26:00
                            
                                1844阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Hook_AndroidCydia HOOK新建工程在工程中找到 libs 文件夹,将 jar 包拷贝到文件夹中设置 jar 包为依赖(类似在 c++中导入一个 lib,写了一个 #param comment(lib,”user32”))在清单文件中指定权限和入口类<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:and            
                
         
            
            
            
            有两种方式:1.使用objdump命            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-19 13:40:39
                            
                                4991阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux操作系统是一种开源操作系统,因其安全性高、稳定性好和性能优秀而备受欢迎。在Linux系统中,红帽是一家知名的开源软件公司,专注于提供企业级解决方案和服务。在编写Linux内核模块时,经常需要导出函数以供其他模块调用。本文将介绍如何在Linux系统中导出函数。
在Linux内核中,如果一个函数需要从模块导出,以供其他模块调用,需要使用EXPORT_SYMBOL宏。EXPORT_SYMBO            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-20 10:00:50
                            
                                260阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 用Frida工具导出iOS应用中的.so文件
在本篇文章中,我们将深入探讨如何使用Frida工具从iOS应用中导出.so文件。经过这篇教程,您将了解到整个流程、必要的代码以及其背后的原理。接下来,我们先对整个流程进行一个简单的梳理。
## 流程概述
以下是导出.so文件的基本步骤:
| 步骤  | 描述                       | 备注            
                
         
            
            
            
            最近比较好奇为什么dlsym要传入的函数名这么奇怪,于是就调研了一下Android中是怎么样允许So中的函数符号导出。。。好吧有这么个东西,是用来说明这个function的visibility的。。。<pre name="code" class="plain"><pre name="code" class="cpp">__attribute__ ((visibility (            
                
         
            
            
            
            Linux操作系统由于其开源的特性,让许多软件工程师和开发者热爱这个操作系统。其中的一个重要组成部分就是Linux内核,它由Linus Torvalds在1991年首次发布。Linux内核实现了POSIX标准和UNIX系统调用接口,使其可以运行大多数UNIX应用程序和工具。
在Linux系统中,有不同的发行版,比如Ubuntu、Debian、CentOS等。而在这些众多的发行版中,有一个备受关注            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-07 10:27:34
                            
                                58阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux系统调用动态链接库(so)是开发中常用的一种技术手段。Linux系统下,动态链接库(so)是一种可共享的代码库,能够被多个程序引用和加载,从而减少了不同程序之间重复代码的存储和加载,提高了代码的复用率和执行效率。
在Linux系统中,动态链接库通常以.so文件的形式存在。要让程序能够调用这些动态链接库,需要使用系统调用。系统调用是操作系统提供给应用程序的接口,用于访问操作系统的功能和服            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-06 11:01:46
                            
                                263阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux中的so文件(Shared Object)是共享库文件,它包含了可以被其他程序调用的函数和变量。在Linux系统中,so文件的使用非常普遍,特别是在软件开发中。这些so文件可以被动态链接到可执行文件中,提供程序所需的功能。
在Linux系统中,常常会出现一个so文件调用另一个so文件的情况。这种情况通常发生在一个so文件依赖另一个so文件提供的功能或者库。这种依赖关系是非常常见的,尤其            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-15 11:07:55
                            
                                557阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、介绍      本文将记录一下java jni调用so动态库的方法,其实最开始我的想法是这样:我自己手里有一个别人的so库,然后我需要用java将起调用起来,但是经过我查找的资料发现,所有的方法都是用jni和c语言的源码一起编译生成so库的过程,并没有找到相关jni直接可以调用现成的so库的资料,最后经过我对gcc编译的经验,最后还是把so库调用起来了,那么,我们            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 13:09:57
                            
                                140阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现Linux的MySQL导出函数
## 1. 整体流程
首先,我们需要了解整个导出MySQL数据库的流程,可以通过以下表格展示:
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 登录MySQL数据库 |
| 2 | 选择要导出的数据库 |
| 3 | 导出数据库为.sql文件 |
| 4 | 退出MySQL数据库 |
## 2. 操作步骤及代码
### 步骤            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-25 06:21:50
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            so运行的方法在我之前的印象中,so文件是不能直接运行的,但是ld.so改变了我的这种偏见。执行一下动态链接库文件,执行结果为tsecer@harry :/lib/ld-linux.so.2 Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]甚至libc.so也是可以直接运行的:tsecer@harry :/lib            
                
         
            
            
            
            Linux操作系统(Linux OS)被广泛认为是红帽(Red Hat)公司最成功的产品之一。红帽公司是一家总部位于美国的知名开源软件公司,其旗下的红帽企业Linux操作系统(Red Hat Enterprise Linux,简称RHEL)是业界领先的企业级Linux发行版之一。下面我们将从Linux操作系统和红帽公司的角度来讨论这两者之间的密切关系。
首先,Linux操作系统是一种自由和开放源            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-08 10:06:11
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Linux操作系统中,动态链接库和静态链接库是非常重要的概念。这些库文件在程序编译和运行过程中起着至关重要的作用。在Linux系统中,动态链接库一般使用“.so”(Shared Object)文件扩展名,而静态链接库一般使用“.a”(Archive)文件扩展名。
动态链接库和静态链接库的主要区别在于它们在程序链接的时间和程序运行的方式。动态链接库在程序编译的时候并不会被链接到可执行文件中,而是            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-20 10:08:17
                            
                                112阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一个模块可以使用另一个模块导出的函数,可以通过函数EXPORT_SYMBOL(func_name)来导出,导出后的函数位于/proc/kallsyms文件中。1.   导出代码:#include <linux/init.h>#include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_i...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-16 23:21:33
                            
                                1722阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              全局符号表(GOT表)hook实际是通过解析SO文件,将待hook函数在got表的地址替换为自己函数的入口地址,这样目标进程每次调用待hook函数时,实际上是执行了我们自己的函数。  GOT表其实包含了导入表和导出表,导出表指将当前动态库的一些函数符号保留,供外部调用,导入表中的函数实际是在该动态库中调用外部的导出函数。  这里有几个关键点要说明一下:  (1) so文件的绝对路径和加载到内存            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 20:08:09
                            
                                316阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            调用.so中的函数和平常的函数没有区别,只是在编译连接时加上-lxxxx就行了.要生成.so库,则编译时用下面的语句:gcc -shared -Wl,-soname,libmyfun.so -o libmyfun.so myfun.o 要生成.so库,则编译时用下面的语句:gcc -shared -            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-12-13 14:07:00
                            
                                468阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # IDEA 中 Java 项目导出 JAR 时缺少 SO 文件的解决方案
在 Java 的开发过程中,我们时常需要将完成的项目打包成 JAR 文件,以便于分发和部署。然而,有时在使用 IntelliJ IDEA 导出 JAR 文件时,我们会遇到一个问题:缺少 SO(Shared Object)文件。SO 文件通常是用 C 或 C++ 编写的本地代码,Java 项目通过 JNI(Java Nat            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-10 06:25:51
                            
                                145阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            导出符号是什么?符号,是软件链接过程的用到的术语。我们编写自己的软件生成目标文件,但是通常情况下,只有自己的目标文件是不够的。比如我们用c++编写的程序,必然要与C++的运行时库链接在一起才能工作,否则我们在代码中使用的fopen或者std::cout之类的符号要到哪里去找。 在链接的过程中,相当于是让目标文件之间镶嵌到一起,因此最重要的是找到精确的接入点,这就是符号。符号是目标文件之间            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-31 22:10:04
                            
                                276阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            静态库用ar -t YourFile动态库用 nm -D YourFile下面是ar和nm命令的一些参数说明1.ar基本用法  ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。  下面是ar命令的格式:  ar [-]{dmpqrt            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-24 00:31:13
                            
                                188阅读