Category Archives: 軟體(Software)

[.NET] 防止反組譯工具

由於.NET程式為了跨平台,導入CLR(Common Language Run-time),讓所有.NET程式編成MSIL(Microsoft Intermediate Language)程式碼,使其在CLR上運作(簡單來說,就是MS版的JVM)。也正因如此,其編譯出來的程式碼,都有一定的規則可以做逆向工程,進行反組譯。 知名的反組譯工具有:.NET Reflector(要錢), ILSpy (筆者測試過,若程式碼不加以防護的話,用這套很容易把程式碼完全還原回來…) 以及Telerik的JustDecompiler 但是,在販賣軟體產品的開發人員,應該不想要讓自己的程式碼被輕易地破解吧? 就目前讀到的參考資料,可將防止反組譯方法分為以下:1. 混淆保護(Obfuscating) :將程式碼變數命名或是方法做混淆,或是加入無意義的文字,使其無法輕易破解。    此類工具較為知名的有微軟合作夥伴PreEmptive推出的Dotfuscastor (Community版本內建於Visual Studio,這個版本不用錢;但是Professional版要錢,此二版本功能差異請見此文章)    若想要使用此工具進行軟體保護的話,可見以下兩篇教學:    (1) Dotfucscator 使用者入門    (2) Obfuscation with Dotfuscator with Visual Studio 20102. Kernel等級的加密保護:使其無法用MSIL去讀取。代表工具:MaxToCode3. 硬體鎖:採用硬體鎖的方式,避免程式盜用。(貌似跟反組譯無關) 參考資料1. .NET反組譯工具:ILSpy, Telerik JustDecompile2. 使用SuppressIldasmAttribute防止MSIL反組譯工具對組件進行反組譯3. [.NET Concept][Security].NET程式保護機制概述 (Recommended)4. MaxToCode

Posted in C, Programming, visual studio, 程式設計, 資訊安全, 軟體(Software) | Leave a comment

[PHP] 國人自製的專案管理軟體:Bug Tracker

前幾個月聽從某強者的建議,試了許多專案管理軟體(像是Mantis),但是介面不是很友善。在看了 保哥的推薦後,從善如流,使用國人王俊斌先生開發的Bug Tracker。一用下去,發現真的很好用。優點如同保哥網頁推薦的,重點是它的說明超級清楚!這對於不太會使用專案管理軟體的人員,真的是一大福音。 特別的是,你可以搭配GMail,每次一有回報訊息,自動透過GMail發信到使用者信箱做為提醒。建議各位可以去申請一個GMail信箱,然後利用Bug Tracker管理員進入,按照以下步驟進行設定: 系統設定→郵件通知設定:勾選使用 Bug Tracker 的寄信函式SMTP 伺服器:ssl://smtp.gmail.comSMTP 通訊埠:465 勾選需要身份認證SMTP 使用者:輸入你的GMail帳號SMTP 密碼:請輸入你的GMail密碼 密碼確認:再次輸入你的GMail密碼然後到你的專案管理頁面,選擇寄信通知人(很無奈的,只能轉寄最多6人)。 不過沒關係,可以要求參與該專案的組員,在專案頁面進行訂閱。只要訂閱成功,該專案有任何回報的話,系統都會自動寄信給訂閱人員。 如果擔心申請的GMail信箱有容量上限的規定,造成信箱空間不夠用。沒關係,只要在GMail信箱中設定好過濾規則,只要由Bug Tracker寄出的信件,都自動刪除就可以啦。 不過切記!如果回報頁面沒有指派給任一個使用者的話,系統寄出來的信件,收信人列表是空的,只有自動寄發信件列表中的使用者是採用副本的方式寄信,這樣子容易被某些系統誤認為垃圾信件。 要做資料庫備份的話,也可以參考我寫的這篇:[PHP] MySQL Backup by GMail

Posted in Programming, 軟體(Software) | 1 Comment

[PHP] MySQL Backup by GMail

[Chinese]        先前已經介紹過有一個好用的MySQL資料庫備份工具(使用PHP):MySQLDump。但是預設的寄信函式,是透過SMTP伺服器寄信,這對於沒有SMTP伺服器的使用者而言,可就傷腦筋了。原先我有找到一篇教學,使用GMail的SMTP伺服器做備份,可惜連結已經失效了。筆者只好自行撰寫,由於程式碼使用GPL授權,基於分享的精神下,便公開給各位。         程式碼下載處:請按我。 [English]I’ve introduced an useful backup tool for backuping MySQL databases (using PHP): MySQLDump. However,the default send mail function uses the SMTP server to send mails, and it may cause some problems … Continue reading

Posted in PHP, Programming, Web Design, 科技, 程式設計, 軟體(Software) | Leave a comment

[DB] SQL Server 2005 can not be installed in AMD X3 (X6) platforms.

[Chinese/中文]     起初,MS SQL Server 2005的開發人員並未考慮到奇數CPU核心的出現,而傻傻的認為所有的CPU核心都一定是偶數個且為2的冪次。但是這樣的天真想法,在AMD X3/X6 CPU出現後,就造成相容性以及無法成功安裝的問題,因為這些CPU都是使用奇數核心。     SQL Server 2005在Service Pack 2後,可以支援奇數核心。但是,就先前提及的,都無法安裝成功了,哪來的更新可言。     最直接的解決辦法是修改BIOS。使用者可以直接到BIOS選單,選擇”CPU configuration”->”Clock Calibrating”,然後關閉一些核心,讓核心數量維持在2的冪次(也就是說,如果是使用AMD X3 CPU的話,只要關掉第3個核心。若是使用AMD X6,則關閉第5與第6個核心)。在這子調整過後,筆者相信您應該可以享受SQL Server 2005的安裝過程了。 [English]     Initially, the developers of MS SQL Server 2005 didn’t consider the … Continue reading

Posted in SQL Server, 軟體(Software) | Leave a comment

[Flash] 摘錄:好用的Falsh開發工具 FlashDevelop

適合程式設計師的Flash開發工具,對於code可以自動補足,不用一個字一個字的打,可以加快撰碼的速度,提高生產力。FlashDevelop是免費的,所以不用買Flash IDE就可以寫Flash程式。詳細的安裝與使用說明,請參見:Tony’s Blog: 好用的Falsh開發工具 FlashDevelop 一文。

Posted in Flash, 程式設計, 軟體(Software) | Leave a comment

[Web Design] 用jQuery Mobile 開發Mobile Web Apps

方才筆者看到了jQuery 的手機版網頁開發:jQuery Mobile號稱由jQuery 團隊支援的手機版網頁開發APIs,有著以下特色: 以 jQuery 為核心 檔案極小 (重新製作過的核心壓縮過約80kb,加上css約48kb) 支援HTML 5,且透過 HTML5 data-* tag 來達成種種 UI 的設定 自動切換排版 支援滑鼠與觸碰事件 (Event Driven) WAI-ARIA (參見[4], [5], [6]  ) 強大的佈景主題系統 ASP.NET MVC 的支援 (特別支援 ASP.Net MVC 4 ) 支援市面上大部分行動裝置 畫面一致 多樣化的 UI Progressive … Continue reading

Posted in ajax, ASP.NET, browser, jQuery, 程式設計, 網頁撰寫, 資工, 軟體(Software) | Leave a comment

系統規格書、系統分析書、軟體技術手冊、軟體發展能力評估手冊

規格書範例 – 評量系統 大同技術學院資訊管理學系:附件─軟體需求規格書 數位典藏國家型計畫:拓片與古文書數位典藏計畫暨遼金元數位典藏計畫 軟體協會:軟體開發技術文件指引手冊 軟體協會:軟體發展能力評估手冊 鼎新電腦:改善軟體生產流程,提升效能與穩定品質

Posted in 資工, 軟體(Software) | Leave a comment

[ASP.NET] MVC 3上,Session消失的問題與解決辦法

筆者因工作因素,不得不碰Microsoft MVC 3。雖然開發方便,不過他隱含的一些奇怪的Bug也不少。身為一個網站開發人員,時常會用到Cookie與Session。奇怪的點就在於MS Visual Studio 2010在開發MVC 3時,有時候會為了某些奇怪因素,重新啟動你開發的Application。目前普遍知道的重新啟動事件,可能會於以下情形發生: 從應用程式的 Bin 資料夾中加入、修改或刪除組件。 從 App_GlobalResources 或 App_LocalResources 資料夾中加入、修改或刪除當地語系化資源。 加入、修改或刪除應用程式的 Global.asax 檔。 在 App_Code 目錄中加入、修改或刪除原始程式碼檔。 加入、修改或刪除設定檔組態。 在 App_WebReferences 目錄中加入、修改或刪除 Web 服務參考。 加入、修改或刪除應用程式的 Web.config 檔。 防毒軟體剛好掃到Webconfig檔 然而,筆者最近發現兩個更奇怪的重新啟動狀況! Application restarts on directory delete in ASP.net 檔案上傳後,在該Action內直接return … Continue reading

Posted in ASP.NET, C, mvc, visual studio, 程式設計, 網頁撰寫, 軟體(Software) | 10 Comments

[PHP] 多國語言網站設計

就筆者目前的整理,在設計多國語言網站時,有三種作法。(1) 採用簡易的PHP專案設計模式,架構如下: language/|—> English/about.php|—> Zh-TW/about.php 這種設計模式,最為簡單明瞭。若要用這種設計模式,可用的library有Wu-Boy設計的php-i18n,該作者寫了兩篇教學文,可以看一看: PHP 多國語系製作 i18n library 筆記 (一) PHP 多國語系製作 i18n library 筆記 (二) (2). 透過PHP gettext套件,實現UTF-8實現多國語言。該套件需要讀取事先定義好的.po檔(.po檔常見的編輯器為GNU POEDITOR),gettext套件的教學文章筆者蒐集了兩篇,有興趣的讀者不妨看一看: 使用 gettext 來實做 PHP 多國語系支援(I18N) php gettext方式實現UTF-8國際化多語言(i18n) (3). 透過新增資料庫欄位的方式,實作多國語言。最簡單的示意教學文在這邊。不過實作時仍有許多方面要考慮就是了。

Posted in PHP, 程式設計, 網頁撰寫, 軟體(Software) | Leave a comment

XMPP

XMPP(Extensible Messaging and Presence Protocol,前稱Jabber)是一種以XML為基礎的開放式即時通訊協定,是經由網際網路工程工作小組(IETF)通過的網際網路標準。XMPP因為被Google Talk應用而被廣大網路使用者所接觸。 想要知道相關資料,請參考: Wikipedia: XMPP XMPP初探

Posted in 程式設計, 網路, 資工, 軟體(Software) | Leave a comment