软件保护技术----网络验证
例子还是来自与加密解密第三版,具体来讲一下自己怎么解决这个例子的方式
例子传送门:链接:https://pan.baidu.com/s/1L3izhMo4Ft1vkMMQSaLI8w 密码:93ub
一些软件在运行时会向一些服务器发送获取关键数据的请求,当获取数据后才能正常运行,这就是网络验证技术
拦截软件与服务器之间交互的数据包就尤为关键
我们现在OD里面运行例子CrackMeNet.exe,看看有没有合适的地方下断点
在OD里函数表里没找到合适的,猜测应该是没识别,我们放到IDA里看一下,果然
看到了一对recv和send函数,很符合服务器和客户端的风格,处在的地址是4019C6,我们在OD里再次搜索
发现send函数被显示为#19,我们在函数表里跟踪#19
终于找到了,找个函数都这么累,不容易啊……
我们在数据窗口中查看Data,乱码应该是,反正我看不懂,应该是加密过了
我们来分析一下加密代码段,首先我们要找到加密代码段
怎么找呢,第一肯定在send函数的上面,其次肯定要在输出字符函数的下面,没输出怎么加密,我们在IDA里慢慢网上拖
看到两处GetDlgItemTextA,可以猜测这两处分别输入了用户名和密码,那么我们从40150E开始分析
我们可以看到两个strlen函数,基本可以猜到就是分别求用户名和密码的长度,然后有一大堆赋值操作,而且是往连续的地址在赋值,可以清楚的看到软件在拼造一个数组
数组实从[ebp+buf(354)]开始的,第一个元素是用户名长度,第二个元素是密码长度
第三个元素大家如果对位运算不熟悉可能会有些理解上的问题
直接说明一下这里的操作
先定义time(0),并且srand(time(0)),定义rand函数的种子,然后执行rand()
and eas,800000ffh的作用是,rand()%256,然后跳转到401558
那么很清楚了,第三个元素就是rand()%256
接下来还是两个memcpy赋值操作,分析得第四个元素是用户名,第五个元素是密码,整个数组分析完毕,这就是程序向服务器发送的完整数据(其实数组建立好之后,还有一个异或操作,大家可以看一下,我刚开始也遗漏了)
接下来就是分析客户端程序接收回服务器数据后的处理过程了,同理,设置recv函数断电后,开始分析
其实分析接收的数据,我们先要找到接收的数据放在哪里了,要是是明文,皆大欢喜
慢慢往下分析,是可以看到把数据放在41AE68的(先不要管上面的解密异或操作啦,找到地址先)
在IDA里41AE68发现数据是空的(毕竟是静态的,没接上服务器),我们在OD里看一下
因为所有解密操作都是对这段数据进行的,我们是要在代码中找出所有读取这里数据的代码就好办多了,我们对41AE68下内存读断点,找到定位代码
这样的方法很可能会遗漏,毕竟不一定只有一处读取了数据,断点是难以区分的
我们用IDA的getasm.idc脚本可以找出所有读取41AE68的代码段
以上我们基本把网络验证的流程都分析完了,破解的方式大家应该也有思路的吧
1、将截取到的正确数据放置在程序的41AE68h处
2、消除send函数和recv函数(直接用跳过指令就好了)
3、跳过解密代码段,我们已经知道现成的数据了,不需要解密了
4、把error提示框消除,这个我们可以在OD里面搜索字符串,然后吧函数消除或跳过即可
总之,这是一种在获得数据后,直接修改自身程序,而不需要和服务器再连接的方法,是比较有趣和管用的
软件保护技术----网络验证相关推荐
- 网络验证常见的攻击方式与防御手段
目前,各种网络验证系统攻击事件层出不穷,搭过服务器的人可能都知道,DDOS攻击是中小型网络验证服务器的噩梦.基本上一打就死,而防御DDOS攻击的办法也只有一种就是硬抗,普通的DDOS硬防防火墙基本上都 ...
- 2023年核盾网络验证-核盾云壳最新逆向教程
背景 大家好,本人青月.我学习逆向几个月的时候在学习群里面看见有人发了个叫作核盾云壳的软件 这款网络验证大家或多或少都听过吧,百度也有词条 我当时年少轻狂,觉得自己技术碾压一切,于是就对这款验证进行了 ...
- 自写网络验证,支持注册 充值 在线消息 自动更新
废话多了没有味 一张图解析所有内容 右边是客户端 下载地址:自写网络验证系统仅供学习.zip-其它文档类资源-CSDN下载https://download.csdn.net/download/u010 ...
- 【百宝云网络验证】—易语言开发的系统
[百宝云网络验证]-易语言开发的系统 小编今天重磅推出全新版本易语言网络验证系统! 本套系统新增很多特色功能,如防攻击.防破解.数据监控等等,重点是它还是免费的!免费的!免费的!重要的事重复三遍!废话 ...
- 219域名授权离线网络验证系统
感谢您选择使用219域名授权离线网络验证系统(简称:219域名授权系统)是扎兰屯市姝妍计算机服务有限公司旗下产品,219域名授权系统是国内最稳定,最强大,最先进的域名授权管理平台解决方案之一,219域 ...
- 实战演练,网络验证破解系列教程
聊一聊网络验证的事吧. 这个出现的原因是保护大家的网络安全,定不需要多说. 但是有时候我们研究技术,也会成为一些障碍. 怎么办呢? 当然是搞定它. 怎么搞定?破解呗. 所以,今天给大家带来的便是最新制 ...
- 专门为中小软件提供的开源JAVA网络验证系统
Verify 1.7.4 项目介绍 专门为中小软件提供的开源JAVA网络验证系统 快速让自己开发的软件拥有以下功能: 目前的功能主要有:注册,登陆,绑定卡密,绑定机器,取软件版本,软件留言,修改密码, ...
- Android版OpenCV图像处理技术亲自验证[三]之斑点检测ColorBlobDetector
Android版OpenCV图像处理技术亲自验证[二]之斑点检测ColorBlobDetector 程序之美 前言 主体 运行效果 构建过程 核心代码 所遇问题 结束语 程序之美 前言 OpenCV是 ...
- 华为HCIE认证考试费多少,华为技术网络工程师技术细节详解 什么是PPP MP接口
华为HCIE认证考试费多少,华为技术网络工程师技术细节详解 什么是PPP MP接口 华为HCIE课程中,提到的一种接口类型PPP MP接口是什么? MP是Multi-Link PPP的缩写,是将多个物 ...
最新文章
- 了解GAN背后的设计,训练,损失函数和算法
- LAMP编译安装之———httpd
- 电脑与人脑,信息与知识
- fitnesse页面增加认证
- ArcGIS百米网格自动生成
- 【springboot】【若依(ruoyi)】@RestController 接口跨域请求
- PHP连接达梦数据库
- Oracle错误集!
- 黑马程序员——java语言基础——面向对象
- 信息学奥赛一本通C++语言——1063:最大跨度值
- 小米卢伟冰回应“低价误国”;国产统一操作系统 UOS 正全面适配;Vue 2.6.11 发布 | 极客头条...
- ansys如何删除线_PR学习之旅:PR预设如何导入,保存和效果重命名呢?诀窍很简单...
- java 获取叶子节点_java – 如何获取树的所有叶节点?
- 百度html模板引擎,百度JS模板引擎 baiduTemplate
- 微软同步工具 for linux,使用SyncToy 同步Windows数据到linux
- Arduino-ESP8266库接口:Ticker.h
- Typora的崩溃导致文件丢失
- The page has expired due to inactivity Please refresh and try again
- 丰富的无线局域网技术
- 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。