作者:selph
目录:
•001-前言1
•002-abexcm52
•003-CrueheadCM33
•004-AcidBytes.24
•005-Andrénalin.15
•006-ArturDents-CrackMe26
•007-reg7
•008-Afkayas.18
•009-Boonz-KeygenMe1
•010-ceycey10
6-10(关注下期文章)
1.001-前言
新160个CM来自:新160个CrackMe算法分析-001-简介_哔哩哔哩_bilibili
视频课件下载,百度网盘:百度网盘 请输入提取码 提取码:z2i6
前言
这位师傅整理了新160个CrackMe和配套的逆向视频来帮助新手练习逆向技能,逆向的基础便是阅读反汇编的能力,这正是本练习的核心所在
以前我想过去坚持把160个做完,但没坚持下来,近期总想着每天多多少少做点逆向练习,于是我打算去再次挑战,本次以这个师傅整理的为准进行逆向的练习,去扎实自己的逆向功底
这个师傅提供了逆向的讲解视频,主要是基于OD动态调试分析的以及VB版本的注册机编写
这里我从另一个视角去完成本系列文章:以IDA静态分析为主,x86dbg动态分析为辅,完成程序的调试和分析,使用C++/C# 编写注册机
欢迎有兴趣的童鞋来探讨交流~
本系列难度星级:
CM难度评星标准按视频里的走:
算法:
–⭐:明文字符串操作
–⭐⭐:很容易看懂的算法
–⭐⭐⭐:算法复杂但容易看懂,or 算法简单但不容易看懂
–⭐⭐⭐⭐:算法难,看懂难
–⭐⭐⭐⭐⭐:分析不出来,以后回来做
爆破:
–⭐:静态分析就能找到关键跳
–⭐⭐:回追一层,或修改2个点的
–⭐⭐⭐:回追二层以上,或修改超过2个点的
–⭐⭐⭐⭐:回追多层,修改点难找且多
–⭐⭐⭐⭐⭐:暂时无法破解,以后回来做
2. 002-abexcm5
爆破难度:⭐
算法难度:⭐
信息收集
运行情况:输入序列号,输入错误会提示错误并退出程序,这是个验证序列号的程序
查壳:无壳
查字符串:有提示语,疑似硬编码的字符串
查导入表:使用了字符串操作类的函数,以及GetVolumeInformationA函数,不知道序列号生成跟这个有无关系
到现在已经知道了软件大概的运行流程:获取用户输入,对用户输入进行一些处理,然后弹框提示
逆向分析
IDA里选择MessageBoxA函数查交叉引用,跟踪到函数sub_401056中,这是CM的校验逻辑所