吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5282|回复: 11
收起左侧

[CrackMe] 面向 Cheat Engine 的 CrackMe 简单的数据保护

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

本帖最后由 Ganlv 于 2019-4-1 21:23 编辑

CrackMe 文件下载

包含 a.exe 程序,main.c 源代码,README.md 说明文件。

先不要源码哟,先尝试破解哦。

使用方法

  1. 解压到一个文件夹中。
  2. Shift + 右键在此处打开命令行(或者是 Powershell)。
  3. 执行 chcp 65001 把命令行改成 UTF-8 字节集。
  4. 执行 a.exe
  5. 使用 CE 愉快地玩耍吧。

玩法

这个小游戏包含多个关卡,关卡的目标是一样的,但是血量数据的存储方式是不一样的:

您现在的血量是 100,每按一次回车,血量都会减少,把血量改成大于 100 的数值则可过关。

程序逻辑执行顺序:

  1. 显示当前血量
  2. 判断是否大于 100
  3. 如果大于 100 则过关
  4. 否则等待回车
  5. 血量减少,并回到第 1 步。

进入关卡后,输入 q 再按回车即可返回主菜单。

包含关卡(1 ~ 9):

使用 CE 搜索内存,然后修改内存。数据在内存中存储的方式是不一样的,你需要找到不同的数据结构。

当然如果你使用 x64dbg 直接分析反汇编那就太简单了,毕竟这个 C 语言程序总共代码也没有多少,定位到关键代码一点都不麻烦。真正的游戏程序不会让你这么轻易找到关键代码的,你应该试试能不能根据内存变化找到关键代码。

  • 关卡 1-3 简单地直接搜索即可。
  • 关卡 4-6 需要用未知初始值和改变的数值模糊搜索,然后反汇编分析算法。
  • 关卡 7-9 是我自己想的方法,看源码的话原理不是特别难以理解,但是的确很烦人,我自己都没有找到通用的方法来应对这种加密方法。

本帖子中包含更多资源

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

x

免费评分

参与人数 5吾爱币 +11 热心值 +5 收起 理由
lm180180 + 1 + 1 用心讨论,共获提升!
henryc9 + 1 + 1 我很赞同!
57yn + 1 + 1 给大佬递热心值
不懂破解 + 2 + 1 这个 CrackMe 好玩
CrazyNut + 6 + 1 膜拜Ganlv大牛

查看全部评分

本帖被以下淘专辑推荐:

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

monvvv 发表于 2019-4-2 14:13
Ganlv 发表于 2019-4-1 21:28
其实 CE 的问题就是没法简单地联合搜索,不过它支持用 Lua 自定义复杂搜索,。

主要想搜索到地址首先就得大致的猜到使用的数据结构,只要起码能模糊的知道保存的方式,不管怎么样都是能找到数据的。问题是在不考虑性能的情况下可能的保存方式太多了,
monvvv 发表于 2019-4-1 16:04
试了下,前6个没什么好说的。第7个可以直接通过模糊搜索找到最后一位的地址,第8和第9不看提示很难找到,但根据提示就比较容易了。
各种五花八门的编码方法用ce根据内存变化搜索确实没什么好办法,用调试器的话又违反了找数据的初衷。
dokuro 发表于 2019-3-31 23:22
孤独的Provence 发表于 2019-4-1 07:46
有时间可以玩玩,挺有意思的
wangyujie96 发表于 2019-4-1 17:30
找到数据地址之后,找什么改写了此地址,然后sub 1改成add ff ……
qingyf 发表于 2019-4-1 18:59
本帖最后由 qingyf 于 2019-4-1 19:04 编辑


第六关没过的去。。。。。。。。。。。。。。



还是不行

本帖子中包含更多资源

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

x
 楼主| Ganlv 发表于 2019-4-1 21:26
qingyf 发表于 2019-4-1 18:59
第六关没过的去。。。。。。。。。。。。。。

代码的 bug,修改完的数据必须是 100~128 之间才行。我修改了几行代码,重新上传附件了。

BIGGER_THAN_100 那个宏写错了,所以如果数特别大就不行了。
 楼主| Ganlv 发表于 2019-4-1 21:28
monvvv 发表于 2019-4-1 16:04
试了下,前6个没什么好说的。第7个可以直接通过模糊搜索找到最后一位的地址,第8和第9不看提示很难找到,但 ...

其实 CE 的问题就是没法简单地联合搜索,不过它支持用 Lua 自定义复杂搜索,。
57yn 发表于 2019-4-26 11:31
感谢分享,刚好可以拿来练练
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-21 22:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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