일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 포너블
- packet capture
- 윈도우 커널 드라이버
- Windows Kernel Debug
- 해킹
- Msvcrt.dll
- Windows Kernel
- HackCTF
- Network Byte Order
- vcruntime.dll
- hacking
- 윈도우 커널
- vcruntime140.dll
- arudino
- ucrtbase.dll
- C언어 패킷캡쳐
- apphelp.dll
- Windows
- 윈도우 커널 디버깅
- 개발하기
- 시스템해킹
- 개발 환경 준비
- Windows Kernel Driver
- pcap packet capture
- IAT Hooking
- 바이트 오더
- 네트워크 바이트 오더
- pcap packet
- pwnable
- windows kernel debugging
- Today
- Total
목록2022/04 (11)
미친해커

닌텐도 3DS 예제 파일 닌텐도 3DS의 예제 파일은 우리가 설치한 devkitPro 폴더에 들어가 있다. 경로는 다음과 같다. C:\devkitPro\examples\3ds 위 경로에 들어가면 3DS와 관련된 예제 파일들을 볼수 있다. 우리는 여기서 graphics\printing\hello-world 경로에 들어가면 예제가 존재한다. cmd를 열고 해당경로로 이동하자. 컴파일하기 해당 폴더에 이동했다면 make 명령어를 실행해보자 위와 같이 main.c 파일이 컴파일되어 hello-world.elf, hello-world.smdh, hello-world.3dsx 이렇게 3개의 파일이 나오게 된다. 여기서 나오는 3dsx 파일이 citra 에뮬레이터 돌아가는 파일이다. 이 파일은 3ds의 Homebre..

닌텐도 3DS 개발에 도전하게된 이유 이유는 없다. 필자가 지금까지 무언가에 도전하는데에는 큰 이유가 있지 않다. 그냥 단순히 재밌어보이고 해보고 싶기 때문이다. 이번에도 닌텐도 3DS의 시스템에 관심이 생겨 한번 도전하게 되었다. 닌텐도 3DS 개발환경 구축 1. devkitPro Install devkitPro는 GCC 툴체인 기반의 ARM을 지원하는 컴파일러이다. 닌텐도 3DS는 ARM 기반의 시스템이기 때문에 ARM 컴파일러가 필요하다. 이를 위해 devkiPro를 이용해 크로스 컴파일(다른 환경의 바이너리로 컴파일 하는 것)을 한다. 다음 링크에서 Installer를 다운한다. Releases · devkitPro/installer Contribute to devkitPro/installer d..

해당 포스팅은 이전 포스팅에서 이어집니다. [Reversing] Code Injection Step 1 Code Injection 기법은 사실상 ShellCode Injection 이라고 불러도 될 만큼 동작 방식이 매우 비슷하다. 하지만 우리는 주입할 코드를 ShellCode가 아닌 C언어 함수로 작성해 주입할 것이다. 1. 주입할 함수 작 crazyhacker.tistory.com Why did the error occur? 에러가 발생되는 원인은 다음과 같다. 주입된 어셈블리(코드)를 확인해보면 0x1E54A422AB0를 첫번째 인자로 넘기고 0x1E54A426D8C에서 WinExec의 주소를 rax로 가져와 call 하게 된다. 하지만 해당 2개의 주소는 존재하지(사용되지) 않는 것을 확인할 수 ..

Code Injection 기법은 사실상 ShellCode Injection 이라고 불러도 될 만큼 동작 방식이 매우 비슷하다. 하지만 우리는 주입할 코드를 ShellCode가 아닌 C언어 함수로 작성해 주입할 것이다. 1. 주입할 함수 작성 /* 주입되는 코드는 CreateRemoteThread API를 통해 실행되기 때문에 아래와 같은 형식을 반드시 지켜줘야 한다. (함수명은 관계 없음) */ DWORD WINAPI ThreadProc(LPVOID lpParameter) { // 계산기를 실행 WinExec("calc.exe", SW_SHOW); } 2. 코드 인젝션 함수 작성 BOOL CodeInjection(DWORD PID) { // 타겟 프로세스의 핸들 획득 HANDLE hProcess = O..

코드 인젝션 (Code Injection) 정의 Code Injection이란 실행 가능한 코드를 대상 메모리 영역으로 삽입하여 실행하는 것을 말한다. 코드 인젝션 활용 영역 프로그램의 기능 개선 및 버그 패치 API 후킹 일반 응용 프로그램에 특별한 목적의 코드를 추가 악성코드에서의 활용 코드 인젝션 주요 동작 흐름 Windows API / Kernel Function 프로세스 권한 획득 : OpenProcess() / NtOpenProcess() 메모리 공간 할당 : VirtualAllocEx() / NtAllocateVirtualMemory() 코드 삽입 : WriteProcessMemory() / NtWriteVirtualMemory() 코드 실행 : CreateRemoteThread() / Nt..