自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 Bash脚本生成系统日志示例

由于脚本中使用了`set -e`,脚本会在执行这条命令失败后立即终止,不会继续执行后续的`echo "Script execution completed successfully."`命令。- `exec > >(logger -t "myapp-postinst") 2>&1`将脚本的`stdout`和`stderr`都重定向到`logger`命令,所有输出都会被记录到系统日志中,日志标识为`myapp-postinst`。#### 执行过程及结果。### 详细例子说明。

2025-03-26 10:39:16 353

原创 curl交叉编译

如果你的交叉编译工具链使用了不同的命名(例如 arm-linux-gnueabihf 是针对 ARM 32位的),请根据工具链的实际命名进行调整。对于 aarch64 架构,通常使用 aarch64-linux-gnu 作为目标。确保你已经交叉编译了 OpenSSL,并且它的路径在系统环境中可以被找到。同样,确保你已经交叉编译了 zlib,并且它的路径可以被找到。--host 参数用于指定目标架构和操作系统。这个选项用于启用对 zlib 的支持。启用静态库(.a 文件)的生成。

2025-02-17 11:16:44 162

原创 zlib交叉编译

在交叉编译(cross-compiling)中使用 zlib 库时,你需要针对目标平台编译 zlib 而不是在你的开发机上直接编译。首先,确保你的系统中安装了适用于目标平台的交叉编译工具链。例如,如果你想要为 ARM 架构编译,你可以安装 ARM 的交叉编译器。在配置 zlib 之前,你需要设置一些环境变量来指定交叉编译器和目标平台的其他细节。通过以上步骤,你可以成功地在交叉编译环境中设置和使用 zlib。下载 zlib 的源代码。在开发你的应用程序时,确保链接时使用正确的交叉编译工具链生成的库文件。

2025-02-17 10:53:50 336

原创 Openssl交叉编译

是一个用于指定目标平台的配置选项,表示目标是 X86 架构的 64位系统。这个选项可以从 OpenSSL 的。如果你的目标是 ARM 架构的 64 位系统,可以使用。指定了交叉编译工具链的路径,gcc或者g++自动填充。如果你的目标是 ARM 架构的 32 位系统,在 OpenSSL 交叉编译中,以及其他适用于不同架构的选项。命令支持的平台列表中获取。在输出的列表中,你会看到。

2025-02-17 10:30:04 299

原创 OCX控件调用方法

假设我们有一个OCX控件,其中*.idl中coclass 为MY_OCX其CLSID为 `1231232131-123123-312313-123123-123213`,并且该控件有一个名为 `test` 的方法。### 步骤 1: 注册OCX控件首先,确保OCX控件已经使用 `regsvr32.exe` 工具注册。可以在命令行中运行以下命令:```sh```确保以管理员权限运行命令行工具,以避免权限问题。### 步骤 2: 创建HTML页面创建一个HTML页面,嵌入OCX控件并调用其方法。

2025-01-10 16:36:58 637

原创 Ubuntu下apt 无法安装的解决步骤

根据错误信息,`codelite` 需要 `clangd`、`clang-format`、`libc6`、`libgdk-pixbuf-2.0-0`、`libstdc++6` 和 `libwayland-client0`。确保你的 `/etc/apt/sources.list` 和 `/etc/apt/sources.list.d/` 目录下的文件中的软件源是正确的,并且没有损坏。从你提供的错误信息来看,`codelite` 软件包有未满足的依赖关系,这导致 `apt` 无法继续安装。

2024-12-18 13:33:02 586

原创 在 Linux 系统中,让 apt 使用 HTTP 代理

要永久设置 `apt` 使用 HTTP 代理,你可以在 `apt` 的配置文件中设置代理。你可以通过设置环境变量来临时为 `apt` 命令设置代理。这种方法不需要修改任何配置文件,只需在命令行中设置环境变量即可。以上方法可以帮助你在 Linux 系统中配置 `apt` 使用 HTTP 代理,你可以根据需要选择适合的方法。保存文件后,任何 `apt` 操作都将使用这个代理设置。这将在当前命令中使用指定的代理,而不会影响全局设置。### 3. 命令行选项设置代理。### 1. 临时设置代理。

2024-12-18 13:13:55 802

原创 在 Linux 下,将 tar 包打包成二进制程序

其中 `files/directories` 是要打包的文件和目录,`output.bin` 是输出的自解压二进制包名称,`Package Name` 是包的名称,`./install.sh` 是安装脚本。你可以使用 `tar` 命令将文件打包成 `.tar`、`.tar.gz`、`.tar.bz2` 等格式的归档文件,并通过压缩提高存储效率。其中 `-b` 表示创建二进制包,`program_dir` 是程序所在的目录,`package.deb` 是打包后的 `.deb` 文件。

2024-12-18 13:07:58 337

原创 在 Linux 下,将 shell 脚本打包成二进制程序

在 Linux 下,将 shell 脚本打包成二进制程序并不是一个直接的过程,因为 shell 脚本本质上是文本文件,由 shell 解释器执行。`shc` 是一个可以将 shell 脚本转换为 C 程序的工具,然后你可以编译这个 C 程序成二进制文件。将这个包装脚本复制到 `$PATH` 下的某个目录,这样你就可以从任何地方执行它了。- 转换后的二进制文件可能需要依赖特定的库或环境,确保在目标系统上这些依赖是可用的。这将生成一个压缩版本的脚本,但请注意,压缩后的脚本仍然是文本文件,不是二进制文件。

2024-12-18 13:01:42 449

原创 在VMware中设置宿主机和虚拟机的文件夹共享

确保虚拟机中已安装VMware Tools,这可以通过在VMware Workstation菜单栏中选择“虚拟机” > “安装 VMware Tools”来完成。- 其中`/shared_folder_name`是共享文件夹的名称,`/mnt/mylinuxshare`是挂载点。- 在Windows虚拟机中,打开“文件资源管理器”并导航到“网络” > “VMware共享文件夹”。- 选择“启用此共享文件夹”以及“虚拟机启动时自动挂载”。- 在“选项”选项卡中,选择“共享文件夹”。

2024-12-17 15:33:23 1393

原创 解决:在Ubuntu系统中使用vi编辑器时,如果按下上下左右键出现的是字母而不是光标移动

在Ubuntu系统中使用vi编辑器时,如果按下上下左右键出现的是字母而不是光标移动,这通常是因为Ubuntu预装的是vim的tiny版本,这个版本不支持所有vim的功能,包括方向键的正常使用。- 在文件中找到`set compatible`并将其改为`set nocompatible`,然后添加`set backspace=2`以启用退格键功能。- 这将关闭vi的兼容性模式,并设置退格键功能,使得方向键和退格键可以正常使用。- 安装完成后,使用`vi`命令启动的编辑器将会更加完整和方便。

2024-12-11 09:36:27 744

原创 [IDE]Linux下便携式GCC/G++编译器

4. 创建新项目:在 CodeLite 中,你可以通过“文件”>“新建”>“项目”来创建新项目,并按照向导步骤进行。4. 创建新项目:在 KDevelop 中,你可以通过“文件”>“新建”>“项目”来创建新项目,并按照向导步骤进行。3. 初次使用 CodeLite 时,可能需要进行一些基本配置,例如设置你的编译器路径和环境。3. 初次使用 KDevelop 时,可能需要进行一些基本配置,例如设置你的编译器路径和环境。6. 编译与运行:配置好项目的构建设置后,使用快捷键或菜单选项进行编译和运行。

2024-12-10 09:05:45 555

原创 [代码统计]cloc(Count Lines of Code)是一个强大的命令行工具,用于统计源代码中的代码行数、注释行数和空白行数。

**Windows**:Windows用户可以直接从[cloc的GitHub发布页面](https://github.com/AlDanial/cloc/releases/latest)下载cloc的可执行文件。- **排除文件扩展名**:使用`--exclude-ext`参数排除特定扩展名的文件。- **帮助文档**:通过`--help`参数查看更多cloc的命令行参数和选项。- **按文件统计**:使用`--by-file`参数按每个文件统计代码行数。- 支持超过300种编程语言的代码行数统计。

2024-12-09 09:28:26 926

原创 [so]实现 Linux 程序使用指定的 .so 库而不是系统的库

对于所有用户和所有程序,你可以在 `/etc/ld.so.conf`(Debian 系统)或 `/etc/ld.so.conf.d/`(Red Hat 系统)中添加你的库路径,然后运行 `sudo ldconfig` 来更新链接器的缓存。在 `~/.bashrc` 或 `~/.bash_profile` 文件中添加上述 `export` 命令,然后运行 `source ~/.bashrc` 或 `source ~/.bash_profile` 来使更改生效。**永久设置(对所有新的终端会话有效):**

2024-12-01 21:36:03 462

原创 [so]实现Linux 程序使用指定的 .so 库,而不是系统的库

对于所有用户和所有程序,你可以在 `/etc/ld.so.conf`(Debian 系统)或 `/etc/ld.so.conf.d/`(Red Hat 系统)中添加你的库路径,然后运行 `sudo ldconfig` 来更新链接器的缓存。在 `~/.bashrc` 或 `~/.bash_profile` 文件中添加上述 `export` 命令,然后运行 `source ~/.bashrc` 或 `source ~/.bash_profile` 来使更改生效。**永久设置(对所有新的终端会话有效):**

2024-11-27 16:00:20 604

原创 [Bash]遍历文件夹下的动态库文件,并为每个so文件创建一个软连接(symbolic link)

在 Linux 系统中,你可以使用 shell 脚本来遍历文件夹下的动态库文件,并为每个文件创建一个软连接(symbolic link),使得每个文件都有一个简短的名称(例如 `libPocoFoundation.so`)。执行脚本后,脚本会在指定的目录下为每个 `.so.110` 文件创建一个对应的软连接,文件名为没有版本号的库名。这样,你就可以在编译时链接到这些软连接,而不是原始的 `.so.110` 文件。do`:遍历目录下所有以 `lib` 开头并以 `.so.110` 结尾的文件。

2024-11-27 14:54:12 639

原创 [Makefile]makefile:14: *** 遗漏分隔符 问题处理

错误信息 "makefile:14: *** missing separator. Stop." 指出在第 14 行缺少了分隔符,这通常是因为 Makefile 中的某个规则的命令部分没有正确地缩进。在这里,我使用了 $(CC) 来代替 g++,这是一个好习惯,因为它允许更灵活地更改编译器。在 Makefile 中,每个规则的命令必须使用制表符(Tab)来缩进,而不是空格。如果你使用了空格而不是制表符,或者混合使用了空格和制表符,就会出现这个错误。3、确保没有混合使用制表符和空格进行缩进。

2024-11-27 14:34:45 540

原创 [Makefile]自动编译当前目录下所有的 `.cpp` 文件,并生成与源文件同名的可执行文件

如果你想编译静态库版本的程序,可以直接运行 `make filename_a`,其中 `filename` 是 `.cpp` 文件的名称,不带扩展名。如何使用 Makefile 自动处理当前目录下的所有 `.cpp` 文件,并且每个 `.cpp` 文件编译后生成的可执行文件名与源文件名相同,你可以使用模式规则(pattern rules)来进一步简化 Makefile。- `$@` 是目标文件名,`$

2024-11-27 13:45:58 379

原创 [C++]在Linux平台上安装和使用Crypto++库的步骤

在你的 C++ 源文件中,包含 Crypto++ 的相关头文件,例如 ``、 `` 等,并使用 Crypto++ 提供的各种加密算法和功能。这将在 `lib` 目录下生成动态库文件(如 `.so` 文件在 Linux 上,`.dll` 文件在 Windows 上)。在你的 C++ 项目中,确保包含了 Crypto++ 的头文件路径,并链接到 Crypto++ 的库文件。`-j4` 参数表示使用 4 个核心进行并行编译,可以根据你的 CPU 核心数调整此参数。

2024-11-27 10:45:16 617

原创 [c++]同样的代码进行编译,使用动态库编译成功,而使用静态库编译失败原因分析

对于静态库,您需要确保依赖的库在被依赖的库之前链接。例如,如果 `PocoNet` 依赖于 `PocoFoundation`,那么 `-lPocoFoundation` 必须在 `-lPocoNet` 之前。您在动态库编译命令中使用的是 `./lib/` 作为库文件路径,而在静态库编译命令中使用的是 `./bin/`。请确保 `./bin/` 路径下确实包含了所有需要的 `.a` 文件,并且这些文件是最新的。确保静态库是使用与您的项目相同的编译器和编译选项(如 `-std=c++17`)编译的。

2024-11-27 09:44:26 263

原创 在Linux平台上安装和使用Poco库的步骤

在你的C++项目中使用Poco库,你需要在编译时指定Poco库的头文件路径和链接库。这将安装Poco库及其依赖项,并将其放置在标准的位置,如`/usr/local/include`和`/usr/local/lib`。这将编译并安装Poco库到上一级目录的install目录,默认为`/usr/local/`。这样,你就完成了在Linux平台上Poco库的安装、配置和使用。./threadTest_a //这个是静态库编译的程序。./threadTest //这个是动态库编译的程序。// 执行工作...

2024-11-24 20:24:27 569

原创 [C/C++]静态库引用过程中出现符号未定义的处理方式

【代码】[C/C++]静态库引用过程中出现符号未定义的处理方式。

2024-11-15 18:19:43 365

转载 DVWA-1.9全级别教程(完结篇,附实例)之XSS

*本文原创作者:lonehand,转载请注明来自FreeBuf.COM目前,最新的DVWA已经更新到1.9版本(http://www.dvwa.co.uk/),而网上的教程大多停留在旧版本,且没有针对DVWA high级别的教程,因此萌发了一个撰写新手教程的想法,错误的地方还请大家指正。DVWA简介DVWA(Damn Vulnerable Web Application)是一个用来进行...

2018-08-28 16:09:40 2506

原创 GitHack使用方法

ctf小白刚下载这个,不知道怎么用。现在会用啦就记录一下~下载地址:https://github.com/lijiejie/GitHack 下载下来后,通过cmd使用,如下图所示:总结(命令):GitHack.py http://XXXXXXXXXXX/.git/运行结束后,得到文件,如图:接下来就可以自行愉快玩耍啦~~~~ 当前大量开发人员使用git...

2018-08-24 15:22:40 23755 7

转载 readelf命令和ELF文件详解

ELF(Executable and Linking Format)是一个定义了目标文件内部信息如何组成和组织的文件格式。内核会根据这些信息加载可执行文件,内核根据这些信息可以知道从文件哪里获取代码,从哪里获取初始化数据,在哪里应该加载共享库,等信息。 ELF文件有下面三种类型: 1.目标文件$ gcc -c test.c 得到的test.o就是目标文件,目标文件通过链接可生成可执行文件...

2018-08-24 14:27:02 2255

转载 CTF常用隐写套路

隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容。隐写术的英文叫做Steganography,来源于特里特米乌斯的一本讲述密码学与隐写术的著作Steganographia,该书书名源于希腊语,意为“隐秘书写”。        在CTF题目中,图片隐写题属于杂项的一部分,题目较为简单。本文大致梳理了下CTF比赛中图片隐写题的常...

2018-08-24 13:34:23 16543 2

转载 反编译的2个工具jd-gui和JAD

现在就来简单介绍下常用的两大反编译利器。 1.jd-gui,安装不需要了,直接点击运行,可以反编译jar,class文件。只要把文件拖,记得一定得拖到软件的那个框框里面。这样就可以看到源码了,太简单了。 2.JAD。难点是找这个工具比较麻烦,现在就上传上来供大家直接使用了。 需要的文件: net.sf.jadclipse_3.3.0.jar jad.exe 注意这两文件是匹配的,ja...

2018-08-23 17:17:56 1742

转载 Selinux小结

前绪    2一、Selinux基础概述    2二、什么是Selinux?    2三、SELinux Policy语言    31、安全属性——SContext    32、TE简介    41). 客体类别和许可:    42). 访问向量规则:    53). AV规则    5四、SElinux策略文件    61、定义性文件    72、其他...

2018-08-23 14:17:36 1135

转载 Android Binder机制原理(史上最强理解,没有之一)

Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有的进程间通信IPC手段包括(Internet Process Connection): 管道(Pipe)、信号(Signal)和跟踪(Trace)、插口(Socket)、报文队列(Message)、共享内存(Share Memory)和信号量(Semaphore)。本文详细介绍Binder作为Android主要IPC方...

2018-08-23 14:13:07 311

转载 Kali下利用XAMPP搭建DVWA及使用command injection

1首先,在VIrtualBox虚拟机上安装kali。【注】:校园网使用桥接网卡有可能会连接不上网,可以换成网络地址转换器(NAT)。kali安装好后首先要换源,然后更新系统:     2 下载XAMPP首先查看PHP的版本,在XAMPP中要下载对应版本,我这个显示PHP7.0版本, 所以在https://www.apachefriends.org/dow...

2018-08-23 11:21:03 461

原创 在Xampp中配置DVWA

DVWA主要是用于学习Web的常见攻击,比如SQL注入、XSS等的一个渗透测试系统,下面我将结合XAMPP来说明它的安装过程。一、环境OS:Windows 10XAMPP:5.6.24DVWA:1.9二、XAMPP安装XAMPP的安装和普通软件的安装一样,这里不再赘述。当安装完成后打开,如果apache或者mysql无法启动,有可能是因为端口冲突的问题,修改方法如下:1...

2018-08-23 11:19:32 1005

转载 xss攻击原理与解决方法

概述XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌...

2018-08-23 10:12:27 310

转载 浅谈CSRF与SSRF

今天看在看《XSS跨站脚本攻击剖析与防御》的时候,里边提到了CSRF与SSRF,在网络查询了这部分的资料后,简单总结了下二者的关系与不同CSRF又称跨站请求伪造,XSS就是CSRF中的一种。二者区别,XSS利用的是用户对指定网站的信任,CSRF利用是网站对用户浏览器的信任。发生条件当用户在安全网站A登录后保持登录的状态,并在此时浏览了保存有恶意代码的另一个网站B。此时B站劫持用户的...

2018-08-23 09:54:25 392

原创 Apache的性能解读

MPM全称是多道处理模块,我们都知道apache是以模块化方式设计的.那么MPM用来决定apache如何处理用户请求的.是通过一个进程处理一个请求,还是一个线程处理一个请求.当前MPM有三种可以选择的方式:preforkworkerevent虽然有以上三种方式,但是要注意在任何时间,必须有一个,而且只能有一个MPM被使用.那么下面就介绍一下这三种处理方式的区别.

2017-08-29 15:05:01 1351

physfs代码及源码说明

physfs代码及源码说明

2013-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除