분류 전체보기168 dynamic_cast dynamic_cast 형 변환 연산자는 다음의 형태를 갖는다. dynamic_cast(expr) 즉, 사이에 변환하고자 하는 자료형의 이름을 두되, 객체의 포인터 또는 참조형이 와야하며, () 사이에는 변환 대상이 와야 한다. 그리고 요구한 형 변환이 적절한 경우에는 형 변환된 데이터를 반환하지만, 요구한 형 변환이 적절하지 않은 경우에는 컴파일 시 에러가 발생한다. 물론 여기서 말하는 적절한 형 변환은 다음의 경우를 뜻한다. "상속 관계에 놓여 있는 두 클래스 사이에서 듀오 클래스의 포인터 및 참조형 데이터를 기초 클래스의 포인터 및 참조형 데이터로 형 변환 하는 경우" #include class Car { private: int fuelGauge; public: Car(int fuel) : fuel.. 2023. 2. 14. C++ 의 예외처리 메커니즘 C++ 은 구조적으로 예외를 처리할 수 있는 메커니즘을 제공한다. 이 메커니즘을 이용하면, 코드의 가독성과 유지 보수성을 높일 수 있다. 예외의 처리를 프로그램의 일반적인 흐름에서 독립시키는 것이 가능하기 때문이다. C++의 예외처리 메커니즘 이해 : try와 catch 그리고 throw의 이해 예외 처리 메커니즘과 관련해서 익숙해져야 할 세 가지 키워드는 다음과 같다. try 예외를 발견한다. catch 예외를 잡는다. throw 예외를 던진다. try 블록 try 블록은 예외발생에 대한 검사의 범위를 지정할 때 사용된다. 즉, try 블록 내에서 예외가 발생하면, 이는 C++의 예외처리 메커니즘에 의해서 처리가 된다. try { // 예외발생 예상지역 } catch 블록 catch 블록은 try 블록.. 2023. 2. 10. 클래스 템플릿의 특수화 클래스 템플릿을 특수화 하는 이유는 특정 자료형을 기반으로 생성된 객체에 대해, 구분이 되는 다른 행동양식을 적용하기 위해서이다. 즉, 클래스 템플릿을 특수화하면, 템플릿을 구성하는 멤버함수의 일부 또는 전부를 다르게 행동하도록 정의할 수 있다. 클래스 템플릿을 특수화하는 방법은 다음과 같다. 먼저 다음과 같이 정의된 클래스 템플릿이 존재 할때, template class SoSimple { public: T SimpleFunc(T num) { . . . . } } 이를 기반으로 자료형 int에 대해 특수화 한 템플릿 클래스는 다음과 같이 정의한다. template class SoSimple { public: int SimpleFunc(int num) { . . . . } } 이렇게 in형에 대해서 특수.. 2023. 2. 9. 인젝터를 만들어 보았다. refresh(새로고침) 버튼을 클릭하여 현재 실행중인 프로세스 목록을 가져오고 인젝션하고 싶은 프로세스를 클릭하면 process name 에 선택된 프로세스 이름이 설정됩니다. 인젝션할 dll 파일을 file.. 버튼을 클릭하여 가져오면 자동으로 경로를 입력합니다. process name 과 dll path가 정상적으로 입력이 되면 inject 버튼이 활성화 되고 버튼을 클릭하면 프로세스에 dll이 인젝션됩니다. 2023. 1. 24. notepad.exe 프로세스 숨기기 성공 !! 노트패트가 정상적으로 실행되어있지만 작업관리자에서는 보이지 않는 모습(프로세스 숨기기 성공 !!) 2023. 1. 12. DLL 인젝션 DLL 인젝션이란 실행 중인 다른 프로세스에 특정 DLL파일을 강제로 삽입하는 것입니다. DLL 인젝션 구현 방법 다른 프로세스에게 dll 인젝션을 하기 위해 아래와 같이 크게 세가지 방법이 존재합니다. - 원격 스레드 생성 (CreateRemoteThread() API) - 레지스트리 이용(AppInit_DLLs 값) - 메시지 후킹(SetWindowsHookEx() API) CreateRemoteThread() 1. 대상 프로세스 핸들을 구한다 2. 대상 프로세스 메모리에 인젝션할 DLL 경로를 써준다. 3. LoadLibraryW() API 주소를 구한다. 4. 대상 프로세스에 원격 스레드(Remote Thread)를 실행한다. AppInit_DLLs DLL 인젝션을 하기 위한 두번째 방법은 레지스.. 2023. 1. 2. 이전 1 ··· 10 11 12 13 14 15 16 ··· 28 다음 반응형