原创 STL之--輸入輸出流狀態的相關函數操作

clear()函數 功能:更改cin的狀態標識符,使之處於正確狀態。 定義在<ios>頭文件中,是basic_ios類的成員函數,以下是相關的源碼: // TEMPLATE CLASS basic_ios template<clas

原创 一道逆向CTF題-read asm詳解

題目給出一段c程序: int main(int argc, char const *argv[]) { char input[] = {0x0, 0x67, 0x6e, 0x62, 0x63, 0x7e, 0x74, 0x62, 0x69

原创 typedef與using、struct與class的區別

typedef與using區別 定義一般類型的別名沒區別,都是用來簡化代碼。如typedef string::size_type str_sz,將string::size_type類型命名爲str_sz,類型名在前,別名在後;而usin

原创 Linux環境下安裝yafu

NOTE1: 我的linux環境: CentOS 6.7 NOTE2: 注意安裝yafu、msieve、gmp、gmp-ecm在同一目錄下 NOTE3: 我的安裝位置:/root/sherlly STEP 1: 安裝依賴環境(zl

原创 NSA方程式工具利用與分析

下載地址:https://yadi.sk/d/NJqzpqo_3GxZA4 解壓密碼:Reeeeeeeeeeeeeee github下載地址:https://github.com/misterch0c/shadowbroker 釋放的工具

原创 git的安裝與相關操作指令

首先安裝git(根據操作系統選擇相應版本) https://git-scm.com/download/ 然後打開安裝包, 一路next,來到這裏, 由於這裏只需要用到git的bash版本,因此我們選擇第一個選項,繼續next,

原创 MD5算法的具體實現

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用於確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法)。MD5的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被”壓縮”成一種

原创 詳解C與C++中操作字符串方法的不同

靈感來源於前些天無意編寫的一個小程序,下面是稍微修改過的代碼: #include<stdio.h> int main() { char *str1="char"; char *str2="char"; if(str

原创 什麼是計算機的大小端規則?

在計算機內存中,通常是以字節(Byte),也就是 8 個位(Bit)爲基本存儲單元(也有以 16 位爲基本存儲單元的)。對於像C++中的char這樣的數據類型,它本身就是佔用一個字節的大小,不會產生什麼問題。但是當數制類型爲int,在32

原创 STL之---search算法源碼分析

search算法相關細節存儲在<algorithm>中,以下貼出search的源碼及其重載版本。 // TEMPLATE FUNCTION search template<class _FwdIt1,class _FwdIt2> inli

原创 從彙編看函數調用

首先介紹幾個名詞: 棧幀:也叫過程活動記錄,是編譯器用來實現過程/函數調用的一種數據結構。棧幀中保存了該函數的返回地址和局部變量。 寄存器:CPU內部用來存放數據的一些小型存儲區域,用來暫時存放參與運算的數據和運算結果。常用的寄存器有

原创 NSCTF2017-SteinsGate wp

0x00 前言 挺不錯的一道題,思路值得學習,所以簡單記錄下。 0x01 恢復文件 查看文件頭爲PK,改後綴名爲zip,解壓得到三個文件,分別是 flag.enc:加密後的flag encryption:加密算法腳本 一段base64:

原创 《C++Primer》讀書筆記之---Windows下通過命令行窗口編譯運行C++程序的嘗試

最近開始學習C++,我選擇了裏普曼寫的這本《C++Primer(第五版)》作爲啓蒙書籍,在閱讀1.1章中關於程序的編譯、運行時我便發現了一個不小的問題,那就是---如何能夠通過Windows系統的cmd(命令行窗口)實現對程序的編譯及運行

原创 一元謂詞接受多個參數--lambda表達式的魅力

首先我們引入一個問題: 如果要你編一個程序,使用find_if算法來實現對一個字符串中的各個字符進行篩選並輸出符合特定長度的字符,你會怎麼辦? 有人會說這好辦,像下面這樣不就可以了嗎? //省略部分內容,下同 find_if(str.

原创 數據結構之---棧和遞歸&函數調用

更正:以下所指ebx應改爲eax。 EBX指“基地址”寄存器,在內存尋址時存放基地址;、 EAX是累加器(accumulator),一般用來保存函數的返回值。 首先說說遞歸的實現和棧的關係吧,這裏引入一個著名的尾遞歸-斐波那契數列的實