保護與破解就像是矛與盾,本文著重與討論程式碼保護技術,也就是如何保護你的程式碼不被竊取及竄改
光明與黑暗 – 談程式碼保護
- 13808
- 0
- Code Security
- 2017-01-17
保護與破解就像是矛與盾,本文著重與討論程式碼保護技術,也就是如何保護你的程式碼不被竊取及竄改
憑藉著Node.JS豐富的資源,傳統Desktop Application能做的事,Electron幾乎都做得到,前提是你能找到適用的套件,但總有些時候,能找到的套件雖然能達到你要的目的,但卻附帶一些不想要的後果,例如複雜的使用架構,或是效能不符需求,相依性過大等等,這時Electron Edge這類可以橋接.NET Library的機制就很有用。
上一篇文章我們介紹了如何整合現有的JavaScript/CSS Framework到Electron應用程式裡,如果仔細看的話,你會發現Electron不管在HTML或是.js檔裡都是以Node.JS來編譯(當然,如果不喜歡的話也可以設定讓其使用JavaScript方式),這也開啟了另一道門,整合現有的Node.js Framework/Component。
上一篇文章介紹了Electron的基礎應用,這次就讓我們一步步的朝實戰階段邁進,就架構而言,Electron最迷人的地方在於它可以直接套用網路上成千上萬的HTML/CSS UI套件,大幅的減少自行設計UI的工作,雖說如此,實際上在套用時還是有些需要注意的地方,幸運的是大多數會遭遇到的雷(問題)都差不多,也就是說你大概套個幾套後就掌握了8、9成的訣竅了。
寫程式這行很有趣,常常看到風水輪流轉的現象,近幾年來,前端技術不停地翻新,從一個Framework換到另一個Framework,從一個Pattern換到另一個Pattern,雖然聽起來很誇張,但如果深究一下,其根源JavaScript就是一個風水輪流轉的典範。規則鬆散曾經是他的致命傷,但到今天卻成了最大的優勢,Node.JS的誕生則加速了這個語言橫跨前後端的局勢,現在大概沒人會說,自己學的JavaScript Framework可以活幾年,因為,常常都是以月為單位的呀。
年前,一次全面性的SQL Injection攻擊,導致數千個網站受害,霎時間,讓所有人領教到看似方便的網路世界,也有其陰暗的一面。SQL Injection是一種著床於程式設計師的慣性及惰性上的害蟲,只要有程式設計師持續提供其養份
隨著Microsoft擁抱開源的口號,.NET Framework也正式登上了其他平台,其中包含了Linux與OSX,與以往的3rd Party Mono不同,新的.NET Core具備官方的支援及完整的Roadmap。
為了登上其他舞台,.NET Core可以說從根源開始重新打造,在早期版本中Linux、OSX上仍是使用Mono Runtime,隨著時間的推移,現在的1.1 RTM中Mono的身影已經完全消失了,取而代之的是Native Platform Runtime,這代表著.NET平台新時代的來臨,也意味著Microsoft正走在一個Java曾走過的道路,Cross Platform、Write once,Run Anywhere。
前篇文章提及,VSTS其實可以自動透過Nuget Restore來取得專案所使用的套件,這樣不僅可以避免直接在專案中硬性加入參考,也可以解決套件散亂難以管理的問題,當然,專案中許多套件是屬於自行研發,也不打算放上Public Nuget Server給外部人使用的,這時候就需要自行架構Nuget Server。
版本控制系統(Version Control)是近代軟體工程必要的一部份,只要是專注於軟體開發的公司或是部門,都必定擁有這一環, 當建置好版本控制系統後,接著要思考的是下一步,通常這指的就是建置系統(Build System),也稱為自動建置系統(Build Automation System)
The Thread Pool in the .NET Framework
最近有朋友提到個需求,他的目的是想偵測Windows系統中所有應用程式的啟動與結束,這通常用於防毒軟體及特定的領域,所以我做了一些研究及實驗。
從前幾個版本開始,Windows Azure Storage Services就在Dashboard中提供了使用的分析報告,這些資訊可以讓開發者了解目前的使用狀態。
從Windows Azure開始提供VM服務後,在VM中使用Java作為服務平台已經不是難事,但對於不想管機器及網路設定的我而言,還是偏好使用PaaS的Cloud Servcies作為Java的服務平台。當然,透過PaaS來建置Azure上的Java服務平台有其一定的入門門檻存在,
多數情況下,你必須熟悉Worker Role的架構,還有儲存體的應用,才能建造出一個可活用到PaaS平台特性,又不會造成太多困擾的系統。
一般來說,Windows Store Application對於Windows 8來說,是一個特別的應用程式,他執行在特殊的Container(容器)中,雖然有著與舊有執行檔相同的附檔名(.exe),但事實上
Windows Program Loader是無法直接載入執行的,必須先建立容器,然後要求該容器來執行。
摘要:Tech Days 2013 - Azure Mobile Services
摘要:Windwos Azure Developer Day - Windows Azure Mobile Serviced and app development 投影片
摘要:Introducing Azure Mobile Services – Script and Custom API
提供雲端上的資料儲存是Windows Azure Mobile Services主要的服務之一,一旦牽扯到資料的維護,那麼使用者驗證機制就是必要的工作,Windows Azure Mobile Services
目前在這部分提供了4種認證方式,分別是Microsoft Account(Windows Live)、Google、Facebook及Twitter
從PaaS到IaaS,Windows Azure在雲端技術上不斷的精進及擴充支援範圍,由原本只能使用.NET技術的雲端平台,慢慢的轉向支援多樣化技術,現在的Windows Azure不僅能使用.NET技術,
也能使用Java、PHP、Phyton甚至是C++,堪稱是目前在技術容納度上最開放的雲端技術。
在Windows Azure中,開發者可將PHP放置於兩種服務中,一個是Web Sites,另一個則是Cloud Services,兩者的差異是Web Sites無法使用memcached及較少的Scaling支援,Cloud Services雖然支援這些,
但相對的在開發及部署上也較為麻煩些,本文就針對Cloud Services上的PHP開發及部署做一個介紹。