002 - abexcm5

查壳

Pasted image 20250723141334

界面

Pasted image 20250723141507

随便输入个密码检查
Pasted image 20250723141533

逆向

main 方法
Pasted image 20250723170945

DialogProc 方法
Pasted image 20250724174011

注册机

#include <iostream>
#include <windows.h>

LPSTR salt1 = (LPSTR)"4562-ABEX";
LPSTR salt2 = (LPSTR)"L2C-5781";
char key[255];

char GetText[0x25];
char lpVolumeNameBuffer[255];
LPDWORD lpVolumeSerialNumber;
LPDWORD lpMaximumComponentLength;
LPDWORD lpFileSystemFlags;

int main() {
  std::cout << "Please input a text(Max=25): ";
  std::cin >> GetText;

  if (!GetVolumeInformationA(NULL, lpVolumeNameBuffer, 0x32,
			     lpVolumeSerialNumber, lpMaximumComponentLength,
			     lpFileSystemFlags, NULL, NULL)) {
    std::cerr << "GetVolumeInformationA failed!" << std::endl;
    return 1;
  };

  lstrcatA(lpVolumeNameBuffer, salt1);


  for (int i = 0; i < 4; i++) {
    lpVolumeNameBuffer[i] += 2;
  }

  lstrcatA(key, salt2);
  lstrcatA(key, lpVolumeNameBuffer);

  std::cout << "Key: " << key << std::endl;
}

posted @ 2025-07-25 12:57  b_e_n  阅读(10)  评论(0)    收藏  举报