首页
社区
课程
招聘
[原创]160Crackme之Acid burn和自动注册程序
发表于: 2022-3-11 21:55 10626

[原创]160Crackme之Acid burn和自动注册程序

2022-3-11 21:55
10626

1 实现打开软件熟悉下
图片描述
先分析第一个 注册码和名称
图片描述
发现不正确会提示
图片描述
2 x96Dbg附加
将MessageBox -A -W -ExA -ExW 全都下断点 注意下到返回的地方
图片描述
在MessageBoxA 断下了 然后我们F7

我们到了这个地方
图片描述
先观察下 发现并没有检测
3 然后 ctrl+F9 跳到上一级
图片描述
明显是判断的

#1 简单方法直接nop

图片描述
图片描述

#2 分析下名称和注册码
图片描述
edx 是我写的 猜测eax=CW-4018-CRACKED 是注册码 在之前改调edx的内容改为 eax
发现也成功的 然后我们改变名称 发现 注册码不一样了
4 观察发现 注册码是在上面得出 在这一级的头部下断点
图片描述
F8往下跟
看传参和返回
图片描述
这里出现的4018注册码
进来函数发现是得到eax的
图片描述
确定eax=431750然后高亮[431750]
图片描述
重新来一遍 在42F9B5下断点 在内存查看431750 记得刷新 可以使用CE 和内存断点'
这边使用的是内存断点

#define [431750] 值
图片描述

图片描述
这里开始
movzx一般用于将较小值拷贝到较大值中
eax=0x31 =='1'
imul 有符号乘法,将被乘数与乘数均作为有符号数

检验
图片描述
第一个字符是'2'==50
(4150)2=4100

图片描述

成功

算法 注册码=CW-(string_name[0]41)2-CRACKED

5 我们最后做个一键填写名称和注册码的机器 下面源码

运行即
图片描述
7 第二个简单提下
仿造上面即可 serial=Hello Dude!

 
 
0042FAFE    | E8 F93EFDFF               | call acid burn.4039FC
0042FAFE    | E8 F93EFDFF               | call acid burn.4039FC
 
 
=41  // ov dword ptr ds:[0x00431750], 0x29
=41  // ov dword ptr ds:[0x00431750], 0x29
=*第一个字符  =2009  本例中 第一个字符是'1'=0x31=49
 
mov eax, 50dword ptr ds:[0x00431750]
add dword ptr ds:[0x00431750], eax
 
这二句应该都看得懂 就是 值=+值 就是值*2 
完整得出答案
=*第一个字符  =2009  本例中 第一个字符是'1'=0x31=49
 
mov eax, 50dword ptr ds:[0x00431750]
add dword ptr ds:[0x00431750], eax
 
这二句应该都看得懂 就是 值=+值 就是值*2 
完整得出答案
 
 
 
 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 597
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2

一直疑惑8528,5904,4018是怎么随机变化的。跟帖学习中。

最后于 2022-3-18 13:17 被benbird27编辑 ,原因:
2022-3-18 13:15
0
雪    币: 26245
活跃值: (63297)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
将实例上传到论坛 一份?
2022-3-23 11:09
0
游客
登录 | 注册 方可回帖
返回
//