在学习了0day的crack小实验后,学习了破解crack简单的密码实验精细讲解

欢迎访问

首先使用环境

系统环境 window xp
编程软件 vc++ 6.0
使用软件 ida pro  , olldbg等

首先我是用的Vc++ 6.0进行crack的编写  附上编写代码仅供参考!

一个简单的密码验证的crack就编写完成了,有什么不懂欢迎评论留言哟!

接下来我们就是我们反编译大招登场 传说中的IDA PRO

我们把我们编译生成的exe文件拖入到IDA里边,我们可以带到许多汇编语言,不用很了解下边我开始我的操作啦!

使用反编译软件获取VA的值此处的VA值为004010D5,他的作用也就微小不足以谈了

获取VA值后,我们使用 olldbg软件进行调试修改

首先打开olldbg并导入我们的exe文件

打开软件和导入exe的文件后,呈上上图所示,我们需要按住Ctrl+G 我们输入我们使用IDA获取的VA值,olldbg会迅速找到需要找的地方!

找到004010D5后我们可以进行一些编辑

我们使用F2对004010D5进行下断点,成功后,指令的地址被标记成不同颜色

然后 F9运行 这是控制权就到了olldbg里边 提示输入错的密码

密码验证函数的返回值将存在EAX寄存器中,if()语句通过下列两条指令实现:

  • TEST EAX,EAX
  • JE XXXXX

也就是说,EAX中的值为0时,跳转将被执行,程序进入密码确认流程;否则跳转不执行,程序进入密码重输的流程。如果我们把JE这条指令修改为JNE(非0则跳转),那么整个程序的逻辑就会反过来:输入错误的密码被确认,输入正确的密码反而要求重新输入!

  • 6.双击JE这条指令,将其修改成JNE,单击“Assemble”按钮将其写入内存,如下所示:
  • 7

OllyDbg将汇编指令翻译成机器代码写入内存。原来内存中的机器代码74(JE)现在变成了75(JNE)。

上面只是在内存中修改程序,还需要在二进制文件中也修改相应的字节,需要用到内存地址VA与文件地址之间的对应关系。利用PEiD或类似软件打开.exe文件,查看PE文件的节信息:


我们已经知道跳转指令在内存中的地址是VA = 0x004010D5,按照VA与文件地址的换算公式:
文件偏移地址 = 虚拟内存地址(VA) - 装载基址(Image Base) - 节偏移 = 0x004010D5 - 0x00400000 - (0x00001000 - 0x00001000) = 0x10D5
也就是说,这条指令在PE文件中距离文件开始处10D5字节的地方。用UltraEdit按照二进制方式打开.exe文件,按Ctrl+G,输入0x10D5直接跳到JE指令的机器代码处,将这一字节的74(JE)修改成75(JNE),保存后重新运行可执行文件。

运行结果如下所示,原本正确的密码“1234567”现在反而提示错误了,而输入其他密码均能正确通过。

这里写图片描述

实验出自王清的《0day2安全:软件漏洞分析技术》第一章入门内容。

crack密码验证破解相关推荐

  1. Crack密码验证小实验

    首先来看一段用于密码验证的C语言代码: #include<stdio.h> #include<string.h>#define PASSWORD "1234567&q ...

  2. Linux SSH密码暴力破解技术及攻防实战

    对于Linux操作系统来说,一般通过VNC.Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Group ...

  3. 密码暴力破解漏洞(kali crunch)

    目录 1.密码安全 2.漏洞利用 3.不安全的密码 4.密码猜解思路 5. 字典wordlist 5.1 kali字典 5.2 github字典 6.专用字典 6.1 指定格式字典 6.2 社工字典 ...

  4. Linux国产操作系统,UCA-系统工程师学习必备技能,Linux启动流程、计划任务、密码破解和密码防破解以及ssh服务

    随着国家技术的要求和国际形势的发展,为了避免被卡脖子,国产操作系统开始进入大力发展阶段!C++方向有一个很好的优势是可以和Linux相连通,做运维.操作系统,前途无限!!! 废话少说,我们进入本次学习 ...

  5. Kali-linux密码在线破解

    为了使用户能成功登录到目标系统,所以需要获取一个正确的密码.在Kali中,在线破解密码的工具很多,其中最常用的两款分别是Hydra和Medusa.本节将介绍使用Hydra和Medusa工具实现密码在线 ...

  6. 【kali-密码攻击】(5.1.2)密码在线破解:Medusa

    前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...

  7. kali-linux教程 ssh密码暴力破解和防御实战

    1 hydra[海德拉] Hydra是世界顶级密码暴力破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具. 指 ...

  8. 一个最简单的博客园文章密码暴力破解器-python3实现

    一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...

  9. python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现

    一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...

  10. 太实用了!自己动手写软件——邮件用户名密码验证

    我们计划实现的弱口令破解软件一共支持如下四类协议的解析: 数据库类--MySQL.Oracle和SQL server 邮件类--IMAP.POP3和SMTP 文件传输类--FTP 运维类--SSH 数 ...

最新文章

  1. 【spring】spel表达式
  2. 53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)
  3. android开发 权限大全
  4. 吴恩达机器学习(第三章)——线性代数回顾
  5. python中的matplotlib(1)
  6. Maven + Eclipse + Tomcat - 开启项目调试之旅(转载)
  7. 图灵,蔡汀,达尔文:计算中的上帝
  8. 浅谈PHP语音里的流程控制及实现方法
  9. 那些用起来很爽,但用不好可能会被人打的Python骚操作
  10. 丰田pcs可以关闭吗_论安全性能,广汽丰田TNGA车型如何?
  11. xml绑定省市,并实现二级联动
  12. UNIX系统中的文件共享
  13. ojdbc7、8在maven环境中的配置异常及处理
  14. 分享个短视频竞品分析报告
  15. 在有位图索引的表上进行DML操作与enq: TX - row lock contention等待事件问题分析
  16. java 获取文件后缀及根据文件扩展名判断文件是否图片格式
  17. 轻松一下:世界上最全的解酒方法
  18. Windows 11 移动文件夹错误 0x800700E1 无法成功完成操作
  19. 2000-XP-2003操作系统常见问题
  20. 省时省力,高速收费站无线组网解决方案

热门文章

  1. 贾俊平统计学blog整理
  2. solaris 系统信息查看
  3. 基于java实现学科竞赛管理系统「Springboot+mybatis+lyaui」
  4. 数据采集的目的是什么
  5. exe msdt 无法上网_msdt(缺失msdtexe连不上网)
  6. 如何用快解析自制IoT云平台
  7. Unity3D C#数学系列之求点到直线的距离
  8. 三维空间点到线段的距离
  9. activiti7基础入门、activiti7实战、activiti7运用
  10. 我的框架——MyBean