목록개발 (7)
study

case 문이 나올 경우 모든 case를 체크하고 내용 확인. case 문을 활용해 여러 기능을 가진 악성코드를 원격 제어형 악성코드라고 부름. case를 연달아 타고 들어감. 최종적으로 401070에 도착. cmp(compair) 코드로 ebp+8과 76c(1900)이라는 값을 비교함.덤프에서 따라가기 > 주소로 ebp+8값이 무엇을 의미하는지 확인.E8 07(리틀 엔디안이기에 실제 값은 07 E8) 값이 ebp+8값이라는 것을 알게 됨. 07 E8 값은 2024 값이기에 1900과 2024의 상관과 앞에서 GetSystemTime 명령어를 시행함에 따라 시스템 시간에서 년도를 의미하는 것이라고 추측할 수 있음. 이 뒤의 덤프도 2024 06 03 10 값으로 2024년 6월 3일 오후 4시 가량이라..

- IDA순차표에서 우클릭으로 텍스트 형태 등으로 확인 가능.AB 누르면 C++ 코드 형태로 확인 가능.X 단축키로 호출 역순으로 올라갈 수 있음.더블 클릭으로 호출한 위치 이동 가능. - 디버거RET 명령어에 F8로 들어가고 CTRL+F9로 넘어가기 반복해서 EntryPoint까지 확인함수의 분석 필요성이 있다면 F7로 들어가서 분석, 함수의 분석 필요성이 없다면 F8로 넘어가기.GetModuleFileName과 같이 분석할 필요가 없는 CALL은 넘기면 됨. - ASLR 플래그코드의 주소값이 항상 일정하지 않고 어느정도 랜덤값을 가지고 로드되게 유도.HEX 뷰어에서 140 라인의 40 81 부분을 00 81로 바꾸고 다시 로드하면 ASLR이 지정이 되지 않음.이전에 랜덤으로 주소값을 가져가던 것과..

https://learn.microsoft.com/ko-kr/sysinternals/downloads/strings 문자열 - Sysinternals 이진 이미지에서 ANSI 및 UNICODE 문자열을 검색합니다. learn.microsoft.com strings를 실행해 crackme5.exe를 확인하니 너무나 쉽게 시리얼 코드를 확인할 수 있었다....

IMAGE_DOS_HEADER Dos의 호환성 때문에 존재하는 헤더 부분 winnt.h e_magic - 4d 5a(MZ) : PE파일 구조 - D0 CF 11 E0(OLE) - 50 4B(ZIP) - 25 50 44 46(PDF) - 89 50 4e 47(PNG) 위와 같이 확장자가 사라진 파일이라고 해도 e_magic 부분을 확인하면 작성되었던 파일의 확장자를 알 수 있다. e_lfanew - 000000E8 : IMAGE_NT_HEADER 시작 주소 MZ이기에 PE 파일 구조를 가지고 있고 Little Endian을 사용하기 때문에 우측 하단의 E8 00 00 00 부분이 000000E8 IMAGE_NT_HEADER 부분이 된다. NT_Header File Header Machine : CPU 호환..
1. CreateFileA 보통 Create 라면 파일을 생성하는 함수를 생각하며 파일을 열기 위해서는 Open을 생각하게 될 것이다. 하지만 윈도우즈에서 사용하는 CreateFileA 함수의 경우 파일 또는 I/O 디바이스를 만들거나 여는역할을 하고 있다. 2. 매개 변수 https://learn.microsoft.com/ko-kr/windows/win32/api/fileapi/nf-fileapi-createfilea 값 의미 0 0x00000000 삭제, 읽기 또는 쓰기 액세스를 요청하는 경우 다른 프로세스가 파일 또는 디바이스를 열지 못하게 합니다. FILE_SHARE_DELETE 0x00000004 파일 또는 디바이스에서 후속 열기 작업을 사용하여 액세스 삭제를 요청할 수 있습니다.그렇지 않으면 ..

윈도우 프로그래밍으로 Hello World! 메세지 박스를 출력하는 간단한 프로그램을 리버싱 해본다. 리버싱 편의를 위해 32bit(x86) release로 디버깅을 한다. 마찬가지로 리버싱 편의를 위해 디버그 속성 > 구성 속성 > 링커 > 고급에서 임의 기준 주소를 아니오로 바꾼다. 임의 기준 주소를 체크하게 되면 주소를 찾아보기 힘들어지기 때문. 일반적인 코딩을 할 때는 취약점 중 하나가 될 수 있기 때문에 임의 기준 주소를 활성화하도록 하자. 코드를 Release 했다면 PEviewer와 Immunity Debugger로 각각 Release 파일을 열어보자. EP(Entry Point) - 프로그램이 시작되는 곳. EP = Image Base + Address of Entry Point Addre..

1. Scene 씬은 쉽게 말하면 게임의 맵이다. 어떤 게임은 하나의 맵에서만 이야기가 진행이 되고, 어떤 게임은 여러 맵을 돌아다니며 게임을 진행하게 된다. 마찬가지로 게임을 개발할 때는 하나의 씬에서 제작이 될 때도 있지만 여러개의 씬으로 나누어서 제작이 진행되기도 한다. 간단한 게임의 경우 하나의 씬으로 개발해도 문제가 없지만 리소스의 규모가 커질 경우 게임의 동작이 무거워질 수도 있다. 때문에 대부분의 게임은 여러개의 씬으로 나누어서 개발을 진행한다. 2. Build Settings 게임 개발에 필요한 여러 개의 씬을 만들어두었다면 그 씬들을 불러놓을 필요가 있다. 먼저 File > Build Settings 에 들어간다. Build Settings에 들어간다면 Add Open Scenes 버튼을..