crack密码验证破解
在学习了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密码验证破解相关推荐
- Crack密码验证小实验
首先来看一段用于密码验证的C语言代码: #include<stdio.h> #include<string.h>#define PASSWORD "1234567&q ...
- Linux SSH密码暴力破解技术及攻防实战
对于Linux操作系统来说,一般通过VNC.Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Group ...
- 密码暴力破解漏洞(kali crunch)
目录 1.密码安全 2.漏洞利用 3.不安全的密码 4.密码猜解思路 5. 字典wordlist 5.1 kali字典 5.2 github字典 6.专用字典 6.1 指定格式字典 6.2 社工字典 ...
- Linux国产操作系统,UCA-系统工程师学习必备技能,Linux启动流程、计划任务、密码破解和密码防破解以及ssh服务
随着国家技术的要求和国际形势的发展,为了避免被卡脖子,国产操作系统开始进入大力发展阶段!C++方向有一个很好的优势是可以和Linux相连通,做运维.操作系统,前途无限!!! 废话少说,我们进入本次学习 ...
- Kali-linux密码在线破解
为了使用户能成功登录到目标系统,所以需要获取一个正确的密码.在Kali中,在线破解密码的工具很多,其中最常用的两款分别是Hydra和Medusa.本节将介绍使用Hydra和Medusa工具实现密码在线 ...
- 【kali-密码攻击】(5.1.2)密码在线破解:Medusa
前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...
- kali-linux教程 ssh密码暴力破解和防御实战
1 hydra[海德拉] Hydra是世界顶级密码暴力破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具. 指 ...
- 一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...
- python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...
- 太实用了!自己动手写软件——邮件用户名密码验证
我们计划实现的弱口令破解软件一共支持如下四类协议的解析: 数据库类--MySQL.Oracle和SQL server 邮件类--IMAP.POP3和SMTP 文件传输类--FTP 运维类--SSH 数 ...
最新文章
- 【spring】spel表达式
- 53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)
- android开发 权限大全
- 吴恩达机器学习(第三章)——线性代数回顾
- python中的matplotlib(1)
- Maven + Eclipse + Tomcat - 开启项目调试之旅(转载)
- 图灵,蔡汀,达尔文:计算中的上帝
- 浅谈PHP语音里的流程控制及实现方法
- 那些用起来很爽,但用不好可能会被人打的Python骚操作
- 丰田pcs可以关闭吗_论安全性能,广汽丰田TNGA车型如何?
- xml绑定省市,并实现二级联动
- UNIX系统中的文件共享
- ojdbc7、8在maven环境中的配置异常及处理
- 分享个短视频竞品分析报告
- 在有位图索引的表上进行DML操作与enq: TX - row lock contention等待事件问题分析
- java 获取文件后缀及根据文件扩展名判断文件是否图片格式
- 轻松一下:世界上最全的解酒方法
- Windows 11 移动文件夹错误 0x800700E1 无法成功完成操作
- 2000-XP-2003操作系统常见问题
- 省时省力,高速收费站无线组网解决方案