吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 537|回复: 2
收起左侧

[CrackMe] 第三个C++无壳CrackMe

[复制链接]
hxr1023 发表于 2024-9-2 22:36
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 hxr1023 于 2024-9-3 20:52 编辑

今天把算法改良了一下,不再那么若不禁风了
顺带改良了一下检测
大家加油!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

爱飞的猫 发表于 2024-9-4 03:36
你这是… 改良到每次启动随机化了?

不借助第三方工具没法得到它的值:

[Asm] 纯文本查看 复制代码
  rand_device = std::_Random_device();          // 随机化是几个意思???
  v14 = -1;
  i = 1;
  v13[1] = rand_device;
  do
  {
    rand_device = i + 1812433253 * (rand_device ^ (rand_device >> 30));
    v13[++i] = rand_device;
  }
  while ( i < 0x270 );
  v13[0] = 624;
  v8 = 801i64 * sub_401920((unsigned int *)v13);
  if ( (unsigned int)v8 <= 0x1E9 )
  {
    do
      v8 = 801i64 * sub_401920((unsigned int *)v13);
    while ( (unsigned int)v8 < 0x1EA );
  }
  g_seed = (HIDWORD(v8) - 0x7FFFFF38) ^ 0x80000000;


固定一下 seed 为 0x233,然后补丁原始程序,让它自己报告密文:

[Asm] 纯文本查看 复制代码
<$crackme3.42aa>
    mov eax, 0x233

<$crackme3.2f57>

	cmp byte[eax], 0
	je $crackme3.2f77
	
	call @__msgbox
	jmp $crackme3.2f77
	
@__msgbox:
	push ebp
	mov ebp, esp
	push esi
	push edi
	push 0
	push eax
	push eax
	push 0
	jmp $crackme3.2289
	
<$crackme3.2296>
	nop
	nop
	nop
	nop
	nop


自动报告的密钥是 152272252492492402110510510510510710010710210010199。



还有个调试器检测,对 scyllahide 没啥用,值恒定等于 0x7ff。
YuGuo0709 发表于 2024-9-4 13:02

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-31 16:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表