当前位置: 首页 > news >正文

160个CrackMe之002

这道题就很简单

有了第一道题目的支持 我们就能做

首先 我们先要下载Msvbvm50.dll

Msvbvm50.dll下载_Msvbvm50.dll最新版下载[修复系统丢失文件]-下载之家

然后我们可以运行程序了

 比之前那个还简单

就是输入 然后比对 报错或者成功

开始逆向分析

先去常量中进行查找

 找到了 这里就是我们输入错误的报错

爆破

所以我们进去看看

 这里一下就能看懂 ollydbg给我们了 je的跳转 就是跳转到报错

我们只需要把跳转改为nop即可

 这道题的爆破相当简单

算法

算法才是头疼的 但是也不难 我们发现爆破的je跳转 我们就在上面找到

这个程序运行的开头

 一般都是先压入ebp来保存前面的地址 然后调用程序

我们重新开始运行 然后输入一个自己这次记住的id

 我选择12313

出发断电

触发断点

 开始F8进行单步调试

 运行到这个的时候 出现了12313 说明读取了我们的id

 我们能发现这里 eax为5

经过尝试 这个就是读取长度 或者我们可以直接搜索上面的函数

 说明就是长度 len(12313)=5

 

 这里发生计算

我们可以自己计算一下 就是5*17CFB

 

 发现是 770E7

 这里就是把 EDX变为 31 不管你换一个id 也是一样 说明就是把常量31存入edx

下一条就是把edi和31进行加法 edi里面是 770E7

 

 得出来是77118

然后是10进制是487704

然后在后面的爆破中 能发现就是10进制的 加上AKA-的前缀

 于是我们可以开始写注册机

a=input("输入你的用户名来取得序列号:")
b=len(a)
c=b*0x17CFB
d=c+0x31
print('AKA-'+str(d))

 

 

http://www.lryc.cn/news/92221.html

相关文章:

  • 3. 响应状态码及Response对象的status_code属性
  • MIME 类型列表 03
  • SpringBoot项目登录并接入MFA二次认证
  • 算法与数据结构(三)
  • 亚马逊云科技出海日,让数字经济出海扩展到更多行业和领域
  • Pb协议的接口测试
  • 2. 分布式文件系统 HDFS
  • 借助金融科技差异化发展,不一样的“破茧”手法
  • typescript中type、interface的区别
  • Ingress详解
  • 【递归算法的Java实现及其应用】
  • 2023年度第四届全国大学生算法设计与编程挑战赛(春季赛)
  • 如何用PHP获取各大电商平台的数据
  • 一站式完成车牌识别任务:从模型优化到端侧部署
  • Linux4.8Nginx Rewrite
  • DHT11温湿度传感器
  • RestTemplate超简单上手
  • 监控系统设计原则及实现目标
  • VulnHub项目:MONEYHEIST: CATCH US IF YOU CAN
  • 对象存储OSS简介,一分钟了解对象存储OSS
  • SpringCloud_微服务基础day2(Eureka简介与依赖导入,服务注册与发现)
  • #tmux# #终端# 常用工具tmux
  • 后端服务架构高性能设计之道
  • Python中的Time和DateTime
  • UNIX网络编程卷一 学习笔记 第十九章 密钥管理套接字
  • excel如何实现识别文本在对应单元格填上数据?
  • Groovy 基本语法
  • 系统学习IT技术的方法与实践
  • 聊聊TCP协议的粘包、拆包以及http是如何解决的?
  • 一百二十、Kettle——用kettle把Hive数据同步到ClickHouse