Abexcm1.exe

USER32.MessageBoxA 함수 호출.(USER32 dll에서 함수 호출)
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-messagebox
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
사진에서 첫번째 PUSH의 0은 마지막 변수, 두번째 PUSH의 0은 맨 첫번째 변수. 좌측 하단에서 push 한 값들 스택으로 확인할 수 있음.
F8로 한줄씩 실행, call 들어가서 프로그램이 실행 된 모습.

KERNEL32.GetDriveTypeA
https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getdrivetypea
UINT GetDriveTypeA(
LPCSTR lpRootPathName
);
return value 확인해보면

HDD는 3을 리턴, CDROM은 5로 리턴.
CMP문 확인. eax, esi 값 비교하는 것을 알 수 있음.
F8로 CMP문까지 이동한다.
//F2 는 브레이크 포인트 설정

1. 진입 조건문 JNE로 변경하기
오른쪽클릭→바이너리→edit
어셈블리 레퍼런스에 JNE 는 75.

위와 같이 수정.

F9로 실행 확인.

2. EAX값을 ESI 값과 동일하게 바꾸기

더블클릭하여 CMP문에 들어가기 직전 EAX값을 ESI 값과 동일하게 바꿔줌.
F9로 실행하면 위와 같이 성공한다.