社区
Windows SDK/API
帖子详情
如何验证远端客户端程序未被破解篡改过?
fffaaa2003
2005-12-31 08:51:38
从理论上能实现吗?
服务端和客户端用哪种方式通信验证才能保证客户端程序未被篡改过呢?
...全文
338
22
打赏
收藏
如何验证远端客户端程序未被破解篡改过?
从理论上能实现吗? 服务端和客户端用哪种方式通信验证才能保证客户端程序未被篡改过呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BenLeak
2006-03-29
打赏
举报
回复
从服务器发送一些数据,经过客户端计算再次发送回去呢?
thht4321
2006-03-28
打赏
举报
回复
求购视频会议源代码!
有提供者请电:
tanhua1962@163.com
Persistent8813
2006-03-26
打赏
举报
回复
在破解客户端文件之前把MD5值计算出来并保存,然后破解,向服务端发送MD5时发送之前保存的MD5值就可以了。
我是这样想的,如果只是简单的通过发送字符串,是不能起到验证远端程序是否被修改的。因为你完全可以另建一个程序,做好事先设定好的应答,也就是伪装原程序。
能否通过RSA体制,数字签名体制来验证?知识有限,想不明白。
如何截取得验证信息?再如何向服务器发送昵?能不能启发一下?
玄之丞
2006-03-24
打赏
举报
回复
或者这样,
客户端只是一个类似模拟器的东西。
要做什么都是由服务端控制的。
比如用户点一个桉钮,客户端告诉服务端用户点了一个按钮 Name=button1
服务端返回,客户端要执行的函数: button1OnClick() {}
客户端执行。
呵呵,就是速度上。
PS:有什么BCB的好群可以加么?
玄之丞
2006-03-24
打赏
举报
回复
重要的不是不可解,
是让解代码的人,痛苦,痛不欲生。
解的时间超过开发时间。就OK了。
我想破解的人,会自己开发一个的。
玄之丞
2006-03-24
打赏
举报
回复
没有办法完全防范,只能加强难度了。
客户端不定时的,发出服务端指定的代码段的哈希。
服务端根据代码段及哈希进行判定。
服务端的指令加密。代码段哈希加密。
zephyr007
2006-01-07
打赏
举报
回复
服务器端拥有的仅仅是一个网络的一端,网络另一端的程序只要发送的数据合法,服务器端时不可能分辨的。有个笑话可以说明这个原理:在Internet上,没有人知道聊天的是一条狗
不过,楼主可以设法增加一下破解的难度,虽然不能避免,但可以在一定程度上保护
LngDotin
2006-01-03
打赏
举报
回复
同意 myy() 的观点,实际上软件关键的跳点就那么一个或几个,反汇编出来,或者用 OllyDbg 出来,74 改 75 ,0F84 改 0F85 就搞定,没好法的吧。
Maconel
2006-01-03
打赏
举报
回复
我的意思是,在不同的时间,发送的内容不一样,使破解者不知道该发送什么内容。
myy
2006-01-03
打赏
举报
回复
to Maconel(Maconel) :
不发送md5,而是...
---------------------------
没有用的,人家根本不管你的的算法,
只要遵守“合法客户端发什么,模拟程序就发什么”的原则就行了。
Maconel
2005-12-31
打赏
举报
回复
不发送md5,而是发送一个根据md5计算得到的值,而且这个结果也是不一定的,而是根据时间变动的。
比如简单地,将本身的md5和当前日期的md5相加,发送得到的结果。不过当然不能用相加这么简单的算法,而使用一个比较复杂的算法。就算破解者知道你是根据这2个值来计算的,也不知道你的算法是什么,也就无法得到正确的结果。
虽然将你的程序反汇编后,还是能够得到你的算法,但是好歹也是增加些难度吧。
fffaaa2003
2005-12-31
打赏
举报
回复
你说的方法我想过,应该不可行。
破解该客户端,向服务端发送原客户端的MD5值就可以达到欺骗。
weill
2005-12-31
打赏
举报
回复
从原理上来说,这是一个不可完成的任务!
如果破解者有足够的技术和耐心,是完全可以做出一个模拟客户端的。
如一些网游戏的脱机外挂便是如此。
防护只能使破解者破解的难度加大,而无法从根本上防止。
一种变态的方法是定期升级客户端,也就是说,定期改变客户端与服务器端的通信加密算法与加密字典表,可能可以比较有效的产生防护效果,最主要的是使破解者疲与奔命,来查找或猜解算法。
ccrun.com
2005-12-31
打赏
举报
回复
客户端计算出自身文件的MD5值,然后发送给服务端,在服务端与保留的客户端数据进行比较。
fffaaa2003
2005-12-31
打赏
举报
回复
我不会问了一个IT界存在已久的难题吧?哈哈哈哈
fffaaa2003
2005-12-31
打赏
举报
回复
或者,哪位高手介绍一下现在编程界普遍使用的较难破解的服务端和客户端验证手段
fffaaa2003
2005-12-31
打赏
举报
回复
真的是这样吗?真的没有办法了吗?
从现有技术角度来看,真的是不可能正确验证吗?
谁能从更高角度来解释一下,从理论上证明一下,也让我绝了这个心思,省得浪费时间,谢谢了
myy
2005-12-31
打赏
举报
回复
如果人家想破解(并且拥有一套合法的客户端程序),我想你是没有彻底的办法防治的。
ccrun.com
2005-12-31
打赏
举报
回复
恩。对,你说的有道理。看来需要在通讯中做一些验证手段了。
fffaaa2003
2005-12-31
打赏
举报
回复
在破解客户端文件之前把MD5值计算出来并保存,然后破解,向服务端发送MD5时发送之前保存的MD5值就可以了。
我是这样想的,如果只是简单的通过发送字符串,是不能起到验证远端程序是否被修改的。因为你完全可以另建一个程序,做好事先设定好的应答,也就是伪装原程序。
能否通过RSA体制,数字签名体制来验证?知识有限,想不明白。
加载更多回复(2)
WEB安全(客户端脚本安全)
黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则
篡改
网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。是一系列安全的培训...
t3客户端连接服务器就
未
响应,t3标准版客户端连接服务器方法
t3标准版客户端连接服务器方法 内容精选换一换SSL证书是一种遵守SSL协议的服务器数字证书,可以在客户端和服务器端之间建立加密通道,保证数据在传输过程中不被窃取或
篡改
。为了提高数据安全性,GaussDB(for Influx)实例提供默认的SSL证书,创建实例时您可以开启SSL安全连接,待实例创建成功后,可通过SSL方式连接实例。通过SSL证书连接数据库实例的方法请参见通过程序代码GaussDB...
【C/S架构安全测试】客户端应用程序测试(测试项补充)
C是英文单词Client的首字母,即客户端的意思,C/S就是Client/Server的缩写,即客户端/服务器模式。C/S结构是一种软件系统体系结构,也是生活中很常见的。比如我们手机或电脑中安装的微信、QQ、腾讯视频、酷狗音乐等应用程序就是C/S结构。C/S 架构也可以看做是胖客户端架构。因为客户端需要实现绝大多数的业务逻辑和界面展示。这种架构中,作为客户端的部分需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互(通常是SQL或存储过程的实现)来达到持久化数据,以此满足实际项目的需要
API接口如何防止参数被
篡改
和重放攻击?
点击上方关注 “终端研发部”设为“星标”,和你一起掌握更多数据库知识作者:巨人大哥cnblogs.com/jurendage/p/12886352.html说明:目前所有的系统架构都是采用...
HTTPS安全防窃听、防冒充、防
篡改
三大机制原理
本文讲述了HTTPS的三大机制原理,即防窃听、防冒充和防
篡改
。HTTPS采用了加密算法确保数据不被窃听,并通过数字证书认证确保访问的网站真实可信;同时将内容进行摘要计算和数字签名,防止
篡改
攻击。
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章