C 語言緩衝區溢位攻擊範例程式碼

本篇以 C 語言的實際範例,解釋緩衝區溢位攻擊的原理。 緩衝區溢位攻擊是一種典型的攻擊方式,雖然這種手法已經有一段的歷史,不過還是有可能因為程式設計者的疏忽,讓程式存在這樣的漏洞。 以下我們以 C 語言的程式來解釋緩衝區溢位的原理以及攻擊方式。 緩衝區溢位 程式中的緩衝區是指一塊特定的記憶體空間,程式在執行時可以將資料處存在其中,而緩衝區溢位(buffer overflow)就是指程式將資料寫入緩衝區時,超過了它的範圍,例如: ...

April 2, 2017 · G. T. Wang

Java 程式處理網址 URL 百分比編碼與解碼教學

這裡介紹在 Java 程式中,如何使用 java.net.URLEncoder 與 java.net.URLDecoder 對網址進行百分比編碼與解碼。 有時常在處理網址的人應該會發現某些網址在從瀏覽器複製下來之後,就會變成一些百分比加上十六進位碼的奇怪網址,而貼回去瀏覽器又變正常了,就個就是網址 URL 百分比編碼的問題,這裡介紹如何以 Java 程式來處理網址的百分比編碼與解碼。 ...

March 29, 2017 · G. T. Wang

C/C++ 程式設計教學:main 函數讀取命令列參數,argc 與 argv 用法

本篇教學介紹如何在 C/C++ 程式的 main 函數中,使用 argc 與 argv 兩個參數,取得執行程式時所輸入的指令參數。 argc 與 argv 參數 C 語言程式的 main 函數如果不需要讀取任何來自於命令列的參數,則 main 函數就使用最簡單的寫法即可: ...

March 27, 2017 · G. T. Wang

Bash 程式設計教學:平行執行背景子行程,用 wait 等待工作結束

本篇介紹在 Bash shell 中如何使用 wait 等待背景子行程的執行,並取回每個行程執行結果。 在 shell 程式設計中,為了讓程式執行起來更有效率,有時會讓多個子行程(subprocess)以 spawn 的方式放在背景執行,平行處理多項不同的工作,通常將需要等待硬碟 I/O 或網路回應的工作放在背景,可以程式執行的速度加快很多。 ...

March 25, 2017 · G. T. Wang

ParaView 錄製 Python 指令稿,自動控制 ParaView 執行各種工作教學

這裡示範如何使用 ParaView 的 Trace 功能錄製 Python 指令稿,自動控制 ParaView 執行各種工作。 ParaView 本身就有支援 Python 語言的指令操作介面,在 GUI 視窗介面上的每一項操作都可以使用 Python 指令的方式達成,對於有自動化需求的人,就可以使用 Python 來撰寫指令稿控制 ParaView 處理各項繪圖工作。 ...

March 23, 2017 · G. T. Wang