Skip to content

Instantly share code, notes, and snippets.

View HoShiMin's full-sized avatar

Александр HoShiMin

  • OOO "SearchInform"
  • Нижний Новгород, Россия
View GitHub Profile
@HoShiMin
HoShiMin / HookAPI.pas
Last active October 22, 2020 10:06
API для перехвата функций (х32/x64): инъекции + сплайсинг
unit HookAPI;
interface
uses
Windows, TlHelp32, MicroDAsm;
const
SE_DEBUG_NAME = 'SeDebugPrivilege';
THREAD_SUSPEND_RESUME = $0002;
@HoShiMin
HoShiMin / MicroDAsm.pas
Last active February 16, 2019 21:06
Минималистичный и очень быстрый дизассемблер длин
unit MicroDAsm;
interface
type
TREXStruct = record
B: Boolean; // Extension of the ModR/M r/m field, SIB base field, or Opcode reg field
X: Boolean; // Extension of the SIB index field
R: Boolean; // Extension of the ModR/M reg field
W: Boolean; // 0 = Operand size determined by CS.D; 1 = 64 Bit Operand Size
@HoShiMin
HoShiMin / DriversAPI.pas
Last active September 3, 2016 18:28
API для работы с драйверами
unit DriversAPI;
{
Автор: HoShiMin, 2016
Основные понятия:
IRP - I/O Request Packet, передаваемые драйверу данные
@HoShiMin
HoShiMin / ProcessAPI.pas
Last active May 17, 2018 13:27
Многофункциональный API для работы с процессами
unit ProcessAPI;
interface
//{$DEFINE DEBUG_PRIVILEGE}
uses
Windows, TlHelp32, CodepageAPI;
@HoShiMin
HoShiMin / HookLib.dpr
Last active August 29, 2015 14:19
Пример перехвата MessageBoxW средствами HookAPI.pas
library HookLib;
{
Это пример библиотеки, перехватывающей функцию MessageBoxW средствами HookAPI.
}
uses
Windows,
@HoShiMin
HoShiMin / ASMiner.asm
Last active August 30, 2020 12:59
Первый в мире лаунчер Minecraft на ассемблере
;
;###############################################################################
;
; ### ###### ## ## ## ## ## ###### #####
; ## ## ## ### ### ## ### ## ## ## #
; ## ## ###### ## ### ## ## ## # ## ##### #####
; ## ### ## ## ## # ## ## ## ### ## ## ##
; ## ## ###### ## ## ## ## ## ###### ## ##
;
;###############################################################################
@HoShiMin
HoShiMin / MultichannelSynthesizer.pas
Last active September 2, 2015 10:36
Синхронный многоканальный синтезатор для работы с системной пищалкой
unit MultichannelSynthesizer;
interface
uses
SysUtils, Math, NotesInfo, NotesSerializer, BeeperWrapper, TimeManagement;
{
* Tempo - длительность одной ячейки в секундах
* SwitcherDelay - интервал в секундах между переключениями каналов
@HoShiMin
HoShiMin / NotesSerializer.pas
Created June 14, 2015 18:59
Хэшмап с нотами для быстрого получения частоты ноты по её названию
unit NotesSerializer;
interface
uses
NotesInfo, Generics.Collections;
type
TNotesSerializer = class
private
@HoShiMin
HoShiMin / BeeperWrapper.pas
Last active September 2, 2015 20:45
Удобный модуль-обёртка для работы с системной пищалкой средствами WinRing0
unit BeeperWrapper;
interface
uses
WinRing0;
{
Подробности здесь:
http://wiki.osdev.org/PIT
@HoShiMin
HoShiMin / WinRing0.pas
Created June 14, 2015 19:01
Заголовочный файл для WinRing0
unit WinRing0;
interface
{$DEFINE _PHYSICAL_MEMORY_SUPPORT}
const
WinRing0DLL = {$IFDEF CPUX64}'WinRing0x64.dll'{$ELSE}'WinRing0.dll'{$ENDIF};
// GetDLLStatus Constants: