新CrackMe160之143 - CrackTHEKey#02

OD载入程序,搜索界面定位到成功关键词00401191,向上直到Enter key:0040112B处, 查看IDA源码:

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char v3; // al@1
  signed int i; // esi@1
  int j; // esi@4
  int k; // esi@7
  char v7; // al@9
  char s2[52]; // [sp+Ch] [bp-68h]@8
  char s1[52]; // [sp+40h] [bp-34h]@1

  dword_40E774 = (int)fopen(path, mode);
  printf(format);
  scanf(aS, s1);
  v3 = s1[0];
  for ( i = 1; s1[i]; ++i ) //累加输入串
    v3 += s1[i];
  for ( j = 0; s1[j]; ++j ) //每一位又加上累加值
    s1[j] += v3;
  for ( k = 0; ; ++k ) //生成程序串
  {
    v7 = unknown_libname_3(dword_40E774);
    if ( v7 == -1 )
      break;
    s2[k] = v7;
  }
  if ( !strcmp(s1, s2) ) //关键对比 00401185
    printf(aRightKey);
  else
    printf(aInvalidKey);
  return getch();
}

在00401185处也下好断点, 输入伪码验证,来到此处,可以看到对比方法入参两个数,一个是输入串运算后的串,一个是程序生成的数存在内存0019FED4处,查看内容如下:
,0xFE,0xFA,0xDD,0xE1,0xE9,0xD5,0xEC,0xE1,0xD9,0xFE,0xFB,0xD5,0xFE,0x01,0xEE,0xF1,0xEA,0xD5,0xF8,0xED,0xF6,0xFE,0xD9,0xD5,0xF0,0xDD,0xF7,0xF5,0xEB
由上面算法可见, 输入串也得跟程序生成串一样长,需要29位, 注册机如下:

#include <stdio.h>

int main() {
	unsigned char code[30] = {0}, rlt[30] = {0xFE,0xFA,0xDD,0xE1,0xE9,0xD5,0xEC,0xE1,0xD9,0xFE,0xFB,0xD5,0xFE,0x01,0xEE,0xF1,0xEA,0xD5,0xF8,0xED,0xF6,0xFE,0xD9,0xD5,0xF0,0xDD,0xF7,0xF5,0xEB,0};
	int i,j,k,t,s;
	for(i=0; i<=0xFF; i++){
		s = 0; t = 0;
		for(j=0; j<29; j++){
			code[j] = (rlt[j] - i) & 0xFF;
			t += code[j];
			t = t & 0xFF;
		}
		if(t == i) { 
			printf("\nt=%X\n系列号: %s\n", t, code);
			printf("系列号(16): ");
			for(j=0; j<29; j++){
				printf("%02X ", code[j]);
			}
			//break;
		}
	}
	printf("\n结束");
	
	getchar(); return 0;
}

运行结果:
t=28
系列号: 忠倒镰墓敝迎仲粕颅信沃杯鹊贤?
系列号(16): D6 D2 B5 B9 C1 AD C4 B9 B1 D6 D3 AD D6 D9 C6 C9 C2 AD D0 C5 CE D6 B1 AD C8 B5 CF CD C3
t=A8
系列号: VR59A-D91VS-VYFIB-PENV1-H5OMC
系列号(16): 56 52 35 39 41 2D 44 39 31 56 53 2D 56 59 46 49 42 2D 50 45 4E 56 31 2D 48 35 4F 4D 43
两组答案都是正确的,但第一组最后一位是乱码,无法直接复制过去验证,所以只有第二组才能正常使用, 如果需要验证第一组,可以在OD中修正最后一位的值后继续验证即可

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

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

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

posted @ 2024-12-30 14:35  hankerstudio  阅读(7)  评论(0)    收藏  举报