사용 프로그램: x32dbg Mar 10 2019 abex crackme 2에서 시리얼(serial) 부분을 리버싱해봅시다. 이름에는 'Jaehwa'를 입력하고 'Check'를 눌러줍니다. 'Check'시 Serial 키를 비교하고 메시지 박스를 내보내므로, 먼저 'Check' 버튼의 이벤트 핸들러를 찾습니다. 일단 그냥 'Check'를 눌렀을 때 나오는 메시지 박스 문구를 찾습니다. 'Please enter at least 4 chars as name!' 여기서 위로 쭉쭉 올라갑니다. 올라가다 보면, NOP이 나오고, 그다음 스택이 생성되는 곳이 있습니다. 여기가 'Check' 버튼의 핸들러입니다. 여기에 breakpoint를 걸어주고, 'Check' 버튼을 누르면 EIP가 저기에서 멈춥니다. 쭉쭉 진행하다 보면, 어느 순간 주석문에 우리가 입력한 'Jaehwa'가 나타납니다. 여기서 'ebp-0x88'에 우리가 입력한 'Jaehwa'가 들어간 것을 확인할 수 있습니다. 쭉 내려가봅시다. 내려가다 보면, 반복되는 구간이 있습니다. '00403197'에서 '004032A0'구간입니다. 문자열을 하나씩 불러오면서 암호화하는 구간으로 예상됩니다. '004031F7'주소를 지나면, EAX에 'J'가 들어간 것으로 보아, 'CALL <&rtcAnsiValueBstr>'에서 문자를 읽어오는 것으로 예상됩니다. 반복문 한 바퀴를 돌면, 'EBP-94'에 'AE'가 들어간 것을 볼 수 있습니다. 한 바퀴를 또 돌면, 'EBP-94'에 AEC5가 들어간 것을 볼 수 있습니다. ...