Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用共享库:自定义myfopen(),myfrwrite()_C_Bash_Shared Libraries_Fopen_Fwrite - Fatal编程技术网

C 使用共享库:自定义myfopen(),myfrwrite()

C 使用共享库:自定义myfopen(),myfrwrite(),c,bash,shared-libraries,fopen,fwrite,C,Bash,Shared Libraries,Fopen,Fwrite,您好,我已经创建了一个名为logger.so的共享库。此库是我的自定义fopen()和fwrite()。它收集一些数据并用这些数据生成一个文件 现在我正在编写一个bash脚本,我也想使用这个库。生成txt文件我将能够看到生成自定义fopen()的额外文件。因此,当我在c文件中使用命令fopen()时,会生成这个额外的文件 我的问题是,在bash中,哪些命令正在使用fopen()和fwrite()函数 我已经预装了我的共享库,但它不工作。可能这些命令不使用fopen(),fwrite() expo

您好,我已经创建了一个名为
logger.so
的共享库。此库是我的自定义
fopen()
fwrite()
。它收集一些数据并用这些数据生成一个文件

现在我正在编写一个bash脚本,我也想使用这个库。生成txt文件我将能够看到生成自定义
fopen()
的额外文件。因此,当我在c文件中使用命令
fopen()
时,会生成这个额外的文件

我的问题是,在bash中,哪些命令正在使用
fopen()
fwrite()
函数

我已经预装了我的共享库,但它不工作。可能这些命令不使用
fopen()
fwrite()

export LD_PRELOAD=./logger.so
read-p'输入要创建的文件编号:[输入]:'文件编号
对于((i=1;i“file_${i}”
完成

这可能需要一些尝试和错误。我认为有两种方法可以做到这一点。一种是运行处理
bash
中文件的潜在命令,并查看它们在跟踪时是否调用
fopen

strace bash -c "read a < /dev/null"`
您需要取消对整个包的归档,并逐个搜索.c文件,例如:

curl https://mirrors.tripadvisor.com/gnu/bash/bash-5.1-rc3.tar.gz|tar -z -v -x --wildcards \*.c
如果没有
curl
wget
也可以工作),您还可以通过FTP将文件传送或通过浏览器保存,并独立执行
tar


希望您可以跟踪相关命令,但这可能并不容易。

这可能需要一些尝试和错误。我看到两种方法可以做到这一点。一种是运行处理
bash
中文件的潜在命令,并查看跟踪时它们是否调用
fopen

strace bash -c "read a < /dev/null"`
您需要取消对整个包的归档,并逐个搜索.c文件,例如:

curl https://mirrors.tripadvisor.com/gnu/bash/bash-5.1-rc3.tar.gz|tar -z -v -x --wildcards \*.c
如果没有
curl
wget
也可以工作),您还可以通过FTP将文件传送或通过浏览器保存,并独立执行
tar


希望您可以跟踪相关命令,但这可能并不容易。

并非每个程序都使用C标准库stdio函数
fopen
fwrite

但是每个程序都使用
open
write
系统调用来打开和写入文件,您可以插入/monkey补丁


使用
输入法的现代程序需要不同的插入方法。

不一定每个程序都使用C标准库标准函数
fopen
fwrite

但是每个程序都使用
open
write
系统调用来打开和写入文件,您可以插入/monkey补丁


使用
输入法的现代程序需要不同的插入方法。

你为什么不检查一下源代码,自己看看呢?你能建议我在哪里做研究吗?给你,你为什么不检查一下源代码,自己看看呢?你能建议我在哪里做研究吗研究?,给你
curl https://mirrors.tripadvisor.com/gnu/bash/bash-5.1-rc3.tar.gz|tar -z -v -x --wildcards \*.c