转载请注明出处。https://rhirufxmbcyj.gitlab.io
Vim获取文件编码格式
1 | set fileencoding |
gcc编译出地址随机化的可执行程序
编译出的文件第一个loadsegment地址为0,并且ELF头的文件类型位DYN类型而不是EXEC1
gcc -fPIE -pie xxx.c
使用XShell从windows上传文件到linux
ubuntu下使用 sudo apt install lrzsz
在xshell界面输入rz即可选择windows的文件
双击即可传输
ps:不支持传输文件夹
使用XShell从linux下载文件到windows
ubuntu下使用 sudo apt install lrzsz
在xshell界面切换到linux的文件所在目录
输入命令:sz 文件名
弹出windows对话框,选在要保存的位置
保存即可
使用python获取main函数的返回值
main函数的返回值和exit(n)需要在0-255之间,否则结果是未定义的。
ubuntu 16.04 集成了python2.7和3.5.终端直接输入”python”打开的时2.7版本,输入”python3” 打开的时3.5的版本
更新ubuntu的源为网易源
1 | sudo vim /etc/apt/source.list |
Ubuntu 14.04安装cmake3.x
sudo apt-get install build-essential
wget http://www.cmake.org/files/v3.4/cmake-3.4.1.tar.gz
tar xf cmake-3.4.1.tar.gz
cd cmake-3.4.1
./configure
make
sudo apt-get install checkinstall
sudo checkinstall
sudo make install
最后在终端输入:cmake –version
如果显示cmake version 3.4.1
则安装成功!
Linux下安装edb
edb也就是linux下类似OD的调试工具,不喜欢记gdb那些太多的命令可以使用这个调试工具来调试,虽然有很多不足,但是好歹也是个可视化窗口的调试工具。
项目地址:https://github.com/eteran/edb-debugger
- 安装edb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21先安装依赖
sudo apt-get install \
git \
cmake \
build-essential \
libboost-dev \
libqt5xmlpatterns5-dev \
qtbase5-dev \
qt5-default \
libqt5svg5-dev \
libgraphviz-dev \
libcapstone-dev
# build and run edb
git clone --recursive https://github.com/eteran/edb-debugger.git
cd edb-debugger
mkdir build
cd build
cmake ..
make
./edb
枚举窗口
目前只在ubuntu下试过,linux没有windows上那种EnumWindow函数,知乎上问到有个工具wmctrl,https://www.zhihu.com/question/271750064,github上搜了下,拿到了源码,有了源码再研究定制化的功能吧。
64位Ubuntu编译32位程序
- gcc 加-m32参数 编译出来的程序为32位程序
- 安装32位的库
1
2sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
64位CentOs编译32位程序
1 | yum install libstdc++.so.6 |
获取当前进程路径
1 |
|