본문 바로가기

전체 글

- fatal error C1189 해결방법 (winnt.h 사용시) pe viewer 만들려고 이것 저것 알아보다가,winnt.h 를 사용할랬더만, 이런 에러가 발생...구글링으로 해결..... Windows.h 헤더를 우선적으로 include 시켜주니까 잘됩디다.저 처럼 허접한 삽질을 하실 분들은 없을듯 ㅎ 혹시나 있을까봐가 아니라...내가 까먹을까봐 메모한다....... 더보기
- Windows 메시지 후킹때 본 함수 - 정리해야할 것LoadLibraryA GetProcAddressFreeLibraryBOOL WINAPI DllMain (이건 dll 파일 만들때 메인이라던데, dll 파일 만드는 방법 확인점 해야할 듯)LRESULT CALLBACK KeyboardProcGetModuleFileNameACallNextHookEx 더보기
- SetWindowsHookEx Function # Windows 메시지 후킹 부분을 공부하다가 보게 된 Windows API 함수이다. 공부하면서 모르는 함수 나올때 마다 블로깅하면서 정리해두면 나중에 도움이 될 것 같다. # Parameters (1) idHook- Type : int- Description : Hook Type (어떤 종류의 프로시저에 Hook 할건지에 대한 변수)- Value : idHook 변수에 올 수 있는 값 (Hook 할 프로시저 종류에 대한 상수 값) (2) lpfn- Type : HOOKPROC- Description : 운영체제가 호출해줄 콜백 함수, DLL 내부에 존재하는 hook procedure (3) hMod- Type : HINSTANCE- Description : hook procedure 가 속해 있는 .. 더보기
- 우분투(Ubuntu) Git & GitHub 설치 및 사용법 # 우분투 환경에서 Git & GitHub 사용을 처음 해봐서 찾아보다가 정리해두면 좋을 것 같아서... 1. Git 설치 및 설정 sudo apt-get install git-core - 'apt-get' 이용하여 설치 git config --list - 기본 설정 리스트 git config --global user.name "이름" git config --global user.email "이메일주소"- 사용자 정보 추가 git config --global color.ui "auto"- 변환된 소스(추가, 수정, 삭제) 쉽게 판별하기 위한 컬러 설정 2. Git 프로젝트 생성 mkdir TestProject- 새로운 폴더를 하나 생성 git init- 위에서 생성한 폴더 안에서 새로운 git 저장소 생.. 더보기
- C 프로그래밍 의사코드 연습 2 # 이번에는 scanf 함수 의사코드 연습- 총 4개 샘플 파일을 가지고 해봤습니다. 1.1 혁재가 짠 코드 실행모습- 정수 입력시 총 5번의 입력을 받는 것을 확인할 수 있었음.- 문자 입력시 총 1번의 입력만을 받았음. 1.2 혁재 파일 디버깅 - 우선 메인함수 내에서 4Byte 크기의 지역변수 3개를 선언한 것을 확인할 수 있었음.- 총 4번의 scanf 함수를 사용하였고, 1~3 번째는 정수를 한번씩 받아서, 각 순서대로 변수에 대입.- 마지막 scanf 함수에서는 3개의 정수를 받아서, 앞에서 받아 저장했던 값들을 모두 덮어씌어버림.- scanf 함수를 호출하는 caller(메인함수)가 전달한 인자를 정리하는 것과 인자가 오른쪽에서 왼쪽 편으로 전달되는 것을 보면 cdecl 호출규약이라는 것 또.. 더보기
- C 프로그래밍 의사코드 연습 1 # Reversing Study- printf 함수 & 함수 호출 규약에 대한 C 코드를 어셈블리어로 디버깅하여 의사코드 작성하기.- Study 내용 : 간단한 C 코드 작성 후 컴파일한 파일을 Study 원들에게 배포. Ollydbg 등으로 디버깅한 내용으로 C 의사코드 작성. 함수호출규약에 대해서 잘 모르시는 분들은 아래 링크 참고하시길.http://yokang90.tistory.com/9 총 5가지 파일을 가지고, 의사코드를 작성.1. RS_1.exe (지훈이)2. re_printf.exe (현민이)3. reversing1.exe (건이)4. reversing2.exe (혁재)5. taeyoul.exe (태열이) 1.1. RS_1.exe 실행 모습- 간단하게 4줄에 걸쳐 printf 함수를 이용하여.. 더보기
- 악성코드의 유형 * 백도어 (backdoor)- 공격자의 접근을 허용할 목적으로 컴퓨터에 자기 자신을 설치하는 악성코드다. 백도어는 공격자가 부분인증이나 무인증으로 컴퓨터에 접속해 로컬 시스템에서 명령어를 실행할 수 있게 된다. * 봇넷 (botnet)- 공격자가 시스템에 접속할 수 있다는 점에서 백도어와 유사하지만, 동일한 봇넷에 감염된 모든 컴퓨터가 하나의 명령 제어(C&C) 서버로부터 동일한 명령어를 수신한다. * 다운로더 (downloader)- 다른 악성 코드를 다운로드할 목적만으로 존재하는 악성 코드로, 흔히 시스템에 처음으로 접근 권한을 얻으면 공격자는 다운로더를 설치한다. 다운로더 프로그램은 추가 악성코드를 다운로드하고 설치한다. * 정보 유출 악성코드 (information-stealing malware.. 더보기
- Reversing.kr Challenge (2) Easy KeygenMe # Reversing.kr 100점짜리 문제인 Easy KeygenMe 문제 풀이입니다. 1. 우선 어떤 문제인지 살펴보도록 하겠습니다. - ReadMe.txt 파일이 주어지고, 내용은 보시는 것과 같습니다. Serial 값이 "5B134977135E7D13"이 되는 Name 명을 찾는 것입니다.- 임의의 Name 명을 주고, 주어진 Serial 값을 입력했더니 "Wrong" 이라는 문자를 출력하고 종료되었습니다. 2. 디버깅을 하기에 앞서 주어진 KeygenMe의 동작 흐름을 추측해보겠습니다.- 조금만 생각해보면, 이 키젠미 프로그램의 실행 흐름을 추측할 수 있습니다.- 정확하진 않지만, 다음과 같은 흐름으로 진행될것으로 추측됩니다. (1) 사용자에게 Name 값을 입력 받는다. (2) 사용자에게 입력.. 더보기