
Linux
久许
朋友拍了拍我,说我可不是什么幺蛾子
展开
-
Ubuntu virtualenv环境转移
$ sed -i 's/\/media\/acat\/H\/vvv/\/home\/haha\/software\/virtualenv_env/g' `grep "/media/acat/H/vvv" -rl .`原创 2022-01-04 17:15:39 · 1014 阅读 · 1 评论 -
ubuntu vscode C#代码跳转(omnisharp)
需要安装omnisharp扩展。如果直接在有应用商店搜索扩展,那么安装完成之后可能会报错。这里使用从本地文件的方式进行安装。下载omnisharp扩展文件(后缀名为vsix的文件)。https://github.com/OmniSharp/omnisharp-vscode/files/3191894/csharp-1.15.2.zip然后从弹出的小框中,选择"从VSIX安装",开始从本地查找文件(上面下载的zip解压之后的文件,后缀名为vsix)。然后vscode会自动下载...原创 2021-12-20 21:19:04 · 2896 阅读 · 0 评论 -
配置ubuntu优先使用wifi上网,而不是直连
当同时连接热点和接入网线的情况下,如果网线没网,那么可能导致无法上网。这个时候,把网线拔掉,发现连接的热点就可以上网了。但是我们可能同时需要用接入网线来访问内网资源,所以这时需要配置使用wifi作为作为网上冲浪的那个网卡,因此设定无线的ip地址段为默认路由,并删除之前的默认路由。# ********** WifiGateway.sh ************#!/bin/bashwifi=wlp0s20f3_ip=`ip addr show wlp0s20f3 | head -3 | tai转载 2021-12-16 10:42:28 · 1674 阅读 · 0 评论 -
ls列出最近修改文件,将前若干个拷贝到目录
1. 命令如下acat@acat-xx:下载$ ls -lrt | sed "s:^:`pwd`/ :" | tail -20 | awk -F ' ' '{print $1$NF}'其中,ls -lrt用于以最近修改的文件的顺序显示文件,sed用于输出绝对路径,tail用于取最后面的若干个结果,这里取20,awk用于输出制定的列。这里将$1和$NF合并在一起输出,其中$1表示文件的父目录绝对路径,$NF表示文件名,合在一起就是文件的路径。2. 执行结果acat@acat-xx:下载$原创 2021-12-15 10:35:39 · 1894 阅读 · 0 评论 -
ubuntu查看一个文件夹下有多少个文件
1. cd到某个目录下2.运行命令ls -lR | grep "^-" | wc -l其中,R表示丢给查找,^_表示ls -l列出的以_开头的串,表示一个文件,如果是文件夹,那么对应的是d开头(可以用来查找文件夹的个数)。wc -l表示统计行数,因为每行表示一个文件,所以行数代表文件的个数。...原创 2021-12-08 15:53:50 · 1668 阅读 · 0 评论 -
window,vim配置
在C:\Program Files(x86)\Vim目录下创建_vimrc配置文件。source $VIMRUNTIME/vimrc_example.vimset diffexpr=MyDiff()function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = o原创 2021-11-11 09:37:38 · 569 阅读 · 0 评论 -
Word中插入三线格算法公式,放大不变形
1.在tex文件中编写相关代码这里要取消显示页码,不然会产生额外的边框,影响整体美观。\documentclass[UTF8]{ctexart}\usepackage{graphicx} %调用graphicx宏包\usepackage{algorithm} \usepackage{algpseudocode} \usepackage{amsmath} \usepackage{setspace} % 设置行距用到\thispagestyle{empty} % 当前页不显示页码原创 2021-11-06 12:38:02 · 2422 阅读 · 0 评论 -
使用frps和frpc实现内网穿透
内网穿透的作用包括跨网段访问一个局域网中的一台主机。如上图,假设我们想要通过主机A访问主机C,但是主机A和主机C绑定的都是私有ip地址,所以它们之间是无法直接进行通信的。要想使得A和C能够进行通信,就需要用到内网穿透的技术。我们可以借助frps(服务端)和frpc(客户端)来实现主机A对主机C的访问。需要做的是:1.在绑定了公网ip的主机B中配置frps(服务端)2.在主机C中配置frpc(客户端)frps/frpc的工具包的github地址是:https://github.原创 2021-09-07 22:54:54 · 46516 阅读 · 1 评论 -
linux运行时找不到动态链接库:error while loading shared libraries
error while loading shared libraries: libboost_thread.so.1.75.0: cannot open shared object file: No such file or directory一.找到存放库文件的目录:/media/acat/J/emeralddb/boost/stage/lib二. 在家目录下的.bashrc文件中添如下内容:export LD_LIBRARY_PATH=/media/acat/J/emeralddb/b原创 2021-08-16 11:59:11 · 556 阅读 · 0 评论 -
ubuntu记录pdf手写笔记: 数位板(硬件)+xournal(软件)
https://www.ywnz.com/linuxjc/7052.html一: 修改配置文件$ lsusbBus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 003: ID 174f:2426 SyntekBus 001 Device 002: ID 1a2c:2c27 China Resource Semico Co., LtdBus 001 Device 004: ID 8087..原创 2021-08-07 15:43:48 · 5278 阅读 · 4 评论 -
vim中删除每行的空格之前的所有字符
:%s/^.*\ //g原创 2021-07-25 22:22:35 · 2054 阅读 · 1 评论 -
使用jupyterthemes
1、安装jupyterpip install jupyter2、安装jupyter主题pip install jupyterthemes3、设置jupyter主题(ENVp3) haha@haha-SYS-7048GR-TR:~/software/jupy$ jt -t grade3 -f fira -fs 16 -cellw 95% -ofs 11 -dfs 11 -T -lineh 1204、打开jupyternotebook(ENVp3) haha@haha-SYS-原创 2021-05-02 13:39:51 · 1097 阅读 · 0 评论 -
使用grep从匹配的所有文件中查找字符串
一、查找指定文件名的文件路径acat@acat-xx:node_modules$ find . -name "util.js"./_util@0.11.1@util/util.js./_vuepress@1.8.2@vuepress/lib/util.js./_@babel_core@7.13.8@@babel/core/lib/config/util.js./_regenerator-transform@0.14.5@regenerator-transform/lib/util.js.原创 2021-03-13 09:01:12 · 835 阅读 · 0 评论 -
colordiff显示两个文件的差异
colordiff -yw file1Name file2Name用法:diff [选项]... 文件们逐行比较<文件们>。长选项的必需参数也是相应短选项的必需参数。 --normal 以正常的 diff 方式输出 (默认) -q, --brief 只有在文件不同时报告 -s, --report-identical-files 当两个一样时仍然显示结果 -c, -C NUM, --cont...原创 2020-10-03 10:46:19 · 1074 阅读 · 0 评论 -
使用linux虚拟机搭建路由环境
一、软件环境Vmware 15主机A:kali linux路由器1:ubuntu18.04路由器2:centos7主机B:centos7二、网络的拓扑图从上面的网络拓扑图可以看出,我们总共需要4个虚拟机,和3个子网。网卡(网络适配器)的个数是1+2+2+1=6个。三、使用vmware创建子网和虚拟网卡,并将网卡和子网进行绑定。①创建子网默认添加的是host-only模式的子网。我们依次添加3个子网,结果如下图所示。从上图可以看出,VM.原创 2020-07-23 15:40:46 · 3684 阅读 · 0 评论 -
通过ssh远程连接和在两个linux主机间传文件
一、在客户端和服务端都进行下面的操作1.生成ssh秘钥$ ssh-keygen -t rsa (连按回车,生成秘钥)上面的命令执行完成之后会在~/.ssh/目录下生成一个文件:id_rsa.pub,该文件当中存放的正是刚刚生成的秘钥2.将生成的秘钥追加到~/.ssh/authorized_keys文件当中$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys3.安装openssh-server$ sudo apt-...原创 2020-07-23 11:56:02 · 1220 阅读 · 0 评论 -
Vim中将连续的多个空格替换为一个逗号
:%s/\s\+/,/g:%s/\s\+/,/g\s表示空格,\+表示重复多次(\实现转义,正则表达式中+表示重复多次),/g表示全局替换:%s的格式::%s/oldStr/newStr/g原创 2020-07-02 17:55:17 · 4089 阅读 · 0 评论 -
设置kali的分辨率为1920*1080
首先运行cvt 1920 1080adog@kali:~$ cvt 1920 1080# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHzModeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync运行xrandadog@kali:~$ xrandrScreen 0: minimum 1 x原创 2020-06-20 22:19:47 · 5492 阅读 · 2 评论 -
为virtual box中安装的kali系统设置共享文件目录
首先找到共享文件夹然后点击右侧的图标增添新的共享目录(宿主机中的目录)要勾选自动挂载,当然这里选择的是固定分配。完成之后,整体效果如下图。但是,这是不够的在kali操作系统中单机挂载的(共享的)文件夹时会报错:error opening directory ‘/media/sf_shared’ permission denied...原创 2020-06-20 21:07:15 · 465 阅读 · 1 评论 -
内核启动过程
上一篇文章解释了计算机如何启动,直到引导加载程序将内核映像填充到内存中之后即将跳入内核入口点。关于引导的最后一篇文章介绍了内核的内幕,以了解操作系统如何开始运行。由于我有经验,我将在Linux Cross Reference上大量链接到Linux内核2.6.25.6的资源。如果您熟悉类似C的语法,那么这些源将非常容易阅读。即使您错过一些细节,您也可以了解正在发生的事情。主要障碍是某些代码缺乏上下文,例如何时或为何运行代码或计算机的基本功能。我希望提供一些背景信息。由于简洁(哈!),很多有趣的东翻译 2020-06-18 16:59:45 · 3135 阅读 · 0 评论 -
计算机如何启动
上一篇文章介绍了[主板和内存映射]英特尔计算机中的内存映射,以设置启动初始阶段的场景。引导是一个复杂的,多步骤的,有趣的事情。以下是流程概述:当您按下计算机上的电源按钮时,事情开始滚动(不!不告诉!)。主板加电后,它将初始化自己的固件(芯片组和其他花絮),并尝试使CPU运行。如果此时出现故障(例如,CPU损坏或丢失),那么您可能会发现除了旋转的风扇外,该系统看起来已经完全失效。少数主板设法发出哔哔声以指示CPU缺失或出现故障,但是根据我的经验,带风扇的僵尸状态是最常见的情况。有时,USB或其翻译 2020-06-18 15:13:29 · 274 阅读 · 0 评论 -
sed命令的使用(合并行)
1把所有不以句号结尾的行,和下一行合并。sed -i '/[^。]$/{N;s/\n//}' "$1"2把两行合并为一行,适用于将某一行(通过筛选条件定位到该行)和上一行进行合并的情况。sed '{N;s/\(.*\)\n\(.*name.*\)/\1\2/;t merge;P;D};:merge p;d' a.txt示例:a.txt文件的内容如下:1: name:zhangsan,age:102: name:wangwu,age:11结果展示:acat@aca原创 2020-06-18 13:33:41 · 4505 阅读 · 0 评论 -
IO访问和中断
背景信息通过写入和读取其寄存器来控制外围设备。 通常,设备具有多个寄存器,可以在内存地址空间或I / O地址空间中的连续地址处访问多个寄存器。 连接到I / O总线的每个设备都有一组I / O地址,称为I / O端口。 可以将I / O端口映射到物理内存地址,以便处理器可以通过直接与内存配合的指令与设备通信。 为简单起见,我们将直接使用I / O端口(不映射到物理内存地址)与物理设备进行通信。...原创 2020-02-26 11:31:28 · 3739 阅读 · 0 评论 -
配置内核支持nfs
在源码路径下输入make menuconfig会出现内核的配置界面Networking support ---> Networking options --->TCP/IP networking ---> IP: kernel level autoconfigurationFile systems ---> Networking File Systems --->...原创 2020-02-23 10:52:59 · 3286 阅读 · 0 评论 -
在python3中安装zio3
python3 -m pip install git+https://github.com/alset0326/zio3.git原创 2020-02-22 12:44:01 · 888 阅读 · 0 评论 -
asm
Mommy! I think I know how to make shellcodesssh asm@pwnable.kr -p2222 (pw: guest)ssh连接上去之后,我们可以看到4个文件.使用cat readme查看readme文件的内容.asm@pwnable:~$ cat readmeonce you connect to port 9026, the "asm" b...原创 2020-02-21 17:56:21 · 407 阅读 · 0 评论 -
编译glibc遇到的问题
因为学习堆的时候需要glibc2.26以下的版本,决定自己在docker里编译一个glibc2.24,中间遇到一些bug记录如下.symver on common symbols编译时报错/tmp/ccPRCqlU.s: Error: `loc1@GLIBC_2.2.5' can't be versioned to common symbol 'loc1'/tmp/ccPRCqlU.s: ...转载 2020-02-20 12:33:38 · 8940 阅读 · 1 评论 -
uaf
Mommy, what is Use After Free bug?ssh uaf@pwnable.kr -p2222 (pw:guest)#include <fcntl.h>#include <iostream>#include <cstring>#include <cstdlib>#include <unistd.h>...原创 2020-02-17 23:49:13 · 341 阅读 · 0 评论 -
Peda、Pwndbg和Gef的安装
http://www.peckerwood.top/post/peda_vs_pwndbg_gdb/原创 2020-02-16 17:35:38 · 739 阅读 · 0 评论 -
cmd1
Mommy! what is PATH environment in Linux?ssh cmd1@pwnable.kr -p2222 (pw:guest)/* * cmd1.c * * Created on: 2020年2月10日 * Author: acat */#include <stdio.h>#include <string.h>...原创 2020-02-10 18:11:56 · 441 阅读 · 0 评论 -
lotto
Mommy! I made a lotto program for my homework.do you want to play?ssh lotto@pwnable.kr -p2222 (pw:guest)#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcn...原创 2020-02-10 15:32:11 · 505 阅读 · 0 评论 -
ubuntu中安装pwntools
安装pip3sudo apt-get install python3-pip查看pip3的版本acat@acat-xx:~$ pip3 --versionpip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)对pip3的版本进行更新.acat@acat-xx:~$ pip3 install --upgrade pipC...原创 2020-02-09 23:27:49 · 4804 阅读 · 4 评论 -
coin
Mommy, I wanna play a game!(if your network response time is too slow, try nc 0 9007 inside pwnable.kr server)Running at : nc pwnable.kr 9007import refrom socket import *def getIndex(inv): m...原创 2020-02-09 15:22:55 · 702 阅读 · 0 评论 -
arm下汇编函数返回值存放在r0中
#include<stdio.h>int key1(){ int a = 2; int b = 3; return a + b;}int main(){ printf("%d\n",key1()); return 0;}编译arm-linux-gnueabi-gcc -o test_return test_return.c反编...原创 2020-02-07 19:32:32 · 3682 阅读 · 0 评论 -
Linux Device Model
Plug and Play is a technology that offers support for automatically adding and removing devices to your system. This reduces conflicts with the resources they use by automatically configuring them at ...原创 2020-02-05 16:03:03 · 615 阅读 · 0 评论 -
内存映射
总览In the Linux kernel it is possible to map a kernel address space to a user address space. This eliminates the overhead of copying user space information into the kernel space and vice versa. This c...原创 2020-02-05 11:32:06 · 603 阅读 · 0 评论 -
Networking
总览The development of the Internet has led to an exponential increase in network applications and, as a consequence, to increasing the speed and productivity requirements of an operating system’s netw...原创 2020-02-05 06:01:32 · 1059 阅读 · 0 评论 -
文件系统驱动
虚拟文件系统The Virtual Filesystem (also known as VFS) is a component of the kernel that handles all system calls related to files and file systems. VFS is a generic interface between the user and a partic...原创 2020-02-04 10:36:01 · 1650 阅读 · 0 评论 -
块设备驱动
注册块IO设备为了注册块IO设备,register_blkdev()被使用。取消注册时使用unregister_blkdev()方法。自从4.9版本的内核开始,对register_blkdev()的调用是可选的。下面是一个典型的场景。#include <linux/fs.h>#define MY_BLOCK_MAJOR 240#define MY_BLK...原创 2020-02-03 15:10:45 · 1888 阅读 · 0 评论 -
deferred work
背景信息延期工作是内核的一个特色,用于在随后的某个时间执行某个代码。这个被预定的代码可以运行在进程上下文或者中断上下文。延期工作被用于完成中断处理功能因为中断拥有重要的要求和限制如下:中断处理程序的执行时间要尽可能地小在中断上下文中不能够使用导致阻塞的调用使用延期工作Softirqssoftirqs不能够被设备驱动使用,他们被保留用于多种多样的内核子系统。因为固定数目的softir...原创 2020-02-02 15:40:27 · 527 阅读 · 0 评论