문제는 다음과 같다.

우선 프로그램을 실행해보면 다음과 같은 창이뜬다.

여기서 Name이나 Serial칸에 뭔갈 입력하려고 해도 입력이 전혀 되지 않는다.
우선 PEView로 열어보니 다음과 같았다.

UPX패킹은 확실히 아닌데 일단 뭔가 일반적인 PE파일은 아닌게 확실하다.
그래서 Detect It Easy라는 프로그램을 이용해서 패킹 종류를 확인해봤다.

ASPack이라고 쓰여있다.
ASPack은 처음보는 패커이므로 일단 x32dbg로 실행을 해보자.

UPX와 마찬가지로 pushad라는 구문이 보인다.
UPX에서 한것처럼 하드웨어 BP를 걸고 popad구문으로 이동해보자.

popad까지 이동을 했다.
여기서부터 F7로 한 단계씩 실행하는 ret을 만나서 445834로 이동했다.

보다시피 언패킹이 되었고 OEP는 00445834이다.
우선 별도의 StolenByte는 없었으므로 이 상태로 덤프를 떠서 저장했다.
혹시나 하는 마음으로 덤프뜬 파일을 PEView에 올려보았다.

보다시피 Address of Entry Point가 000045834이다.
Image Base가 00400000이므로 우리가 찾은 00445834가 OEP가 맞았다.
ASPack도 UPX와 크게 다를 바는 없어 보인다.
이제 등록 성공으로 가는 분기문을 찾아야 하므로 덤프뜬 파일을 디버거에 올리고 문자열 참조를 시도해봤다.
Register관련 문자를 쓰다보니 아래와 같은 문자열을 발견했다.

Registered ... well done!
대놓고 성공메시지가 보인다. 이 부분의 코드를 따라가봤다.

아마도 이 코드에서 Not registered .... try again!문자열을 Registered ... well done!로 바꾸는 부분이 있는 것 같다.
이 코드에서 그 부분을 명확히 찾기는 힘들지만 적어도 문자를 바꾸려면 Registered ... well done!을 건드리는 부분에는 도달을 해야한다.
위쪽에 있는 분기문들을 하나씩 살펴보았다.

4454d4에 있는 분기문이 실행이 되면 Registered... 부분을 그냥 지나치게 된다. 그렇다면 이 분기문이 실행이 되지 않는다면 정상적으로 성공으로 이어지게 될 것이다. 따라서 이 부분을 성공으로 가는 분기점이라고 할 수 있다.
이 부분의 OPCODE는 7555이다.
정답은 OEP + OPCODE이므로 004458347555이다.