CodeEngn basic #9
by St1tch-------------------------------------------------------------------------------------------------------------------------------
StolenByte는 간단히 얘기해서 패킹을 할때 숨겨논 바이트라고 생각하면 될 것 같다.
즉 언패킹을 하게 되면 숨겨논 바이트는 제대로 복구가 안되기 때문에 이상하게 프로그램이 실행 될 수 있다.
이 문제도 UPX로 패킹이 되어있다.
가장 아래 분기문으로 가보면 주소가 있다.
OEP를 패치를 한 후 실행을 시켜보면 아래와 같은 에러가 뜬다.
뭔가 프로그램에 들어갈 인수가 제대로 들어가지 않은것 같다.
패치를 한 후 OEP를 보면 메시지 박스를 만드는데 필요한 함수의 인자가 부족하다.
패치를 하기 전 분기하는 부분으로가면 위에 보면 push로 3개 값이 스택에 들어가는것을 볼 수 있다.
이 3줄의 OPcode가 StolenByte이다.
블로그의 정보
튜기's blogg(st1tch)
St1tch