新CrackMe160之009 - keygenme1

汇编写的,代码不多,直接OD上看一遍源码,很容易发现关键算法在00401208,追码位置在0040131C(下个断点),
输入用户名:abcde,系列号:12345,断点处可得正确系列号:Bon-FFFFFE8E-FCFB18B8-41720F48
正常破解:

  1. 用户名0x4~0x32位
  2. sum += user[i] - 0x19, rlt1 = sum * -1
  3. rlt2 = rlt1 ^ 3
  4. rlt3 = 0x40E0F8 * 0x40E0F8 - 0x40E0F8 = 0x41720F48(固定)
  5. 系列号="Bon-" + rlt1 + rlt2 + rlt3
    注册机代码:
  #include <stdio.h>
  #include <string.h>

  int main() {
    char user[51] = {0};
    printf("输入用户名[4~50位]: ");
    fgets(user, sizeof(user), stdin);
    int i, len = strlen(user) - 1;
    int sum = 0;
    for(i=0; i<len; i++){
      sum += user[i] - 0x19;
    } 
    unsigned int rlt1,rlt2,rlt3;
    rlt1 = sum * -1;
    rlt2 = rlt1 * rlt1 * rlt1;
    rlt3 = 0x41720F48;
    printf("系列号为: Bon-%X-%X-%X\n", rlt1, rlt2, rlt3);
    getchar();
    return 0;
  }

运行示例:
输入用户名[4~50位]: abcde
系列号为: Bon-FFFFFE8E-FCFB18B8-41720F48

 
 
本节高手录制的视频,点击前往查看

 
 
 

使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-12-09 17:16  hankerstudio  阅读(10)  评论(0)    收藏  举报