CrackMe002:关键字符串思路(简单)

新160个CrackMe分析-第1组:1-10(上) 以前我想过去坚持把160个做完,但没坚持下来,近期总想着每天多多少少做点逆向练习,于是我打算去再次挑战,本次以这个师傅整理的为准进行逆向的练习,去扎实自己的逆向功底。查导入表:除去窗口绘制,消息循环用到的函数,这里还出现了文件操作相关函数,可能跟文件有关,结合上面的字符串搜索信息,应该需要一个CRACKME3.KEY的文件。然后经过一段窗口创建的操作之后,在进入消息循环之前,做了这样一个校验,校验文件内容是否正确,正确就弹框提示,正是通过刚刚push的al进行校验的。 阅读详情

下面是网上的160个CrackMe的部分逆向笔记,包括逆向思路、注册机实现和逆向中常用的知识整理

注意:逆向前一定要先操作一下软件,熟悉软件的运行现象

CrackMe002和CrackMe003是同一个作者用VB写的小程序;CrackMe002难度是一颗星,很简单
在这里插入图片描述

1.现象

运行软件,需要破解的是用户名/序列号;破解前可以输入很少的字符看看是否有字符的限制,本程序没有
在这里插入图片描述

2.逆向思路

step 1.错误提示

输入一组序列号和用户名,点击验证发现出现错误对话框,最有用的是错误的字符串You Get Wrong
在这里插入图片描述

step 2.关键跳转

通过错误字符串You Get Wrong,在OD中引用的地方设置断点;重新输入用户名和序列号进行验证,直到找到正确的断点命中位置,回溯找到关键跳转(0x402588)

在这里插入图片描述

step 3.关键跳转所在函数

在关键跳转所在的函数起始位置设置断点,重新输入用户名和序列号进行验证;断点命中后,下面是计算序列号的主要逻辑

  • 1.用户名计算序列号

计算用户名长度 –> 长度 * 0x17CFB,如果结果溢出则跳转 –> 结果加上用户名第一个字符的ASCII码,结果转成十进制

公式:strlen(用户名) * 0x17CFB + 用户名第一个字符ASCII码

在这里插入图片描述

  • 2.结果拼接

计算结果直接与AKA进行拼接,最后得到序列号

提示:如果细心的话,会发现真正的序列号在某一个时刻会在函数的栈帧(本案例就在ebp-20的地址处存储正确序列号AKA-682833)或寄存器上进行存储,会有这种现象是因为用正确序列号与用户输入的序列号进行比较,基本有2种情况:

  • 使用类似于strcmp的函数:此时正确序列号被压入stack中,当做参数
  • 使用类似于==的逻辑:此时存在eax等寄存器中

在这里插入图片描述

简单验证:使用用户名test123分析出来的序列号AKA-682833进行验证,发现逆向成功

step 4.注册机

下面是没有考虑边界条件的注册机的简单实现代码

#include "StdAfx.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
    char user_name[100] = {0};					//用户名
    printf("请输入用户名:");
    scanf_s("%s", user_name, 100);
    
    int user_serial = strlen(user_name) * 0x17CFB + user_name[0]; 	//关键计算
	char serial[200] = {0};
	char key[] = "AKA";						
    sprintf(serial, "%s-%d", key, user_serial);						//拼接
    printf("用户名:%s, 对应的序列号:%s\n", user_name, serial);
    system("pause");
    return 0;
}

注册机生成结果验证成功:
在这里插入图片描述

总结:本次逆向使用的还是关键字符串作为突破口,找到关键跳转和其所在函数,分析处理逻辑

3.参考

160个CrackMe之002 (破解过程写的详细太累,下面主要以自己破解过程中的思路为主,遇到问题将详细进行说明)首先使用PEID打开目标文件,可以看到目标文件是由VB编写,且没有加壳。 运行一个,看看是什么情况。输入123/456,出现如下提示: 以提示中的字符串入手,使用IDA打开程序,找到“You Get Wrong Try Again”这串字符(使用OD也可以找到,这个看个人喜好)。 使用OD打开程序,并来到字符串出现... 阅读详情

相关推荐

Virtuoso ADE Explorer实战技巧:从基础操作到高级仿真

本文深入解析了Virtuoso ADE Explorer在模拟电路仿真中的核心价值与实战技巧。作为Cadence平台的专业工具,它专为高效、系统化的设计空间探索而生,能大幅提升PVT验证、参数扫描和蒙特卡洛分析的效率。文章从基础界面操作、并行仿真管理,到高级的参数扫描、数据报告生成及蒙特卡洛结果深度剖析,提供了全面的避坑指南与工作流优化建议,帮助工程师从重复劳动中解放,专注于电路设计与性能优化。

ios99的博客 900

逆向入门之crackme002-BradSoblesky

逆向入门之crackme002-BradSoblesky

m0_57803259的博客 558

FPGA新手避坑指南:Vivado 2020.2里配置PLL IP核,从差分时钟输入到上板实测的全流程

本文详细介绍了在Vivado 2020.2中配置PLL IP核的全流程,包括差分时钟输入、参数设置、仿真验证及上板实测。针对FPGA新手常见的配置错误和硬件连接问题,提供了实用的解决方案和调试技巧,帮助开发者快速掌握时钟管理技术。

weixin_27051161的博客 488

破解练习-CRACKME002

直接使用提示字符串验证,得到错误提示如下:接下来使用重新加载或者附加,然后直接搜索字符串,只有一处引用,就很。双击跳到引用的地方,其中为函数地址,为函数地址,这里就是错误提示弹窗的地方。往上看,可以发现一个直接跳过错误提示弹窗的代码,那么的下一行代码(下图红框)大概是从别的地方跳过来的,那么下面就查看什么地方跳到此处选中该行,右键选中查找引用,然后选择选中的地址。可以看到有一处引用,这就很。双击跳到引用的地方,可以发现跳过的地方好像是正确提示弹窗代码,在此处下断点,然后运行程序,依旧使用提示字符串验证。断点

qq_67271037的博客 310

Comsol 弧形声学换能器声聚焦仿真

1. 弧度和曲率半径:弧形声学换能器的形状和曲率半径对声聚焦效果有重要影响。通常,较小的曲率半径和较大的弧度可以实现更强的声聚焦效果。弧形声学换能器声聚焦是指将声波能量集中在弧形声学换能器的特定区域内,以实现更强的声场强度和分辨率。4. 数值仿真和优化:使用声学仿真软件进行数值仿真可以帮助设计和优化弧形声学换能器的声聚焦效果。通过调整几何参数、材料特性和激励信号等参数,可以模拟和优化声聚焦效果。2. 激励信号:通过调整激励信号的频率和幅值,可以实现声波在弧形声学换能器中的聚焦效果。

声学黑洞仿真工作室 1618

通达信指标加密DLL加密解密三个公式源码准确率90%以上超级指标精准买卖绝世指标

通达信指标加密DLL加密解密三个公式源码准确率90%以上超级指标精准买卖绝世指标 1 超级指标 指标公式:买卖提示非常明显(适合通达信) 指标源码如下: M:3 100 60 N 3 100 30 散户线: 100*(HHV(HIGH,M)-CLOSE)/(HHV(HIGH,M)-LLV(LOW,M));RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,5,1); D:=SMA(K,3,1); J:=3*K-2*D;主力

m0_60244077的博客 3万+

160个CrackMe之002Afkayas.1破解思路

 0x01:    我们先查下有没有加壳 可以看到没有加壳并且是一个VB的程序0x02:我用的win10 x64位专业版 提示找不到什么什么缺什么我们就给他什么到网上百度一个或者用这个链接 下载后置于同一目录 即可正常运行程序链接: https://pan.baidu.com/s/1nWKIH7rIej5dD1uh00gQBA 密码: vaui    运行后报错 发现关键字符串0...

iqiqiya的博客 1249

Far planner代码系列(2)

graph_decoder系列(2) 承接上文 我们接着来看decoder_node.cpp的代码部分 void GraphDecoder::Init() { /* initialize subscriber and publisher */ //graph_sub_ 订阅节点/robot_vgraph 其类型是visibility_graph_msg/Graph的消息 graph_sub_ = nh.subscribe("/robot_vgrap...

博客 1534

crackme 杂记002

实现dll劫持: 首先我们需要使用到工具:AheadLIB,这个工具可以帮我们生成dll文件的cpp代码。 什么是dll劫持,就是利用程序运行时会通过搜索名字来运行dll文件的方式,自己生成一个同名的dll文件,并且放在程序的同目录下,从而使程序会使用我们自己生成的dll文件,当然程序仍会使用系统的dll文件,因为我们自己生成的dll文件有系统dll文件的入口,否则我们就需要将系统的dll文件的代码全部生成,那样工作量会非常大,所以dll劫持的意思就是先加载我们的同名dll文件然后继续运行系统的dll文件。

goat_2003的博客 350

YOLOv11改进 | 融合改进篇 | 利用尺度统一检测头DynamicHead融合P2增加小目标检测层(让小目标无所遁形)

本文给大家带来的最新改进机制是针对性的改进,针对于小目标检测增加P2层针对于大目标检测增加P6层利用DynamicHead(原版本一比一复现,全网独一份,不同于网上魔改版本)进行检测,其中我们增加P2层其拥有更高的分辨率,这使得模型能够更好地捕捉到小尺寸目标的细节。我们增加P6层是一个较低分辨率但具有更大感受野的特征层。对于大尺寸目标,这意味着模型可以更有效地捕捉到整体的结构信息。在这些的基础上我们配合DynamicHead可以使模型根据不同尺寸的目标动态调整其检测策略,进一步提升模型的精度。

Snu77的博客 3955

光学系统仿真软件:OSLO_(13).衍射光学元件设计v1

目标函数是设计DOE的关键步骤之一。目标函数可以是一个具体的光强分布,也可以是一个特定的波前形状。在仿真软件中,目标函数通常用数学表达式或数据文件来定义。假设我们需要设计一个二元相位掩模,使其在特定位置生成三个焦点。我们可以定义一个目标函数来描述这三个焦点的光强分布。# 定义目标函数"""定义一个多焦点目标函数:param x: 横坐标:param y: 纵坐标:param z1: 第一个焦点的深度:param z2: 第二个焦点的深度:param z3: 第三个焦点的深度。

kkchenjj的博客 1003

CrackMe160 学习笔记 之 002

前言 打开程序,是一个很简单的界面。看来是要我们根据用户名写出对应的序列号。 如图。 分析 输入任意字符,搜索字符串 "You get Wrong" "Try Again" , 找到判断关键跳转的地方。 00402579 . 66:85F6 test si, si 0040258B . 74 58 je short 004025E5 004...

无 450

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

逆向分析CrackMe系列——CrackMe002

逆向分析CrackMe系列——CrackMe002 这次进行CrackMe002的逆向分析 AfKayAs (本系列的CrackMe资源均来自我爱破解网).   1. 运行程序,随机输入,进行弹窗: 2. 进行关键程序位置查找:     两种思路: 用相关工具进行源程序分析(如PEID),分析出其是否加壳以及其编程语言(此处未加壳,语言为VB);然后对VB中相关的窗口函数进行下断即可。 利用字符串查找(本次分析采用的方式): 1) 在OD中打开程序并且运行,进行弹窗后(不要进行暂停),在主窗口程序中搜索

草草君 1452

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【逆向入门】 CrackMe160-002 分析思路

CrackMe160-002 爆破思路 同001,从调用堆栈找到关键函数,进入 稍微向上翻一下即可看到字符串(字符串前面的L说明该字符串是由Unicode编码) 在转储中右键->十六进制->拓展ASCII 即可查看Unicode 有点偏题了。。那么按照001的思路这里可以同样的爆破,就不赘述了,把重头戏还是放在序列生成比较好 序列生成 老样子,这里断点打到判断之前,不过并没有发现类似cmp这样的指令,于是乎我考虑断点再段前面一些 00402310 | 55

mastergu2的博客 857

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Crackme002-AfKayAs(OD版本)

Crackme002-AfKayAs(OD版本)

weixin_60363168的博客 290

[反汇编练习] 160个CrackMe之002

[反汇编练习] 160个CrackMe之002。 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注册机的东西。 其中,文章中按照如下逻辑编排(解决如下问题): 1、使用什么环境和工具 2、程序分析 3、思路分析和破解流程 4、注册机的探索 1、工具和环境...

LindaXu1220的博客 256

(160CrackMe)002_Afkayas.1

(160CrackMe)002_Afkayas.1 运行程序查看有什么功能。 依旧是name/Serial,用OD加载,先到0x400000附近查找字符串,找到关键跳转。 那么产生注册码的算法就在附近,向上寻找哪里用到了输入的name ,找到关键算法。 由于001在16进制转10进制那里被坑了,所以这次机智的直接拿计算器转换了一下,发现最后确实是16进制转10进制的函数,最后再...

Nothing 245

逆向分析CrackMe系列——CrackMe003

逆向分析CrackMe系列——CrackMe004 本次进行CrackMe003的逆向分析,前面分析的crackme难度都是一颗星,这次来试试两颗星的 ( ̄▽ ̄)* (本系列的CrackMe资源均来自我爱破解网). 1.运行程序,发现先出现一个小的nag提示面,然后弹出主程序框: 2. 先拿PEID检查一下,用VB编写,无壳: 3. 先绕过nag窗口,第一次除nag,该过程参考大佬分析 至于为什么要除nag窗口,个人认为在用OD打开未去nag的程序时,很难找到相关的字符串或者其他的有效信息;当然也

草草君 1059

160crackme002

一.查壳 结果:vb写的,并且无壳 二.运行程序 发现了这个程度调用了vb调用窗口的api。这时有两种方式: 1.再重新调试,运行到有窗口的时候,F12暂停,按ctrl+K,查看dll调用,再数据窗口跟随进入,相应的汇编。 2.中文智能搜索找字符串 以上两种,可以自由选择,哪个方便用哪个。 三.找到对应的字符串后,看看哪里有跳转 找到了这个跳转那么直接改成nop或者jmp,就爆破成功,没什么...

YenKoc的博客 285

160个CrackMe 002 Afkayas.1

首先,同样的操作,PEID查壳: VB的程序,没有壳,OK,注意一下VB中的函数就可以了,这里推荐一个微博,总结了在逆向中常用到的VB的函数 VB程序逆向反汇编常见的函数 试着自己运行: OD运行起来,右键,查找,查找所有参考文本字符串,找到错误字符串的位置 看到我们的错误字符串了,You Get Wrong,并且在上面还发现了应该是正确的字符串,...

dihuang7499的博客 317

160CrackMe:002-abexcm5

160CrackMe:002-abexcm5

洛柒尘的博客 583

CRACKME_CKme002_编号 5 逆向

CKme002逆向 CRACKME系列会持续更新 程序简介 这个程序目前我只能爆破 他这个输入注册名后会应为setTimer来触发,比较成功后鼠标放置界面上会提示注册成功,且注册按钮会变成注册了 但是通过delph的反编译工具看到还有一个序列号的编辑框控件,尝试跟踪无果,最后只是爆破了此程序 爆破 刚开始我是直接搜索中文字符串找到了,成功注册的字样,然后开始下断,nop掉几个跳转就成功爆破了 然后再这个函数头下断,点击运行,输入名字,等待timer的触发 nop掉这五个跳转,让其顺利的往下执行

hgjiayou的博客 339

【CrackMe】002-Afkayas.1

昨天搞了第一个CrackMe,一星的就如此变态,好吧,硬着头皮开搞第二个,相信有一天我也能轻松搞定。 一、查看程序信息 嗯,VB程序,没壳,希望逻辑不要太变态。 二、熟悉程序 看起来很简单很无害的界面。 无论输入数字、字母、超长信息,都是一样的提示 三、分析程序 1.先从提示信息下手 运行程序,搜索字符串。 竟然没有You Get Wrong之类的字符串,...

SMOne 579

160个破解练习之CrackMe 005 CKme002

注:分析的过程借鉴了吾爱论坛的一篇文章  文章地址: https://www.52pojie.cn/thread-366291-1-1.html 首先打开软件,界面如下: 输入用户名点击注册按钮没有任何反应,因为有了第四题的经验,直接用Dark打开软件分析事件函数:         可以看到,这个软件注册的函数有:窗口创建完毕、按钮鼠标按下、面

a545958498的博客 2225
上一篇: CrackMe001:关键字符串思路
下一篇: CrackMe003:NAG窗口(4C法)和浮点计算
磨刀砍柴Debug
博客等级 码龄8年 1561粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值