160个CrackMe之002

news/2025/6/6 8:39:55

这道题就很简单

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

首先 我们先要下载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))

 

 

文章来源:https://blog.csdn.net/m0_64180167/article/details/131053427
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-4633507.html

相关文章

SpringBootWeb案例-2(下)

3. 修改员工 需求:修改员工信息 在进行修改员工信息的时候,我们首先先要根据员工的ID查询员工的信息用于页面回显展示,然后用户修改员工数据之后,点击保存按钮,就可以将修改的数据提交到服务端,保存到数据…

PG数据库提示: FATAL: sorry, too many clients already

目录 场景: idea启动提示如下错误 翻译: 连接数相关查询: 原因分析: 解决方法: 场景: idea启动提示如下错误 org.postgresql.util.PSQLException: FATAL: sorry, too many clients alreadyat org.pos…

python数据分析学习笔记之matplotlib、numpy、pandas

为了学习机器学习,在此先学习以下数据分析的matplotlib,numpy,pandas,主要是为自己的学习做个记录,如有不会的可以随时查阅。希望大家可以一起学习共同进步,我们最终都可以说:功不唐捐&#xff…

跟着LearnOpenGL学习6--变换

文章目录 一、前言二、向量2.1、向量与标量运算2.2、向量取反2.3、向量加减2.4、长度2.5、向量相乘 三、矩阵3.1、矩阵的加减3.2、矩阵的数乘3.3、矩阵相乘 四、矩阵与向量相乘4.1、单位矩阵4.2、缩放4.3、位移4.4、旋转4.5、矩阵的组合 五、变换实战5.1、GLM配置5.2、GLM测试5…

.net core 中的startup类详解

Startup类是ASP.NET Core Web应用程序的入口点之一,该类定义Web应用程序的配置,包括中间件和各种服务的配置。Startup类通常包含两个方法ConfigureServices和Configure。 1. ConfigureServices方法 ConfigureServices方法是用于配置应用程序的服务提供程…

oracle存储过程游标的使用(批号分摊)

create or replace procedure pf_st2(in_billno in integer) is begin delete from kk_bal; commit; declare --类型定义 cursor cur_orderdt is select goodsid,entid,billno,billsn,basenum,0 as temp from saleorderdt where billno in_billno; --定义一…

Java核心知识点常考面试题(持续更新中)

Java核心知识点常考面试题(持续更新中) 线程与线程池Java锁机制轻量级锁重量级锁 线程与线程池 一、线程 1、线程的状态 2、线程的创建方式 (1)继承 Thread 类; (2)实现 Runnable 接口&#…

北京云服务器安装anaconda、cuda、cudnn、torch流程

安装顺序:Anaconda->cuda->cudnn ->torch(根据cuda安装torch) 1读取anaconda module load anaconda/2020.11 2读取cuda cudnn module load cuda/11.1 cudnn/8.2.1_cuda11.x (查看cuda版本: nvcc -V) 3运行脚本 sbatch train.sh 脚本写法 #!/bin/bash #SB…

QT 5.14 和 VS2017脱机离线安装记录

QT 5.14是最后的离线安装版本,都推荐这个。看了下,官方建议搭配 VS2017/VS2015 VS版本对于QT,我一直偏好社区版,只要编译器就够了,自己加上SDK目录。因为大部分工作都是在QT内完成。VS2017的离线安装比较复杂&#xff…

6.5---每天一点点--- Java基础之static关键字(总复习+深入版)---详细+举例(小白也能看懂)

static关键字在Java中存在的主要原因是为了实现**类级别的数据和方法,而不是实例级别的。**它可以使得某些变量或方法在所有该类的实例之间共享,从而提高代码的效率和可维护性。 当我们在Java中创建一个类时,每个对象都有自己的一组实例变量和…