[IDA Pro] 사용법 정리
·
Hacking/Window
IDA란?디스어셈블러의 일종으로 바이너리 파일(exe)를 어셈블리 파일로 바꾸어주는 툴ida 사용하면서 자주 쓰는 기능 & 유용한 기능들에 대해서 설명해보려고 함!현재 버전은 IDA 8.3Pseudo Code & AssemblyGraph view둘 다 어셈블리어를 보여주는 viewspace로 view 버전을 바꿔줄 수 있음 Pseudo Codeassembly view에서 pseudo code로 보고싶다면 tap으로 볼 수 있음 SynchronizeAssembly와 Pseudo Code가 각각 어떤 부분을 가리키는지 눈으로 스페이스와 탭을 번갈아가며 확인하기는 쉽지 않아서 synchronize를 해서 보면 Pseudo code가 해당 부분에 어떤 어셈블리와 대응되는지 볼 수 있다우클릭 → Synchroni..
MuseScore DoS Vulnerability Write Up
·
Hacking/Window
ZDI에서 거부당해서 그냥 깃허브 이슈에 올렸다Code Analysisvoid Capella::read(QFile* fp){ f = fp; curPos = 0; char signature[9]; read(signature, 8); signature[8] = 0; if (memcmp(signature, "cap3-v:", 7) != 0) { throw Capella::Error::BAD_SIG; } // LOGD("read Capella file signature ", signature); // TODO: test for signature[7] = a-z author = readString(); //issue keyword..
[ Domato ] 사용법
·
Hacking/Window
https://github.com/googleprojectzero/domato GitHub - googleprojectzero/domato: DOM fuzzerDOM fuzzer. Contribute to googleprojectzero/domato development by creating an account on GitHub.github.com 문법 퍼징문맥 자유 문법(Context-Free Grammar, CFG)을 사용하여 테스트 데이터를 자동으로 생성하고, 이를 통해 소프트웨어의 결함을 찾아내는 기법 대상으로 하는 것domainprograminputwhat needs to be tested문법 퍼징의 과정Grammer Definitionspecify a languageExpansion rule ..
PE(Portable Executable) file format
·
Hacking/Window
Definition | 정의윈도우 운영체제에서 사용되는 실행 파일 형식을 의미함 ex) exe 파일PE format : 윈도우 로더가 실행 가능한 코더를 관리하는데 필요한 정보를 캡슐화한 데이터 구조체Portable Executable File Format : 옮겨지더라도 파일이 실행가능하도록 만들어진 포맷→ 프로그램을 빌드할 때 파일 실행시 필요한 정보들을 PE헤더에 명시해주곤 함 종류실행계열 : exe, scr라이브러리 계열 : DLL, OCX, CPL, DRV드라이버 계열 : SYS, VSD오브젝트 계열 : OBJ PE파일의 구조 Dos Headere_magic값 : 해당 파일이 PE 파일인지 아닌지 확인해주는 영역 →시작 부분이 4D 5A여야함--> Dos Signature 값이 존재함[IMAGE..
[Fuzzing] WinAFL을 이용한 개념정리
·
Hacking/Window
Definition | 정의Fuzz testing or fuzzing is an automated software testing method that injects invalid, malformed, or unexpected inputs into a system to reveal software defects and vulnerabilities. A fuzzing tool injects these inputs into the system and then monitors for exceptions such as crashes or information leakage. Put more simply, fuzzing introduces unexpected inputs into a system and watche..