#include #include typedef LONG NTSTATUS, * PNTSTATUS;#define STATUS_SUCCESS (0x00000000)extern "C" NTSTATUS NTAPI RtlGetVersion( PRTL_OSVERSIONINFOW lpVersionInformation );#ifndef NT_SUCCESS#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)#endifclass cWinVersion{ DECLARE_NO_SELF_CLASS( nxcWinVersion ); static bool IsSystem64Bit() { SYSTEM_INFO si; GetNativeSystemInfo( &s..
#pragma once#include class cStringUtil{public: static std::wstring MBSToWCS( const std::string& _ssMbsStr, UINT _nCodePage = CP_UTF8 ); // 유니코드 문자열을 멀티바이트 문자열로 변환 static std::string WCSToMBS( const std::wstring& _ssWcs, UINT _nCodePage = CP_UTF8 ); // Format 함수는 가변 인수를 받아 들여 std::wstring을 포맷합니다. template static std::wstring Format( const std::wstring& format, Args&&... args..
class cRunProc{ DECLARE_NO_SELF_CLASS( cRunProc );public: enum class eRunOption { eAsUser, eAsAdmin }; static bool RunAsAdmin( const std::wstring& _ssPath, const std::wstring& _ssParameters, DWORD _nWaitMilliseconds ) { SHELLEXECUTEINFO sei = { sizeof( sei ) }; sei.lpVerb = L"runas"; sei.lpFile = _ssPath.c_str(); sei.lpParameters = _ssParameters.c_str(); sei.hwnd = NULL; sei.nShow = SW_N..
DLL 인젝션(DLL Injection)은 다른 프로세스의 주소 공간에 동적으로 라이브러리(DLL 파일)를 삽입하는 기술입니다. 이 방법은 주로 소프트웨어 개발과 디버깅, 리버스 엔지니어링, 또는 때때로 보안 테스트에 사용됩니다. 하지만, 악의적 목적으로 사용될 수도 있기 때문에 책임감 있는 사용이 중요합니다.DLL 인젝션의 기본 원리DLL 인젝션을 수행하는 과정은 일반적으로 다음 단계를 포함합니다:대상 프로세스 식별: 인젝션을 수행할 프로세스의 식별자(Process ID, PID)를 얻습니다.메모리 할당: 대상 프로세스의 주소 공간에 새로운 메모리를 할당합니다. 이 메모리는 DLL 경로를 저장하는 데 사용됩니다.DLL 경로 작성: 할당된 메모리에 DLL의 경로를 씁니다.리모트 스레드 생성: Create..
# Git Hub https://github.com/abseil/abseil-cpp GitHub - abseil/abseil-cpp: Abseil Common Libraries (C++) Abseil Common Libraries (C++). Contribute to abseil/abseil-cpp development by creating an account on GitHub. github.com #Git URL https://github.com/abseil/abseil-cpp.git GitHub - abseil/abseil-cpp: Abseil Common Libraries (C++) Abseil Common Libraries (C++). Contribute to abseil/abseil-cpp de..
Abstract Factory 패턴은 생성 패턴(Creational Pattern)의 하나로, 서로 관련있거나 의존하는 객체들의 그룹을 생성하기 위한 인터페이스를 제공하면서, 구체적인 클래스를 지정하지 않는 디자인 패턴입니다. 이 패턴의 목적은 클라이언트 코드가 생성할 객체의 구체적인 타입과 분리되도록 하는 것입니다. 이를 통해 클라이언트 코드의 유연성과 재사용성을 높일 수 있습니다. Abstract Factory 패턴의 구성 요소 Abstract Factory: 추상 팩토리는 구체 팩토리가 구현해야 하는 인터페이스를 정의합니다. 이 인터페이스는 다양한 타입의 추상 제품을 생성하는 메소드를 선언합니다. Concrete Factory: 구체 팩토리는 추상 팩토리 인터페이스를 구현하는 클래스로, 특정 제품 ..
- Total
- Today
- Yesterday
- 서귀포블루버블
- 블루버블다이빙팀
- 외돌개
- C#.NET
- Linux
- 블루버블다이브팀
- 현포다이브
- 스쿠버다이빙
- Windows
- 패턴
- 성산블루버블
- 서귀포
- Build
- C
- OpenSource
- 스쿠버 다이빙
- 네트워크 정보
- 제주도
- C++
- effective
- PowerShell
- script
- C# 고급 기술
- 울릉도
- C#
- 암호화
- Effective c++
- CMake
- DLL
- 블루버블
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |