当前位置: 首页 > article >正文

逆向破解crackme简要分析

前言:本文为小白的一个简单crackme逆向破解过程。

1爆破过程

1.1运行程序,观察分析结构

1.2peid分析PE文件结构

分析发现该PE文件并未加壳

1.3载入od分析其运行过程

采用字符串搜索法,找到爆破入口点,查找->所有文本参考字符串,找到跳转的位置,从而实现爆破。

 

将jnz short 004015AD即可实现爆破,直接nop使得其无法跳转。

1.4保存修改的文件

将修改好的指令,复制到可执行文件,保存即可实现爆破。即任何密码都可成功

2分析crackme的密码验证过程

2.1密码的长度比较

通过跳转位置,确定函数的入口点,单步执行,发现调用了我们输入的密码,以及lstrlen函数

该函数适用于比较字符串长度的。(如果密码长度不正确将跳转并重新输入数字)

2.2密码的比较

本题较为简单,原密码已经存储于程序中,在验证过程中将其调用,并与输入的密码作比较。分析lstrcmpA函数可知,该函数为字符串比较函数,截图中已经将原密码压入堆栈,如右下方所示。至此分析完毕。

总结:此文为小白第一次写逆向破解的文章,如有不当之处,请大佬们指出,感谢大家的支持和鼓励。

http://www.lryc.cn/news/2414068.html

相关文章:

  • SCJP基本概念
  • 数字逻辑实验——138译码器
  • Linux之ClamAV杀毒软件YUM安装和使用
  • 外网如何访问公司内网?
  • 使用C#中的CultureInfo类实现全球化
  • 代理IP协议选择攻略:HTTP、HTTPS、SOCKS5协议该如何选?
  • 什么是栈?什么是堆?
  • 有关完整的闭路监控系统组成、设备简介、原理
  • 汇编(五):第一个汇编程序
  • php小h站视频系统源码,苹果cms v10x 原创自适应x站h站源码 视频模板 带试看功能 带自动采集YM源码...
  • 巨星陨落!清华大学发讣告
  • MotionEvent 概述
  • 2021-04-29
  • Java简单基础知识汇总
  • 入门到精通,掌握这些SQL语句让你成功玩转数据库!
  • Linux中文本搜索命令grep用法详解
  • 何为时域和频域?
  • PHP安装与配置指南
  • C#编程概述
  • mysql红黑联盟_MySQL - mysql数据库栏目 - 红黑联盟
  • c#编码技巧(三):EventArgs的使用
  • ThreadStart和ParameterizedThreadStart的区别
  • Java中的堆和栈
  • 炫彩界面库v1.4.2-360安全卫士v8.5-UI设计器使用教程
  • 软件测试---软件测试开发基础
  • piwik 访客跟踪(一)
  • JS--JavaScript节点插入、删除、替换、克隆(appendChild、cloneNode、insertBefore、normalize、removeChild、replaceChild)
  • Response.Write具体介绍
  • Java后端纯小白eclipse/java安装最强最详细最完整教程
  • 如何复制加密光盘