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

相关文章

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Python Excel实现自动添加编号

《PythonExcel实现自动添加编号》这篇文章主要为大家详细介绍了如何使用Python在Excel中实现自动添加编号效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍简单的说,就是在Excel中有一列h=会有重复

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.