4 160Crackme第四个之ajj.1 和 自动注册程序

2024-01-25 06:20

本文主要是介绍4 160Crackme第四个之ajj.1 和 自动注册程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 打开软件熟悉

在这里插入图片描述

发现没有提示
看下介绍信息

在这里插入图片描述

2 找到切入

发现是Delphi编写
没有 接触过 搜索下Delphi反汇编
发现有个工具叫DeDeDark 中文的 下载然后分析

在这里插入图片描述

发现有点击的事件 是0x457E7C 和 0x457FB8 其中叫chkcode 是0x457C40 有点可疑
打开x96dbg看下 在单击的地方下个断点 然后稍微看下

3 具体分析

名称注册码使用 12345678 987654321

在这里插入图片描述

然后 Enter 确定
在这里插入图片描述

发现出来一串奇怪字符串
黑头Sun Bird14dseloffc-012-OK123456789 输入注册码

在这里插入图片描述

发现出现了图片
好的我们重新回去尝试破解

4 开始破解

1 直接在这个函数的入口下断点

在这里插入图片描述

发现自己出现的我们的注册码 我们思考 这个教chkcode 应该是检测通过一些手段返回 成功是否
我们找到会传递我们的注册码的
在这里插入图片描述

这个明显可以猜想是比较的 先nop下 证明是的 所以我们需要研究
“黑头Sun Bird14dseloffc-012-OK123456789” 是怎样来的
重新回到开头

在这里插入图片描述

我们在这就可以看出 不对劲 它先是分开 这个注册码的 中间的14 和后面的123456789都没有
这不就是说明那个是根据名称得到的吗
我们看验证下 就可以知道 14是名称的长度 后面是名称
先往下看
在这里插入图片描述

这先把14转位字符串 如果不确定据把这个改掉(前面数据)

在这里插入图片描述

又单独来个 名称 然后拼接 就不难知道注册码的规律

5 加密总结

注册码=黑头+ Sun Bird+(长度+5)+dseloffc-012-OK名称

6 编写程序(获得类名和窗口名称 可以使用spy++开源项目)

在这里插入图片描述

#include <Windows.h>
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{srand(time(NULL));HWND Handle = FindWindowW(L"TForm1", L"快想办法注册呀!  Ver: 1.0版");HWND HandleRegistration = FindWindowExW(Handle, NULL, L"TEdit", NULL);HWND HandleName = FindWindowExW(Handle, HandleRegistration, L"TEdit", NULL);HWND HandleCliek = FindWindowExW(Handle, NULL, L"TPanel",NULL);CString str = L"天晨";int Name = rand();CString str2;str2.Format(L"%d", Name*1000);CString str3;//注册码=黑头+ Sun Bird+(长度+5)+dseloffc-012-OK名称str3.Format(L"黑头Sun Bird%ddseloffc-012-OK%s", str2.GetLength()+5, str2.GetBuffer());//SendMessageW(Handle, WM_SETTEXT, 0, (LPARAM)str.GetBuffer());SendMessageW(HandleName, WM_SETTEXT, 0, (LPARAM)str2.GetBuffer());SendMessageW(HandleRegistration, WM_SETTEXT, 0, (LPARAM)str3.GetBuffer());//那个照片的响应好像多时候点不出.....//SendMessageW(HandleCliek, WM_LBUTTONDBLCLK, 0, NULL);//Sleep(10);//SendMessageW(HandleCliek, WM_LBUTTONDBLCLK, 0, NULL);
}

需要自己点 …我有时自己点都没有用 不太明白
在这里插入图片描述

7 其他

1 其实可以自己查找字符串 一样的 有个注册成功

这篇关于4 160Crackme第四个之ajj.1 和 自动注册程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/642355

相关文章

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制