1. 程式人生 > 實用技巧 >goby自定義POC+EXP編寫

goby自定義POC+EXP編寫

Linux 命令

目錄結構

  • /bin 可執行二進位制檔案
  • /etc 系統配置檔案
  • /home 每個使用者的主目錄
  • /usr 放置系統應用
    • /usr/local 存放管理員安裝軟體目錄
  • /proc 虛擬檔案目錄
    • 你甚至可以找到正在執行的各種程序
  • /dev 裝置檔案目錄
  • /boot 系統引導使用的檔案
  • /lib 系統引導 系統啟動時 用到的動態庫檔案

推薦連結

檔案型別

Linux 儲存管理

  • Buddy 記憶體管理演算法 ( 努力讓記憶體分配與相鄰記憶體合併快速進行
    • 基於計算機處理二進位制的優勢具有極高的效率
    • 演算法主要是為了解決記憶體外碎片問題 ( 記憶體外碎片 -> 記憶體內碎片
    • 核心
      • 將申請記憶體大小向上取 2的冪
      • 一片連續記憶體的 '夥伴(buddy)' 是相鄰的另一片大小一樣的連續記憶體

Linux 檔案系統概覽

  • 常見檔案系統
    • FAT ( File Allocation Table
      • 微軟Dos/Win 早期使用檔案系統
      • 使用一張表儲存盤塊資訊
    • NTFS ( New Technology File System
      • win7/win8/win10 ( win/linux 均可識別
    • EXT2/3/4 ( Extented File System
      • 用於 Linux ( 將一個 ext 格式的 U 盤插入 win win 將無法識別
  • 常見分割槽方式
    • GPT
    • MBR

分割槽是將一個物理盤分成若干個邏輯盤 每個邏輯盤中必須具有一種檔案系統 分割槽就是將物理盤隔開,檔案系統就是將隔開的盤格式成某種型別的檔案儲存格式

推薦連結1 推薦連結2

Ext 檔案系統

  • tips:
    • Boot Sector 啟動扇區 安裝開機管理程式
    • Block Gruop 塊組 儲存資料實際位置
    • Inode 存放檔案的原資訊

表面上,使用者通過檔名,開啟檔案。實際上,系統內部這個過程分成三步:首先,系統找到這個檔名對應的inode號碼;其次,通過inode號碼,獲取inode資訊;最後,根據inode資訊,找到檔案資料所在的block,讀出資料

常用命令

netstat -nalp | grep 8080

ps -ef | grep java // ps 顯示當前程序狀態
ps -aux | grep java

find /tmp/cg/testLinux -name "*.txt"

df -T // 檢視掛載磁碟資訊
 dumpe2fs /dev/vda1 | less // 檢視指定裝置 inode 資訊
 stat xxx // 檢視某個檔案具體資訊

各種言語預設安裝包的搜尋路徑


以C++為例

  • #include “headfile.h”優先在當前目錄查詢標頭檔案
    • 先搜尋當前目錄
    • 然後搜尋-I指定的目錄
    • 再搜尋gcc的環境變數CPLUS_INCLUDE_PATH(C程式使用的是C_INCLUDE_PATH)
    • 最後搜尋gcc的內定目錄
      • /usr/include
      • /usr/local/include
      • /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
  • #include < headfile.h >從系統預設路徑查詢標頭檔案
    • 先搜尋-I指定的目錄
    • 然後搜尋gcc的環境變數CPLUS_INCLUDE_PATH
    • 最後搜尋gcc的內定目錄
      • /usr/include
      • /usr/local/include
      • /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include

推薦連結

轉載