博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
160个CrackMe 027 Cosh.1
阅读量:4319 次
发布时间:2019-06-06

本文共 585 字,大约阅读时间需要 1 分钟。

首先打开软件

image_1ak62ihds1pl619v1ek64bj95r9.png-6.6kB
发现这是一个CD-check的题目

这里推荐一下《加密与解密 第三版》的5.7节CD-Check还有一个博客

大家可以参考

之后PEID查,没有壳,C++程序,CD-Check我们只能够通过爆破:

OD运行:

接下来大致分成三种找到关键位置的方式:

1.正常运行:F9之后弹出对话框,我们点击Check for CD之后,弹出错误对话框,不点击确定,直接F12暂停程序之Alt+K找对话框的函数调用(这是弹出错误对话框类型的处理方式)
image_1ak6328u61artk621rk9kc36fam.png-128kB

找到函数调用的部分,show call过去

2.既然是一个CD-Check那么我们就去找关键函数呗,GetDirvertypeA是获取磁盘驱动器类型的关键函数

OD之后,Crtl+N 查找所有调用函数模块
image_1ak638b8i19avqnijbq2i618r413.png-126.4kB
查看调用树,找到调用位置
image_1ak63ap7b1l35nnc12um1uju10o91j.png-3.9kB
反汇编窗口跟随过去即可

3.最简单使用的,直接找参考文本字符串

image_1ak63d2kqb4g1mbl1g7lqc6too20.png-72kB
失败的成功一起找到,很简单

之后找到关键位置,找跳转语句就很轻松了

 

爆破,更改

 

无脑跳转

 

dump下来成一个新文件

image_1ak63it75sulh1d1e9j1noo1pdg2t.png-109.7kB
成功.

向上看一下这个CD-Check的过程:

使用Creatflie()函数从C盘符查找到P盘符,看看有没有
CD_CHECK.DAT这个文件,如果有就打开,但是明显我们没有,所以就失败了。

转载于:https://www.cnblogs.com/Space-of-Bruce/p/5558175.html

你可能感兴趣的文章
使用vscode开发python
查看>>
swift--调用系统单例实现打电话
查看>>
0038-算一算是一年中的第几天
查看>>
51nod 1094 【水题】
查看>>
003.第一个动画:绘制直线
查看>>
ng-深度学习-课程笔记-2: 神经网络中的逻辑回归(Week2)
查看>>
正则表达式的搜索和替换
查看>>
个人项目:WC
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
Kaldi中的Chain模型
查看>>
spring中的ResourceBundleMessageSource使用和测试示例
查看>>
css规范 - bem
查看>>
电梯调度程序的UI设计
查看>>
转自 zera php中extends和implements的区别
查看>>