







[ebp-0x4]를 이용하여 4의 배수만큼 인덱스를 이동함
[ebp+0xC]에 있는 주소를 가져와 4만큼 더하면서 문자열들을 모두 반복
-> 그때 그 문자열과 "LOLO" 라는 문자열을 3으로 strncmp했을 때 1이 return 됨
-> 즉 문자열들 중 앞 세자리가 "LOL"인 문자열이 있어야 함
저장된 문자열

다음과 같은 문자들이 있는데 이는 환경변수들이다
set 으로 출력한 환경변수

즉 환경변수를 추가한 후 합을 16으로 맞춰주면 성공
-> 환경변수를 설정하기 위해 cmd에서 set LOL=hehe 를 이용해 환경변수 설정
-> 환경변수 설정을 위해 a=b의 형식이어야 하고, 키 값은 앞 세자리만 "LOL" 이고 나머지는 상관없음
환경변수 설정 전

환경변수 설정 후

실제로 들어간 데이터를 확인하기 위해 cmd에서 실행 후 x32dbg로 attach

패스워드 크랙

입력받은 password와 0xF7319c에 있는 문자열을 비교하여 동일하면 login

패스워드 크랙
안티디버깅 존재

mov eax,0으로 패치하여 안티디버깅 우회

GetUserNameA를 이용해 현재 돌아가는 운영체제의 유저이름을 가져옴
입력한 비밀번호와 username을 이용하여 비밀번호를 한 바이트씩 돌면서 0x004011AD의 과정 거침

입력한 비밀번호와 암호화된 문자열을 비교해서 모두 같으면 성공

패스워드 크랙

사용자에게 입력받은 비밀번호를 0x7E97E56C와 비교
비밀번호를 123으로 입력했을 때

값이 0x7B(123) 인것을 확인
-> 즉 십진수 123으로 들어가는 것을 확인할 수 있음
따라서 0x7E97E56C 를 10진수로 변환한 값을 비밀번호로 입력해야 함

