软件安全、逆向分析、加密与解密--crackme2详解

本次使用到的软件有:PEiD、IDA、X32dbg

刚学逆向不久,可能有些地方会有错误,欢迎各位大佬指导

执行

运行程序

点击About

点击确定,输入如图数据

点击try Now

点击确定,回到主界面

点击Exit,退出

查壳,使用PEiD打开

可以看到,这个程序使用MASM32/TASM32编程得到,没有加壳。使用PEiD中的插件Krypto ANALyzer,可以看到程序使用的MD5加密算法,并显示地址000004C3::004010C3

在IDA中打开程序,点击G键

在窗口中输入004010C3,点击确定,跳转到MD5算法的函数代码中

向上得到该地址位于函数sub_401000中,猜想由函数sub_401000执行MD5算法

点击sub_401000后点击X键

点击确定,在伪代码中看到sub_401000被调用的地方

点击tab键转到流程图

点击空格键

得到函数sub_401000被调用的地址

.text:00401B13                 call    sub_401000

在流程图中看到调用函数GetDlgItemTextA 后进行跳转,猜想GetDlgItemTextA为关键函数

空格键转到代码中,得到调用函数GetDlgItemTextA的地址

.text:00401AA3                 call    GetDlgItemTextA

空格键回到流程图,可以看到还有另外一个类似的函数lstrcmpA,在调用后进行判断并跳转

空格键转到代码中,可以看到函数lstrcmpA被调用的地址

.text:00401B27                 call    lstrcmpA

打开x32dbg进行动态调试,在刚才找到的三个关键地址处使用F2断点

开始执行程序,在地址004019E4处停下

F9继续运行,弹出程序窗口,输入如下数据

点击try now,程序继续运行,在断点00401AA3处停下

点击F8

右键在内存窗口中转到cm-2.403380,在内存窗口的内存1中显示为,是输入的数据name

F9,在第二个断点00401B13处停下,此处调用函数sub_401000

使用F7单步跟进

看到右侧隐藏FPU处如图所示,右键点击EDI,在内存窗口中转到窗口1,是输入的数据,存放在地址为00403380的内存中

右键点击ESI,在内存窗口中转到窗口2,地址为004056A8

右键点击EIP,在内存窗口中转到窗口3,地址为0019F89C

F9进入地址为00401B27断点处

此时内存窗口2为

在右侧窗口中看到有

右键点击2.esp+4转到内存窗口,地址为004079D0,可在内存窗口看到,猜测为Serial

点击F8

跳转到

可猜想地址 00401B2E处 指令jne cm-2.401B45是关键指令,判断是否登录成功的关键指令。

双击该指令,将jne改为je,点击确定

F9继续运行

Ctrl F2重新运行,输入和刚才一样的数据,F9运行

Good Serial成功

将输入的数据aaabbbccc通过加密器进行MD5加密得到

d1aaf4767a3c10a473407a4e47b02da6

而在刚才的内存窗口2显示为

是aaabbbccc经MD5加密后的数据,存在地址为004056A8的内存中

在内存窗口4中

猜测为aaabbbccc的Serial---AB96E4D27581103D06C16A7347B02DA6

测试,将X32dbg关闭,不保存更改,重新打开CM-2.exe,输入以下数据

点击try now

成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1537538.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

猫头虎分享:Python库 Pandas 的简介、安装、用法详解入门教程

🐯猫头虎分享:Python库 Pandas 的简介、安装、用法详解入门教程 摘要 今天猫头虎带大家一起来探讨Python数据分析神器——Pandas的完整入门教程!本篇博客将深入介绍Pandas的功能,从安装到基础用法,再到常见问题解决&a…

Python 课程14-TensorFlow

前言 TensorFlow 是由 Google 开发的一个开源深度学习框架,广泛应用于机器学习和人工智能领域。它具有强大的计算能力,能够运行在 CPU、GPU 甚至 TPU 上,适用于从小型模型到大规模生产系统的各种应用场景。通过 TensorFlow,你可以…

FinOps三人行:共话FinOps云成本管理与AI的未来在线分享(文字+视频)

前言: 在数字化浪潮的推动下,云成本管理(Cloud Financial Management,简称FinOps)正逐渐成为企业关注的焦点。在2024年9月4日,一场关于云成本管理与人工智能(AI)未来的深入讨论在线…

体感魂斗罗-开篇

文章目录 前言新的目标Flag 前言 黑神话悟空大火,9月14,周鸿祎在抖音平台分享了360团队用两天的业余时间将《黑神话:悟空》爆改为体感游戏的过程,通过身体动作来控制游戏中的角色,实现更加自然和直观的操作方式。 把…

2025年最新大数据毕业设计选题-基于Spark分析相关

选题思路 回忆学过的知识(Python、Java、Hadoop、Hive、Sqoop、Spark、算法等等。。。) 结合学过的知识确定大的方向 a. 确定技术方向,比如基于Hadoop、基于Hive、基于Spark 等等。。。 b. 确定业务方向,比如民宿分析、电商行为分析、天气分析等等。。。…

2025年最新大数据毕业设计选题-基于Hive分析相关

选题思路 回忆学过的知识(Python、Java、Hadoop、Hive、Sqoop、Spark、算法等等。。。) 结合学过的知识确定大的方向 a. 确定技术方向,比如基于Hadoop、基于Hive、基于Spark 等等。。。 b. 确定业务方向,比如民宿分析、电商行为分析、天气分析等等。。。…

【bug】通过lora方式微调sdxl inpainting踩坑

报错内容 ValueError: Attempting to unscale FP16 gradients. 报错位置 if accelerator.sync_gradients:params_to_clip (itertools.chain(unet_lora_parameters, text_lora_parameters_one, text_lora_parameters_two)if args.train_text_encoderelse unet_lora_parameters…

Oracle 19c异常恢复—ORA-01209/ORA-65088---惜分飞

由于raid卡bug故障,导致文件系统异常,从而使得数据库无法正常启动,客户找到我之前已经让多人分析,均未恢复成功,查看alert日志,发现他们恢复的时候尝试resetlogs库,然后报ORA-600 kcbzib_kcrsds_1错误 2024-09-15T17:07:32.55321508:00 alter database open resetlogs 2024-09-…

深入理解IP地址分类及子网划分详解

在互联网时代,IP地址是网络通信的基础。无论是访问网站、发送电子邮件,还是进行数据传输,IP地址都扮演着至关重要的角色。本文将详细解析IP地址的分类及子网划分的原理,帮助你更好地理解网络架构及其应用。 一、什么是IP地址 IP…

电信创维光猫DT741超级密码

正常的D740系是创维系列光猫如:SK-D740 之类的超密获取办法-光猫/adsl/cable无线一体机-恩山无线论坛 但是我这个固件是DT741v1.0 我只能说很S -B,这个版本如果是1.02那就可以很轻松的去用通用办法解决,但是呢!还有办法就是用最传…

数据恢复精灵排行榜:四款优秀软件推荐!

无论是误删的照片,还是格式化硬盘后的重要文件,每一次意外的数据丢失都可能给我们带来不小的麻烦。在这样的背景下,“数据恢复精灵”应运而生,它们能够帮助我们找回那些似乎已经消失无踪的信息。下面,就让我们一起来看…

【 html+css 绚丽Loading 】 000052 璇玑转轮

前言:哈喽,大家好,今天给大家分享今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f…

Cortex-A7的GIC(通用中断控制器):边沿触发和电平触发中断处理流程

0 资料 ARM Generic Interrupt Controller Architecture version 2.0 Architecture Specification1 边沿触发和电平触发中断处理流程 1.0 边沿触发和电平触发的区别 边沿触发(Edge-triggered) This is an interrupt that is asserted on detection of…

一分钟掌握 Excel VBA 技巧,轻松批量生成工资条,提高工作效率!

可能大家忽视了一点,Excel是我们日常办公中使用最多的工具,所以,学好Excel并加以运用,一定能提升你的工作效率,比如Excel VBA可以用代码实现自动化办公,下面举一个Excel VBA批量生成工资条的办公小案例。 …

关于 Visual Studio Code 如何插入自定义快捷方式

第一步:打开控制面板,也可以使用快捷键ctrlshiftp 然后点击命令面板 第二步:输入snippets搜索,选择配置用户代码片段 第三步:选择新建全局代码片段文件,然后输入文件名,这里我因为创建的是vue的…

鸿蒙媒体开发系列03——AVPlayer和AVRecorder概述

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。 1、概述 本期我们初步讨论音视频资源的播放与录制相关能力 —— AVPlayer & AV…

数字经济指数合集

数字经济指数合集 随着信息技术的快速发展,数字经济已成为推动全球经济增长的重要力量。在中国,数字经济的发展尤为迅速,不仅促进了产业结构优化升级,还提升了社会治理效能。为了更好地衡量各地数字经济的发展水平,一…

工厂模式,策略模式,代理模式,单例模式在项目中的应用

项目背景: 首先这篇文章是总结了OJ项目和AI答题平台项目(和一点点的聚合搜索项目)中设计模式的文章 在项目中也用了很多次的设计模式,我感觉起来,这些设计模式的作用就是提高项目的扩展性和降低耦合性 工厂模式&…

视频语音转成文字用什么工具?这4款就很不错!

如今视频语音已经可以帮助我们在短时间内或去很多信息,在办公,学习教育,影视娱乐方面可以帮助我们高效的进行记录。当我们需要文字化的整理时,就会需要转换的工具。这片文章遍要罗列4款我在办公室用到的几款比较高效准确的视频语音…

原来石岩也有羊台山登山口

带娃探寻家附近的好玩的,娃问:石岩湿地公园的水从哪里来的?我说可能是羊台山吧,我们可以随着河流去找下啊。其实我内心也是没底的,我去的羊台山都是从龙华的羊台山东地铁下车去的。 骑行的好处就是可以松弛感看风景&a…