news 2026/7/19 3:42:37

新160个CrackMe054-vcrkme01、055-BCG Crackme、056-diablo2oo2‘s Crackme 01逆向分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新160个CrackMe054-vcrkme01、055-BCG Crackme、056-diablo2oo2‘s Crackme 01逆向分析

054

无壳

暴力破解

字符串查找找到相关跳转,将该跳转给nop掉即可获取破解版本软件

算法分析

先是获取用户名和序列号,之后将这两个参数利用函数调用,根据返回结果,判断跳转成功或者跳转失败

步进函数继续分析先是判断用户名和序列号的第一位是否相等,之后再判断序列号第二位是不是“-”,之后经过循环将用户名的每一位ASCII码值累加,再将和+0x6064,求出a

之后构造字符串“用户名第一位-用户名最后一位大写字母-a的十进制整数”之后再构造了一个整数b,b=a+0x6064

之后将十进制的数b添加到之前生成的字符串,生成真正的序列号“用户名第一位-用户名最后一位大写字母-a的十进制整数-b的十进制整数”

将生成好的序列号与用户输入的序列号进行逐位对比,不相等就直接跳转到函数末尾

最后可以生成keygen:

username=input("Input username:").strip() sum=0 serial='' for ch in username: sum+=ord(ch) sum+=0x6064 print(f"sum:{sum}") serial=username[0:1]+'-'+username[len(username)-1:len(username)].upper()+'-'+str(sum) print(serial) sum+=0x6064 print(f"sum:{sum}") serial+='-'+str(sum) print(serial)

055

ASPack壳

脱壳

暴力破解

X32dbg调用脱壳后的程序,可以发现他需要一个文件,还有一个神秘数字,在程序对应目录下创建文件之后在文件内填写神秘数字,继续运行分析程序

向下找到关键跳转,将该跳转给改成jmp即可获取破解版本软件

算法分析

验证存在文件,文件内容全为X,循环验证

056

无壳

暴力破解

根据字符串查找可以知道输入的字符串长度限制

关键跳转下断点可以发现,经过一个循环之后相等才跳转成功,直接将判断相等的跳转额判断序列号是否验证结束的跳转给改成jmp,判断序列号长度的前两个跳转给nop掉即可获取破解版本软件

算法分析

先是获取用户名判断长度是否在5-32之间,之后将前五个字符进行循环操作生成新的序列号,每个字符异或0x29再+(5-i),之后判断是否处在A-Z之间,如果不是就用0x52+(5-i)来作为新生成的序列号字符。这里的用例是admin,对应生成的前五个字符为MQGBH

之后再对前五个字符进行操作,先是异或0x27,再+(5-i)+1,将结果判断是否处在A-Z之间,如果不是就用0x4D+(5-i)来作为新生成的序列号字符。这里的用例是admin,对应生成的前五个字符为LHNQK

之后验证序列号是否为MQGBHLHNQK的变形为KZMKAFADZB,获取每个字符先+0x5如果ASCII码值大于‘Z’,则-0xD,之后再异或0xC,判断小于‘A’则将0x4B+字符串下下标作为生成后的字符,判断大于‘Z’则将0x4B-字符串下下标作为生成后的字符

可以生成keygen:

username=input("Input username:").strip() se1='' se2='' for i,ch in enumerate(username): if i==5: break char1=(ord(ch)^0x29)+(5-i) if char1<0x41 or char1>0x5A: char1=0x52+(5-i) se1+=chr(char1) for i,ch in enumerate(username): if i==5: break char2=(ord(ch)^0x27)+(6-i) if char2<0x41 or char2>0x5A: char2=0x4D+(5-i) se2+=chr(char2) se=se1+se2 serial='' for i,ch in enumerate(se): char=ord(ch)+0x5 if char>0x5A: char-=0xD char=char^0xC if char<0x41: char=0x4B+i if char>0x5A: char=0x4B-i serial+=chr(char) print(serial)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 3:40:36

SQL私教:基于AST与执行计划的语义级实时诊断工具

1. 项目概述&#xff1a;这不是一个“SQL题库”&#xff0c;而是一个会盯你姿势的教练我试过太多学 SQL 的方法——刷 LeetCode、看文档、抄别人代码、甚至对着 PostgreSQL 官方手册逐行默写。但直到某天深夜&#xff0c;我第 7 次把GROUP BY和WHERE的执行顺序搞反&#xff0c;…

作者头像 李华
网站建设 2026/7/19 3:40:32

Android图片加载优化:Glide核心原理与实战技巧

1. Glide核心价值与适用场景解析作为Android开发者&#xff0c;处理图片加载是日常开发中最频繁遇到的需求之一。从简单的头像展示到复杂的图片列表&#xff0c;图片加载性能直接影响用户体验。我在多个千万级DAU项目中验证过&#xff0c;Glide之所以能成为Android图片加载的事…

作者头像 李华
网站建设 2026/7/19 3:40:16

Ubuntu Server搭建PXE自动装机环境指南

1. PXE自动装机环境概述PXE&#xff08;Preboot eXecution Environment&#xff09;是一种通过网络引导操作系统的技术标准&#xff0c;它允许计算机在没有本地存储设备&#xff08;如硬盘、U盘&#xff09;的情况下&#xff0c;直接从网络启动并安装操作系统。在企业IT运维中&…

作者头像 李华
网站建设 2026/7/19 3:40:13

低代码机器学习:重构数据科学工作流的工程实践

1. 这不是“不用写代码”的幻觉&#xff0c;而是用低代码重构机器学习工作流的真实实践“Machine Learning with Low Code”这个标题&#xff0c;第一次看到时我笑了——不是笑它天真&#xff0c;而是笑自己十年前刚带团队做模型落地时&#xff0c;也天天在Excel里手搓特征、用…

作者头像 李华
网站建设 2026/7/19 3:40:08

2026年企业Agent平台盘点|5款主流工具选型指南

作为一家千人级制造企业的数字化负责人&#xff0c;过去半年我牵头完成了企业级Agent平台的全链路选型&#xff0c;前后对接了近十家服务商&#xff0c;中间踩过的最实际的坑就是初期选型忽略管控成本&#xff0c;后期团队扩容时权限混乱、资源消耗不可追溯&#xff0c;整体投入…

作者头像 李华
网站建设 2026/7/19 3:39:47

生产级机器学习服务落地:从Notebook到高可用API的工程实践

1. 项目概述&#xff1a;当模型走出Jupyter&#xff0c;真正开始呼吸真实世界空气“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句暗号&#xff0c;专为那些在Jupyter里调通了模型、画出了漂亮ROC曲线、却在部署时被现实迎面…

作者头像 李华