A follow up of TinyCrackMe
Challenge:
- Press the button "Hi"
- If correctly bypass, a MessageBox with `:3` show up.
Rules:
1. Patch? Here's a deal:
- No patching if you're unpacked UPX, as final result!
- Allowed patching if you're not unpacked UPX, as final result!
- only patch-fix the flaw like missing stdc dll, or temporary byte patch to making loader or hook
2. Spoiling? Yes! (originally in crackmes.one is "no")
3. Keygen? useless. Because the goal is bypass it!
4. Hooking? Allowed! It's not a patch!
5. Loader? Allowed! It's just a mem patch, not file patch...
6. Any these above, do not use any tool to create stuff like Baymax or dUP2, but you can create your own one with coding.
Happy Reversing :3
/*include stuff here*/ #include "resource.h" HINSTANCE hInst; FMUSIC_MODULE* mod; bool isValid = false; BOOL CALLBACK DlgMain(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { case WM_INITDIALOG: { loadmusic(); mod=FMUSIC_LoadSong(NULL, NULL); FMUSIC_PlaySong(mod); SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1))); } return TRUE; case WM_CLOSE: { MessageBoxA(hwndDlg, "by bang1338^BGSPA :3", "NanoButton", MB_ICONINFORMATION); EndDialog(hwndDlg, 0); } return TRUE; case WM_COMMAND: { switch(LOWORD(wParam)) { case IDC_BTN_CHECK: { if(isValid) MessageBoxA(hwndDlg, ":3", "NanoButton", MB_ICONINFORMATION); else MessageBoxA(hwndDlg, "Maybe something wrong...", "NanoButton", MB_ICONERROR); } return TRUE; } } return TRUE; } return FALSE; } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { hInst=hInstance; InitCommonControls(); return DialogBox(hInst, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)DlgMain); }
Recommended Comments
There are no comments to display.