일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- pcap packet
- 포너블
- hacking
- 개발하기
- Windows Kernel
- 바이트 오더
- Msvcrt.dll
- C언어 패킷캡쳐
- windows kernel debugging
- Windows Kernel Driver
- arudino
- 해킹
- Windows
- ucrtbase.dll
- IAT Hooking
- 윈도우 커널 디버깅
- Windows Kernel Debug
- 개발 환경 준비
- 윈도우 커널 드라이버
- apphelp.dll
- 네트워크 바이트 오더
- Network Byte Order
- vcruntime.dll
- HackCTF
- pcap packet capture
- 시스템해킹
- vcruntime140.dll
- pwnable
- Today
- Total
목록전체 글 (118)
미친해커
코드 인젝션과 IAT 후킹의 조합 코드 인젝션은 Fileless 형식의 임의의 코드 주입 공격이다. 그리고 IAT 후킹은 프로세스의 Import Address Table을 조작하여 특정 API의 제어권을 가로채는 기법이다. 이 두개의 기법을 적절히 활용하면 Fileless 형식의 IAT 후킹을 할수 있다. 예제 코드 GitHub - jungjin0003/Code-Injection: Code Injection + Hooking sample Code Injection + Hooking sample. Contribute to jungjin0003/Code-Injection development by creating an account on GitHub. github.com Code Injector 소스코드는 ..
hello-world 예제 hello-world 예제는 devkitPro를 설치하면 함께 다운로드되는 Nintendo 사의 게임기들의 예제 코드(프로젝트)중 하나 이다. 기본적으로 검은색 콘솔 중앙에 'Hello World!' 를 출력한다. 코드는 다음과 같다. /* Hello World example made by Aurelio Mannara for libctru This code was modified for the last time on: 12/12/2014 21:00 UTC+1 */ #include #include int main(int argc, char **argv) { gfxInitDefault(); //상단 화면을 콘솔 초기화합니다. 두 번째 인자로 NULL을 사용하면 기본 콘솔을 사용합니..
닌텐도 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..