1.Linux系统下第一个cmake项目
Cmake1.安装工具123456789101112#更新aptsudo apt update##安装必须工具 make,gcc与g++自带# 安装cmakesudo apt install cmake#安装tree便于观察文件架构sudo apt-get install tree# 通过以下命令安装编译器和调试器sudo apt install build-essential gdb#make 一般都会预装,Ubuntu和Debiansudo apt-get install make
验证工具是否安装
12345678# 以下命令确认每个软件是否安装成功# 如果成功,则显示版本号gcc --versiong++ --versiongdb --versionmake --versioncmake --versiontree --version
2.编写C++代码
创建项目文件夹
1mkdir hello
在当前目录创建文件main.cpp
1touch main.cpp
编写代码
123456//main.cpp#include <stdio.h>int mai ...
0.cmake_note
相关链接:
video:
makefile从入门到项目编译实战
blog:
Ubuntu 下cmake编译C程序简单流程
使用cmake构建C/C++项目和动态库
Linux下使用CMake编译C++
[CMake简介与在Linux环境下简单使用CMake的示例]
CMake进行C/C++开发(linux下)
在开发人员命令提示下,输入 cl /EHsc hello.cpp 来编译程序。1cl main.cpp
cl编译汇编代码
1cl /Fa main.cpp
Visual Stdio 中的 C/C++ 编译器都是同一个,叫做 CL。下面表格列出了一些基本的命令行选项。
CL
gcc
说明
/E
-E
输出预处理结果
/Fa
-S
输出汇编文件
/Za
-ansi
禁止语言扩展,这两个还不是等价的
/Dname
-Dname
定义一个宏,相对于在代码中添加了 #define name
/Dname=value
-Dname=value
定义一个宏,相对于 ...
1.如何在Debian中添加新用户并赋予sudo权限
如何在Debian中添加新用户并赋予sudo权限1. Debian添加新用户直接执行下面的命令即可:
12# newuser 改成自己的用户名称sudo adduser newuser
adduser命令是Debian系独有的(包括Ubuntu),在Redhat系下不存在该命令。执行该命令会自动创建用户、用户组和家目录,并要求设置用户密码和名称等信息。
2. 赋予sudo权限部分Debian系统可能默认没有安装sudo命令,可以执行下面的命令先进行安装(需要root用户操作):
1apt-get install sudo
安装完毕后执行下面的命令将新用户添加到sudo组(需要root用户操作),以便他们可以获得管理员权限。
12# newuser改成你上一步骤中的用户名usermod -aG sudo newuser
3. 测试接下来切换到newuser,然后测试sudo是否正常。
1234# 切换到newusersu - newuser# 测试sudo权限,如果没有报错,说明正常sudo pwd
2.使用PaExec进行远程注入
PaExec使用
远程命令打印网卡信息
远程cmd
远程运行notepad并显示在用户界面
远程运行query user命令查询session ID
在远程绝对路径中运行计算器并停止等待进程(-d)
远程explorer
使用Psexec将命令从本地系统复制到远程系统。使用-c选项进行复制。 命令完成后,远程实例将被删除。此示例中,我们将复制cmd.exe。复制操作完成后,将在远程系统上启动cmd.exe。
以系统用户运行命令
防止图形许可提示/accepteula
用帐户的提升令牌运行命令,请使用 –h 选项。此选项导致 PsExec 会话中的所有命令以“以管理员身份运行”模式运行。
PaExec总结用法
无痕注入命令或者运行cmd(系统权限+防止图形许可提示)
无痕复制命令行程序或脚本并执行
远程运行程序显示在用户登录界面并无需等待进程退出
参考链接
一些可能会用到的cmd命令
打印所有进程
根据进程名结束进程命令
根据pid结束进程命令
PaExec使用远程命令打印网卡信息1PsExec64 \\10.0.4.10 -u Admin -p 123 ...
1.windows中使用PsExec.exe升级administrator权限为system权限
如何在windows环境下,升级administrator权限为system权限:方法:使用微软官方程序提升权限
1:将PsExec.exe拷到C:\Windows\System32目录下
2:以管理员权限运行cmd
3.在cmd中运行命令psexec.exe -d -i -s cmd.exe
4:cmd即获取到了system权限;使用whoami命令查看是否获得系统权限(当显示nt authority\system)是获取成功
5:使用cmd打开ce
6任务管理器检查是否有system权限
微软官网下载链接:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec
future:
12psexec.exe -accepteula -s -i -d cmd.execall psexec64.exe -accepteula -s -i -d cmd.exe
3.修改并制作一个可引导的`ISO`镜像安装`windows11`
修改并制作一个可引导的ISO镜像安装windows11一、使用rufus去除windows11镜像的TPM验证
下载rufus软件。
下载windows11原版镜像 。
准备一个8G以上的空U盘。
插入电脑并格式化。
运行rufus并选择windows11镜像文件写入到U盘。
二、在Linux中制作可引导的ISO镜像文件
将前面写入到U盘中的文件复制到Linux系统中的/home/kali/路径 。
安装程序
1sudo apt-get install xorriso genisoimage
在路径/home/kali/中运行命令制作ISO镜像。
1xorriso -as mkisofs -iso-level 4 -full-iso9660-filenames -volid "WIN11ISO" -eltorito-boot boot/etfsboot.com -eltorito-catalog boot/boot.cat -no-emul-boot -eltorito-alt-boot - ...
2.如何在kali中安装qemu并使用
[toc]
一 安装qemu并启用1.安装qemu1, 安装
12sudo apt install qemu-system-x86 qemu-utils libvirt-daemon-system libvirt-clients bridge-utils virt-manager
验证
1qemu-system-x86_64 --version
启动并启用相关服务:
12sudo systemctl start libvirtdsudo systemctl enable libvirtd
2.配置kvm
检查CPU是否支持虚拟化
1egrep -c '(vmx|svm)' /proc/cpuinfo
如果返回的数字大于0,说明CPU支持虚拟化
加载kvm模块
123sudo modprobe kvmsudo modprobe kvm-intel # 如果是Intel CPUsudo modprobe kvm-amd # 如果是AMD CPU
二 使用qemu创建虚拟机1.创建桥接接口
创建桥接接口:
12sudo ip link add n ...
如何在windows中使用qemu
[toc]
qemu在windows11中安装并运行windows101. 准备工作安装qemu并配置环境变量
2. 通过命令行启动无盘系统
安装tap网卡并与网卡桥接
qemu使用无盘启动参数
1qemu-system-x86_64 -m 8G -smp 4,sockets=2,cores=2 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device e1000,netdev=net0 -vga virtio -boot n
3.命令行配置硬盘并安装windows系统
使用QEMU的qemu-img工具创建一个虚拟硬盘。打开命令提示符并运行以下命令:
1qemu-img create -f qcow2 D:\virtual\windows10.img 30G
-f qcow2:指定虚拟硬盘的格式为QCOW2(支持快照和压缩)。
D:\virtual\windows10.img:指定虚拟硬盘的路径和文件名。
30G:指定虚拟硬盘的大小(可以根据需要调整)。
启动QEMU并安装Windows 10
使用以下 ...
使用C++在windows平台下开发第一个静态库与动态库
第一个静态库程序与调用一 第一个静态库程序
在vs2022中创建一个静态库项目,在新建项目中选择Static Library,起名为StaticLib1
选择Solution Explorer->Property->c/c++->Procompiled Headers->选择Not Using Precompiled Headers
删除项目里的所有文件,添加头文件StaticFunction.h与源文件StaticFunction.cpp
StaticFunction.h
123456#ifndef STATICFUNCTION_H#define STATICFUNCTION_Hint sum(int a, int b);//声明函数#endif //STATICFUNCTION_H
MyStaticLib.cpp
123456#include "StaticFunction.h"int sum(int x, int y) { return x + y;}
编译生成得到StaticLib1.lib
二 ...
用nasm在linux下编写第一个64位汇编程序
用nasm在linux下编写第一个64位汇编程序
安装nasm汇编器命令
1sudo apt-get install nasm
创建文件命令
1vim hello.asm
代码内容
12345678910111213141516section .data text db "hello, World!",10section .text global _start_start: mov rax, 1 mov rdi, 1 mov rsi, text mov rdx, 14 syscall mov rax,60 mov rdi, 0 syscall
编译命令
1nasm -f elf64 -o hello.o hello.asm
链接命令
1ld hello.o -o hello
运行命令
1./hello
