原创 Windows編程_Lesson008_內存_內存修改器

###內存修改器 修改指定進程名字中的內存 ####單線程版本 #include <Windows.h> #include <stdio.h> #include <vector> // 第一次查找 void FirstFind

原创 C++實現線程死鎖

先上代碼 #include <mutex> #include <thread> //#define SLEEP using namespace std; class LeftRightDeadLock { public:

原创 Windows Practice_文件_文件分割器(二)

文件分割器實現時注意的幾點 分割文件的頭信息結構體的設計,如果裏面需要存儲字符串的信息,我們必須使用字符串數組來存儲,而不能使用類似於CString、string等字符串對象來存儲,因爲使用這些對象在存儲的時候還好,可以知道它的長

原创 開源C++ Windows Service程序

目的 由於Windows C++ 沒有現成的Windows server程序的開發框架,而C#則有,所以爲了方便大家以及我以後使用C++更方便的開發Windows server程序,特意寫此文。 Github源碼地址 主要代碼如下

原创 情感分析項目

1. 模型理論與應用 以下幾個問題都是比較經典的問題,會對模型的深入理解會有很大的幫助。 特別是對於邏輯迴歸的二次導數的求解過程可以用來證明一個函數是否凸函數。 1.1 邏輯迴歸相關 假設我們有訓練數據D={(x1,y1),...

原创 Windows Practice_Dll&Hook_Hook是什麼?

Hook是什麼? Hook能夠改變軟件的功能,比如添加新功能和修改原功能的執行流程。 使用Hook是針對於沒有源碼的情況下才使用的,如果有源碼,就沒必要Hook了。 Hook是如何改變程序的流程的 程序塊 程序塊結構(progr

原创 Windows Practice_Dll&Hook_DetourHook庫

Detours Detours是經過微軟認證的一個開源軟件,下載地址,雖然是開源軟件,但是它又分成了兩個版本,分別是: Detours Professional 3.0 is available for commercial u

原创 Windows Practice_文件_註冊表操作

Windows中的註冊表 我們會好奇,爲什麼在我們雙擊一個文件的時候,會用合適的程序來運行呢?比如說.jpg文件在雙擊的時候就會用圖片查看軟件打開,這是爲什麼呢? 因爲文件的後綴名幫助操作系統如何打開,也可以自定義。 我們知道

原创 Windows Practice_Dll&Hook_消息鉤子

Dll Dll就是我們通常所說的動態鏈接庫(Dynamic Link Library),它和應用程序在本質是沒有任何區別的,它也是一個可執行文件,它們都有相同的PE結構。 但是兩者在應用上面還是有一些區別的,Dll一般作用exe

原创 Windows Practice_文件_文件基礎操作

Windows中文件 在Windows編程中,少不了打交道的肯定是文件,但是我們絕大多數接觸到的都是文件的表象。 在Windows中有各種各樣的文件,大致有: - exe dll:可執行文件 - txt:文本文件 -

原创 Windows Practice_文件_文件分割器(一)

文件分割的意義 有以下幾點需要進行文件分割: 以前的硬盤格式是FAT32,也是意味着最大的內存放的單個文件是4GB,如果文件超過4GB,就需要進行分割成小於4GB的文件才能存儲到硬盤上; 網絡虛度比較慢,並且還會出現中斷,一旦中

原创 Windows Practice_文件_內存映射(一)

大文件數據操作 我們以全國開放數據(數據純屬僞造)爲例,它的文件格式是csv,也是經常使用的一種文件存儲格式,它是以逗號和換行來進行區分數據段和行來進行數據的區分。 今天我們把一個文件中的2000000條數據進行處理。 文件操作

原创 Windows Practice_Dll&Hook_IAT Hook

PE結構 PE結構時Windows中一個比較大的結構體,它的整個結構體圖如下所示: 給MessageBoxW函數掛鉤我們自己的函數 就是我們掛鉤之後,調用MessageBoxW函數後,會進入到我們自己的函數中執行我們自己的代碼

原创 Windows Practice_內存映射_加載BMP

什麼是BMP,爲什麼我們會經常使用這種圖片格式? 微軟給我們專門提供了一個加載位圖的LoadBitmap函數,這說明bmp格式圖片在Windows中使用的比較多。 我們知道沒一種文件都有它自己的文件結構,那麼bmp就是一種位圖形

原创 Windows Practice_Dll&Hook_封裝IAT Hook

進程保護器的實現 本程序實現了一個簡單的暴力的進程保護器,其原理也很簡單,就是修改導入表,掛鉤TerminateProcess函數,因爲這個函數可以遠程無條件的結束其它進程,所以我們要掛鉤這個函數。 因爲每一個程序都有可能結束要