## 樣式提示
### 編輯配置
讓您的編輯器負責格代碼式化,您可以在驗收過程中不會頭痛。大多數Metasploit的貢獻者使用vim或gvim作為默認的文本編輯器 - 如果你有一個其他編輯器的配置,我們很樂意看到它!
#### vim和gvim
將以下設置添加到.vimrc將使得符合[CONTRIBUTING.md](https://github.com/rapid7/metasploit-framework/blob/master/CONTRIBUTING.md)和[msftidy.rb](https://github.com/rapid7/metasploit-framework/blob/master/tools/msftidy.rb)的規則變得相當容易。
順便說一句,如果你安裝了vim的[Janus Distribution](https://github.com/carlhuda/janus)插件,這一切都是為你自動完成的。但是,如果你是一個特殊的snowflake,那么下面就是讓你的代碼格式化的好方法。
~~~
set shiftwidth=2 tabstop=2 softtabstop=2
" textwidth affects `gq` which is handy for formatting comments
set textwidth=78
" Metasploit requires spaces instead of hard tabs
set expandtab
" Highlight spaces at EOL and mixed tabs and spaces.
hi BogusWhitespace ctermbg=darkgreen guibg=darkgreen
match BogusWhitespace /\s\+$\|^\t\+ \+\|^ \+\t\+/
~~~
如果您希望這些設置僅適用于ruby文件,則可以使用自動組和自動命令。
~~~
if !exists("au_loaded")
let au_loaded = 1
augroup rb
au FileType ruby set shiftwidth=2 tabstop=2 softtabstop=2 textwidth=78
au FileType ruby set expandtab
au FileType ruby hi BogusWhitespace ctermbg=darkgreen guibg=darkgreen
au FileType ruby match BogusWhitespace /\s\+$\|^\t\+ \+\|^ \+\t\+/
augroup END
endif
~~~
您也可以使用`:set list` 查看所有空格作為不同的字符,以便更容易看到錯誤的空白。
#### Rubymine
鑒于切換到使用標準的Ruby縮進,RubyMine不再需要特殊的配置。生活在雙個空格的tab!
### 語法和大寫
雖然我們知道世界上有很多種語言,彈Metasploit主要是用美國英語開發的。因此,模塊中的描述語法應符合美國英語慣例。這樣做不僅可以確保大多數Metasploit用戶的易用性,還可以幫助自動(和手動)翻譯成其他語言。
#### 標題
模塊標題應該像標題一樣閱讀。有關英文的大寫規則,請參閱:http://owl.english.purdue.edu/owl/resource/592/01/
唯一的例外是函數名稱(如'thisFunc()')和特定的文件名(如thisfile.ocx)。應該當為模塊標題,所以第一個和最后一個詞都以大寫字母開頭,因為這是一個msftidy.rb檢查。
- Home
- 開始使用
- 安裝metasploit開發環境
- 使用metasploit
- 使用git
- 報告一個bug
- 貢獻代碼
- 貢獻給metasploit
- 創建一個loginscans Metasploit模塊
- 接受模塊和增強功能的指導
- 常見的Metasploit模塊代碼錯誤
- 樣式提示
- metasploit提交者
- metasploit開發
- 為什么是ruby
- 樣式提示
- 如何開始寫一個exploit
- 如何開始寫一個輔助模塊
- 如何開始寫一個post模塊
- 如何開始寫一個Meterpreter腳本
- 載入外部模塊
- exploit rank
- Metasploit模塊引用標識符
- 怎么在你的exploit中確認window補丁程序級別
- 如何使用filedropper清理文件
- 如何棄用metasploit模塊
- 如何在模塊開發中報告或儲存數據
- 在metasploit如何使用日志
- 如何在metasploit對JavaScript進行混淆
- 如何解析一個http響應
- 如何使用HTTPClient發送HTTP請求
- 如何使用命令階段
- 如何使用數據儲存選項
- 如何在window后期開發中使用railgun
- 如何在exploit中使用powershell
- 如何使用PhpEXE來利用任意文件上傳漏洞
- 如何使用FILEFORMAT mixin創建一個文件格式exploit
- 如何使用BrowserExploitServer編寫一個瀏覽器exploit
- 如何使用HttpServer編寫瀏覽器exploit
- 如何編寫一個check()方法
- 如何使用Seh mixin來利用異常處理程序
- 如何在Windows上使用WbemExec進行寫入權限攻擊
- 如何使用httpserver和httpclient編寫一個模塊
- payloads如何工作
- 如何免殺
- 如何正確使用metasploit模塊