利用 GetPixel 及 SetPixel,將圖片轉換為灰階。
using System; using System.Diagnostics; using System.Drawing; using System.IO; using System.Windows.Forms; namespace Test { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string Photo_route = Path.Combine(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Tulips.jpg"); Bitmap b = (Bitmap)Bitmap.FromFile(Photo_route); pictureBox2.Image = (Bitmap)Bitmap.FromFile(Photo_route); Stopwatch sw = new Stopwatch(); sw.Start(); //對每個pixel取出處理 for (int y = 0; y < b.Height; y++) { for (int x = 0; x < b.Width; x++) { Color color = b.GetPixel(x, y); int avg = (color.R + color.G + color.B) / 3; //RGB同除3就會變成灰階 b.SetPixel(x, y, Color.FromArgb(avg, avg, avg)); } } sw.Stop(); pictureBox1.Image = b; MessageBox.Show(sw.ElapsedMilliseconds.ToString() + " /ms"); } } }
某些軟體常常發生死當嗎? 使用 WatchDOG 即可監控當掉的程式,自動重新啟動!
程式下載:http://fsl.sytes.net/watchdog.html
有些網站需要提供上傳檔案功能,為了安全考量會限制某些檔案才允許上傳,例如:jpg,gif,png,通常不會允許具有程式的檔案exe,bat,com,php,asp,aspx...。
以下分別測試IIS6及IIS7,看看安全性如何!
1. 首先建立一個asp檔案,內容為下:
<%=Request.ServerVariables (REMOTE_ADDR)%>
2. 將檔名命名為 b.asp;.jpg,如下圖:
測試網址:http://www.opendns.com/support/cache/
使用C#在Function接收多個參數,可以使用params string[] args,就可以接收多個string了。
namespace Test { class Program { static void Main(string[] args) { Fun1("a"); Fun2("a", "b", "c", "d", "e"); } //接收一個參數 static void Fun1(string arg1) { } //接收多個參數 static void Fun2(params string[] args) { } } }
.NET 程式必需載入 .NET Framework ,所以記憶體用量至少5MB以上
其實可以透過 SetProcessWorkingSetSize API 來達到記憶體壓縮的效果 以下為程式碼範例:
使用 sixxpack 進行 .NET 加殼,有可能ICON會遺失,這時候只要使用 Resource Hacker 即可將 ICON 重新加入或變更。
程式下載:Resource Hacker 3.2.10.64
加殼壓縮是一種對EXE檔案的數據壓縮及加密保護,可以將EXE檔案壓縮成自我解壓檔案,並能隱藏解壓進程。
在免殺技術里所謂的殼與偽裝殼其實就是壓縮與外層數據偽裝,其實是利用特殊的演算法,對可執行文件與DLL文件里的資源進行壓縮與對文件的描述、版本號、創建日期、修改軟體、系統執行需求等外層數據進行偽裝。
- 減少檔案大小:可節省磁碟空間、加速網路傳輸。
- 加密內容:可以避免程式遭到任意竄改、亦可對防毒軟體免殺。
使用 Reflector 可以輕易的將 .NET 程式進行反向工程!
hiberfil.sys 電腦休眠時的記憶體暫存檔案,將休眠功能取消需透過指令方式!
Dotfuscator 是主要的 .NET 模糊化和壓縮程式,可協助保護程式免於受到反向工程的威脅,同時使程式更小巧且更有效率。
此外,Dotfuscator 現在可將其他預先建立的功能插入 .NET 應用程式,以提供使用方式追蹤、竄改偵測和到期等功能。
Microsoft Visual Studio 2010 版本包含 PreEmptive Solutions Dotfuscator Software Services Community Edition 5 (Dotfuscator CE 5)的免費授權。
如同包含在 Visual Studio 2008、2005 和 2003 中的舊版 Dotfuscator CE,它會提供用來保護及強化 .NET 應用程式的工具。
Dotfuscator CE 5 使用於編譯的組件,不需要額外的程式設計,甚至也不用存取原始程式碼。
除了簡易模糊化之外,Dotfuscator CE 5 還針對開發人員、架構設計人員和軟體測試人員提供一系列新軟體服務。
Dotfuscator CE 5 中包含的新程式碼保護、監視和管理功能範例為:
- 竄改防禦:偵測遭竄改應用程式的執行、傳輸事件警示,以及結束遭竄改的工作階段。
- 應用程式到期行為:編碼「生命結束」日期、當應用程式在到期日後執行時傳輸警示,以及 (或) 結束已逾期的應用程式工作階段。
- 工作階段追蹤:判斷已執行的應用程式、這些應用程式的版本,以及執行時間。
- 功能使用方式追蹤:判斷正在使用的功能、順序及執行時間。