原创 160個Crackme之003 Afkayas.2

1.概述 作者:Afkayas 難度:★ 保護方式:Nag,Name/Serial 運行程序,有幾秒鐘的彈框,過幾秒自動消失 出現主窗口 隨意輸入用戶名和序列號,點擊ok,彈出對話框 2.算法 OD加載程序,用中文搜索引擎裏的智

原创 detours鉤子庫的簡單使用

detours是微軟的鉤子庫,以下是簡單的使用 #include "pch.h" #include <Windows.h> #include "detours.h" #include <stdio.h> #pragma commen

原创 Google C++ 命名約定

通用命名規則 函數命名, 變量命名, 文件命名要有描述性; 少用縮寫. int price_count_reader; // 無縮寫 int num_errors; // "num" 是一個常見的寫法 in

原创 Vcpkg使用方法

概觀 Vcpkg可幫助您管理Windows,Linux和MacOS上的C和C ++庫。這個工具和生態系統在不斷髮展; 您的參與對其成功至關重要! 開始 使用管理員身份打開powershell後,依次執行以下指令 git clone h

原创 代碼重定位技術

代碼重定位技術一般用於遠程線程注入和病毒感染技術當中,當注入和感染的代碼使用了全局變量,全局變局的地址就需要進行重定位,否則代碼無法正常執行。這是因爲,代碼注入其他進程空間以後,注入的位置跟原來程序中的位置不一樣,而全局變量在彙編層其

原创 一種簡單的PE壓縮算法(Win32彙編)

這種算法的核心邏輯是:在對PE進行壓縮的時候,如果碰到連續的多個0,比如說0000 0000,會將它變成0 8,0後面的8用來記錄0的個數。 .386 .model flat,stdcall option casemap:none i

原创 病毒分析報告模板

基本信息 報告名稱: 作者: 報告更新日期: 樣本發現日期: 樣本類型: 樣本文件大小/被感染文件變化長度: 樣本文件MD5 校驗值: 樣本文件SHA1 校驗值: 殼信息: 可能受到威脅的系統: 相關漏洞: 已知檢測名稱: 簡介 本節

原创 Windows保護模式下的分頁機制(PART1:10-10-12模式)

1.概述 一個進程的虛擬地址空間是4GB,它的物理大小並不是真的4GB,如果真的是4GB,那運行中的所有進程都加起來佔用的空間是一個天文數字,事實上系統會對這4GB的地址空間進行轉換,然後映射到物理內存中。換句話說虛擬地址本身並不是真

原创 Windows內核基礎之進程

1. 進程結構體EPROCESS 每個運行中的進程在Windows內核中都有一個EPROCESS的結構體,這個結構體包含了進程所有重要的信息。 在WinDbg中使用指令dt _EPROCESS可以查看進程結構體的所有成員。 nt!_E

原创 Windows內核基礎之KPCR

1.概述 KPCR是CPU的一個結構體,它就像EPROCESS對於進程,ETHREAD對於線程,KPCR對於CPU是非常重要的,它的全稱是Processor Control Region。 fs:[0]在3環時指向TEB,在0環時指向

原创 Windows內核基礎之控制寄存器

1. 概述 控制寄存器用於控制和確定CPU的操作模式。主要有:CR0\CR1\CR2\CR3\CR4 2.CR0寄存器 PE:啓用保護模式標誌,1是保護模式,0是實模式,這個位只是開始或關閉段機制,並沒有啓用分頁機制 PG:分頁機制

原创 Windows內核基礎之線程

1. 線程結構體 在0環,每個線程都有一個結構體ETHREAD。 nt!_ETHREAD +0x000 Tcb : _KTHREAD +0x200 CreateTime : _LARG

原创 Windows保護模式下的分頁機制(PART2:PAE模式)

1. 概述 10-10-12分頁方式最多可達4GB的物理地址,但是隨着硬件的發展,4GB的物理地址無法滿足要求,因此出現了2-9-9-12分頁,這種分佈方式又被稱爲PAE分頁。 爲什麼會出現2-9-9-12分頁? 我們知道10-10-

原创 Windows保護模式下的段機制(PART2:系統段介紹)

1. 概述 PART1那篇文章基本上已經把段機制交待清楚了,這一部分主要是介紹在PART1裏沒有介紹的系統段。 我們知道段描述符裏的S位爲1就是代碼段或數據段,如果爲0就是系統段。 2. 調用門 2.1 調用門介紹 之前介紹過長調用,

原创 Windows保護模式下的段機制(PART1:段機制介紹)

1. 前置知識 在瞭解保護模式以及分段和分頁機制之前,需要知道一些必要的知識。 1.1 CPU對存儲器的讀寫 CPU對內存進行讀寫需要幾類信息,沒有這些信息,CPU不知道做什麼。這些信息是: • 地址信息 • 控制信息(讀還是寫) •