原文
從研究底層和彙編以來,已經多次接觸到“棧溢出”這個名詞了。
這次在彙編碼中看到了個不明就裡的 ___security_cookie ,查了下,原來是編譯器的安全檢查機制。轉載一篇文章:
首先,security cookie並不是windows系統自帶的保護機制,並不是說一個確實存在溢出漏洞的
程序,放到帶security cookie保護的環境中,就不能正常溢出了。
那麼,到底是什麼是security cookie呢?
我覺得從廣義上講,它應該是一種保護棧的機制,提供這種保護的,是程序本身,編譯進程序本身的代碼提供的,而不是系統中某個運行在黑暗角落中的線程。
所以,既然是程序自身就帶上的,為了不給程序員帶來額外的負擔,這份工作就交給編譯器來完成了。
vc6.0的cl.exe是不帶這個功能的,只有vc.net以後面版本的cl.exe才帶這個功能,就所謂的/GS選項。
即用vc.net的cl編譯器時,/GS選項默認就打開了。
現在,我們知道了這個機制的提供方,那麼,這個機製到底是怎麼一回事呢?
熟悉函數調用及返回前後的彙編指令的人肯定很清楚,在win32平台,對於stdcall類型的函數調用,當call指令運行完畢,當前的堆棧結構基本上是這樣的:
愛因斯坦 Albert Einstein: 如果你沒辦法簡單說明,代表你了解得不夠透徹。 If you can't explain it simply, you don't understand it well enough.
2020年5月13日 星期三
2020年3月21日 星期六
[轉載]簡單部署 Docker Swarm 測試叢集
原文
Docker Swarm 是 Docker 公司的 Docker 編配引擎,最早是在 2014 年 12 月發佈。Docker Swarm 目的即管理多台節點的 Docker 上應用程式與節點資源的排程等,並提供標準的 Docker API 介面當作前端存取入口,因此可以跟現有 Docker 工具與函式庫進行整合,本篇將介紹簡單的建立 Swarm cluster。
Docker Swarm 具備了以下幾個特性:
Docker Swarm 是 Docker 公司的 Docker 編配引擎,最早是在 2014 年 12 月發佈。Docker Swarm 目的即管理多台節點的 Docker 上應用程式與節點資源的排程等,並提供標準的 Docker API 介面當作前端存取入口,因此可以跟現有 Docker 工具與函式庫進行整合,本篇將介紹簡單的建立 Swarm cluster。
Docker Swarm 具備了以下幾個特性:
- Docker engine 原生支援。(Docker 1.12+)。
- 去中心化設計。
- 宣告式服務模型(Declarative Service Model)。
- 服務可擴展與容錯。
- 可協調預期狀態與實際狀態的一致性。
- 多種網路支援。
- 提供服務發現、負載平衡與安全策略。
- 支援滾動升級(Rolling Update)。
2020年2月24日 星期一
[轉載]理解不同的神經網絡損失函數(Understanding different Loss Functions for Neural Networks)
原文
There are various loss functions available for different objectives. In this guide, I will take you through some of the very frequently used loss functions, with a set of examples. This guide is designed by keeping the Keras and Tensorflow framework in the mind.
每要達到不同目的需要不同的損失函數 這篇文章會介紹一些比較常用的 附上一些例子 這篇文章主要以Keras以Tensorflow作背景框架
Loss Function | Brief Intro 損失函數 | 概觀
Loss function helps in optimizing the parameters of the neural networks. Our objective is to minimize the loss for a neural network by optimizing its parameters(weights). The loss is calculated using loss function by matching the target(actual) value and predicted value by a neural network. Then we use the gradient descent method to update the weights of the neural network such that the loss is minimized. This is how we train a neural network.
損失函數有助於優化神經網絡的參數. 我們的目的通常是用損失函數來最小化神經網絡的損失值(注:損失值通常代表神經網絡的恶劣程度)並優化權重. 損失值的取得通常來自損失函數,而損失函數以目標結果與預測結果作參數來評估損失值. 然後我們可用梯度下降法優化神經網絡權重,直到損失值達到最優化(注:我在說什麼). 這就是訓練神經網絡的方法
There are various loss functions available for different objectives. In this guide, I will take you through some of the very frequently used loss functions, with a set of examples. This guide is designed by keeping the Keras and Tensorflow framework in the mind.
每要達到不同目的需要不同的損失函數 這篇文章會介紹一些比較常用的 附上一些例子 這篇文章主要以Keras以Tensorflow作背景框架
Loss Function | Brief Intro 損失函數 | 概觀
Loss function helps in optimizing the parameters of the neural networks. Our objective is to minimize the loss for a neural network by optimizing its parameters(weights). The loss is calculated using loss function by matching the target(actual) value and predicted value by a neural network. Then we use the gradient descent method to update the weights of the neural network such that the loss is minimized. This is how we train a neural network.
損失函數有助於優化神經網絡的參數. 我們的目的通常是用損失函數來最小化神經網絡的損失值(注:損失值通常代表神經網絡的恶劣程度)並優化權重. 損失值的取得通常來自損失函數,而損失函數以目標結果與預測結果作參數來評估損失值. 然後我們可用梯度下降法優化神經網絡權重,直到損失值達到最優化(注:我在說什麼). 這就是訓練神經網絡的方法
訂閱:
文章 (Atom)