-
2010. 2. 26. 09:38 Processor Code/Reversing
00401000 66:C705 xxxxxxxx>MOV WORD PTR DS:[xxxxxxxx], 1 < Break
00401007 90 NOP
00401008 90 NOP
00401001 C705 xxxxxxxx>MOV DWORD PTR DS:[xxxxxxxx], 90900001 < Break
브레이크 포인트를 걸어두었다면,
다음처리는 00401007 일거라 예상 했지만, 그렇지 않죠.
00401001 에서 멈춰버립니다.
디버그를 감지하지 못하도록 후킹 된경우 이런방식으로
디버깅을 못하게 깨부셔 버리는 센스로군요;;
브레이크 포인트가 없다면 정상적으로 NOP 으로 가는것을 알수 있습니다.
패커들은 이런 코드를 곳곳에 두어서 브레이크 포인트를 잘못 걸면 실행이 안되도록 해두었겠네요.
이 방법 이외에도 많은 코드가 존재 합니다.
00401007 90 NOP
00401008 90 NOP
00401001 C705 xxxxxxxx>MOV DWORD PTR DS:[xxxxxxxx], 90900001 < Break
브레이크 포인트를 걸어두었다면,
다음처리는 00401007 일거라 예상 했지만, 그렇지 않죠.
00401001 에서 멈춰버립니다.
디버그를 감지하지 못하도록 후킹 된경우 이런방식으로
디버깅을 못하게 깨부셔 버리는 센스로군요;;
브레이크 포인트가 없다면 정상적으로 NOP 으로 가는것을 알수 있습니다.
패커들은 이런 코드를 곳곳에 두어서 브레이크 포인트를 잘못 걸면 실행이 안되도록 해두었겠네요.
이 방법 이외에도 많은 코드가 존재 합니다.
Posted by Nightly Luna