본문 바로가기

안티디버깅2

안티 디버깅 Dynamic 안티 디버깅 분류 Static, Dynamic - Static 기법은 디버깅 시작할 때 한번만 해체를 해주는 기법 - Dynamic 기법은 디버깅을 진행하면서 (해당 Anti기법을) 만날 때마다 해결하는 기법 Dynamic 안티 디버깅의 목적 목적은 내부 코드와 데이터를 리버싱으로부터 감추고 보호하는 것. 보통PE 프로텍터들에서 많이 사용되며 원본 프로그램의 핵심 알고리즘을 보호하기 위하여 사용됩니다. 디버거로 해당 프로그램이 실행될 수는 있을지언정 원본 프로그램의 핵심코드(OEP)로 트레이싱 하여 찾아갈 수 없도록 방해합니다. 예외 예외(Exception)를 이용하는 방법은 안티 디버깅의 단골 메뉴입니다. 정상적으로 실행된 프로세스에서 예외가 발생하면 SEH(Structured Exception Han.. 2022. 10. 5.
안티 디버깅 Static 안티 디버깅 분류 Static, Dynamic - Static 기법은 디버깅 시작할 때 한번만 해체를 해주는 기법 - Dynamic 기법은 디버깅을 진행하면서 (해당 Anti기법을) 만날 때마다 해결하는 기법 Static 안티 디버깅의 목적 디버기 프로세스에서 자신이 디버깅 당하는지 여부를 파악하는 기법 만약 디버깅 중이라고 판단되면 일반 실행과는 다른 코드(주로 종료 코드)를 실행하는 것이 핵심입니다. 구현 방법으로는 디버거를 탐지하는 방법, 디버깅 환경을 탐지하는 방법, 디버거를 강제 분리시키는 방법등이 있습니다. 회피 방법은 탐지 코드에서 얻어 오는 정보를 파악하여 아예 그 정보 자체를 변경해버리는 것입니다. PEB 현재 프로세스의 디버깅 여부를 판단하기 위해 PEB(Process Environme.. 2022. 10. 4.
반응형