본문 바로가기
반응형

전체보기44

[1주] 1장~2장 리버싱 핵심 원리 [1주] 1장 - 리버싱 스토리 (1장은 디테일한 정리는 skip하겠다) * 리버스 엔지니어링이란?* 분석 방법-정적 분석-동적 분석* Source Code, Hex Code, Assembly Code* 패치와 크랙 2장 - Hello World! 리버싱 2장에서는 HelloWorld.exe를 실행 했을때 팝업에 나타나는 "Hello World!" 문자열을 "Hello Reversing!" 이라고 바꾸는 실습을 한다. (OllyDbg 이용) 실습을 하기 전에 알아야 하는 부분 : 출력되는 문자열을 바꾸기 위해서 먼저 main 함수를 찾아야한다. ※ 원본 소스코드에서 사용된적 없는 API들이 호출되면 main() 함수가 아니라는것을 알수있다. 예를 들어 Hello world! 팝업이 뜨는.. 2015. 3. 9.
05 - Immunity Debugger Immunity Debugger는 스크립트 디버거와 GUI디버거 사이를 이어주는 다리와 같은 디버거다. 악성코드를 분석하는 사람들에게 가장 강력한 파이썬 라이브러리와 완전한 사용자 인터페이스를 제공한다. PyCommand PyCommand는 다양한 디버깅 기능을 Immunity 디버거 내에서 수행하게 작성된 파이썬 스크립트다. PyCommand의 구조 : PyCommand 의 두 가지 필수 조건 :1. 하나의 파라미터를 받아드리는 main() 함수를 정의해야함2. 문자열을 리턴해야함 PyCommand 실행시키기 :1. Immunity 디버거가 설치된 디렉토리 내의 PyCommands 디렉토리에 해단 스크립트 파일이 존재하는지 확인2, 디버거의 명령 바에 ! 형태로 입력해서 PyCommand 스크립트 실행.. 2015. 1. 26.
04장 - PyDbg 순수 파이썬 윈도우 디버거 4.1 ㅡ 브레이크 포인트 확장 PyDbg를 이용하면 사용자 정의 콜백 함수를 구현함으로써 이벤트 핸들러를 쉽게 확장시킬 수 있다. 콜백 함수에 디버그 이벤트가 발생했을 때 수행될 로직을 구현해 넣으면 된다. 호출된 콜백 함수가 리컨을 하면 제어권은 디버거에게 넘어가고, 디버거는 디버깅 대상 프로세스가 계속 실행되게 한다. 소프트 브레이크 포인트를 성정하는 PyDbg 함수의 프로토타입 :address : 소프트 브레이크 포인트를 설정할 주소description : 브레이크 포인트에 교유한 이름을 부여할때 사용 (선택적으로 사용한다)restore : 발생한 브레이크 포인트를 초리한 이후에 자동으로 해당 브레이크 포인트를 해제할 것인지에 대한 여부handler : 브레이크포인트가 발생했을때 호출할 함수를 지.. 2015. 1. 26.
파해프 3.1 - 디버기 이번 장의 목적은 순수파이썬 윈도우 디버거인 PyDbg를 제대로 이해하기 !! 3.1 디버기 프로세스 디버깅을 하려면 - * 해당 프로세스에 연결해야함* 디버깅 할 프로세스를 실행시키거나 이미 실행돼 있는 프로세스에 attach 해야함. 윈도우는 이 두가지 작업을 쉽게 수행할수 있게 하는 디버깅 API를 제공한다. (더 추가할꺼임) 프로세스를 실행시키는것과 프로세스에 붙이는 것에는 약간의 차이가 있음. :프로세스를 실행 시킬 때는 해당 프로세스의 코드가 실행되기 전에 제어를 할 수 있다.(장점) 그래서 악의적인 코드를 분석할 때 편리함. :프로세스에 붙이는거는 이미 실핼중인 프로세스에 연결하는거임. 그래서 프로세스가 실작되면서 실행되는 코드를 건너뛸 수 있으며 관심 있는 특정 영역의 코드만을 분석할 수 .. 2015. 1. 19.
반응형