리버스엔지니어링
소프트 웨어 리버스 엔지니어링 하기 위해 필요한 지식
행복햐
2017. 8. 18. 13:53
올리디버거(ollydbg), 아이다(ida) 5.0 freeware 가 필요하다.
프로그램 다운로드 웹사이트 주소
https://www.hex-rays.com/products/ida/support/download_freeware.shtml
디버깅할 때 두 프로그램을 모두 활용하면 편하다.
어셈블리 언어를 알아야한다.
디버깅하면 프로그램이 어셈블리 언어로 나오기 때문이다.
어셈블리 언어를 완벽하게 공부한 해야 하는 것은 아니다.
macro assembler
RdaASM 개발툴
윈도우즈 API를 알아야 한다.
올리디버그 같은 프로그램에서 MessageBox 같은 함수에 브레이크를 걸수 있기 때문이다.
메모리 구조를 알아야 한다.
Code
Data
Heap
stack
Register
PE실행 파일 구조 분석
PEview.exe, notpad++ 이용한다.
PEview로 fileoffset , RVA, VA 를 볼 수 있다.
notepad++는 hexa editor plug in을 사용하여 데이터를 검색, 수정할 수 있다.
프로그래머용 계산기가 필요하다.
윈도우 7에 설치 되어 있다. 10진수를 16진수로 변환할 때 도움이 된다.
mditest.asm 소스 코드 분석
매크로 어셈블러 설치 후 C:\masm32\examples\exampl01\mdidemo에 있슴
resource hack 프로그램
resource 구조를 확인할 때 편하다.