关于破解网络验证的一点心得
来源:互联网 发布:科比02年总决赛数据 编辑:程序博客网 时间:2024/05/07 13:36
今天收到一看雪论坛的网友,发来的EMAIL,问起关于网络验证如何破解的问题,
本人正好前段时间破解了一个有网络验证的外挂,并且成功实现了对对方注册加密算法的破解,自己改写了
服务器端的程序,用一句话说,就是由对方产生注册码,实现验证,变成了我自己根据算法产生注册码,由我的
服务器来实现验证.
现在把其中的一些心得总结描述一下,给遇到同样问题的网友,以作参考,尽可能的少走一点弯路.
现在,网络验证(外挂),一般POST的数据中,有几个参数是固定的,而仅仅只有一个参数每次会是随机生成的,如果你遇到的
是这种情况,那么恭喜你,你可以好好看一下我的说明了,通过抓包,可以知道,因为每次这个参数是随机的,所以
服务器返回的数据也就是随机的,但如果你把这个参数给固定了,那么服务器返回的数据也就每次是固定的了,你可以这么试一次,把POST的数据,这个变值,固定下来POST出去,然后抓包分析看是不是如我所说的,如果是的话,那么我可以肯定的告诉你,这个变来变去的随机数就是KEY,也就是用来加密,解密用的密钥,对方验证的原理就是,每次运行时,调用一函数,产生一段随机的KEY,长度固定,然后用这个KEY做为密钥发送给服务器,当服务器验证你的网卡地址,硬盘等一些其它的参数,包括注册码在内,验证出结果后,就会用你POST出去的KEY,做为密钥,把结果值进行加密,然后在把加密后的结果输出给客户端,客户端程序接受到这个数据后,就会调用解密函数用POST出去的KEY再实现解密操作,把这个数据包解密还原出明文,再根据明文进行不同操作,如,成功/注册码不对/过期/已绑定等等,所以,当你知道这个原理后,比较简单的一种方法就是,再解密出明文的时候,再后面的检测中进行修改,把后面的标志位改成全是成功,即可过关。当然如果你想写注册码生成器,自己产生注册码就需要把程序的加密,解密的那段算法好好研究一下,要么直接用ASM来写,要么用VC+ASM内联的方式来写,我到是建议采用直接用ASM的方式来写,可能更简单更容易一点,至少你只要知道了此函数,至于到底是怎么来完成加密的,你可以慢慢在看,只要注意传入的参数,堆栈平衡就很容易调试出结果了。
- 关于破解网络验证的一点心得
- 一点密码破解的心得(更新字典)
- 一点密码破解的心得(更新字典)
- 一点密码破解的心得(更新字典)
- 一点关于破解的知识
- 关于线程的一点心得
- 关于管理的一点心得
- 关于call_user_func的一点心得
- 关于“日志”的一点心得
- 关于 Quaternion 的一点心得
- 关于指针的一点心得
- 一点关于位图的心得
- 关于随机数的一点心得
- 关于scanf的一点心得。
- 关于JS的一点心得
- 关于CBitmap的一点心得
- 对网络库libpcap的一点心得
- 关于C#多线程、网络编程与计时器Timer的一点使用心得
- tomcat 启动时遇到的问题
- progressbar
- VS2005中使程序界面具有XP风格
- Informatica Interview Questions
- 系统文件格式定义及其存储管理算法设计
- 关于破解网络验证的一点心得
- JAVA环境变量的设置方法和设置作用
- 当协同遭遇SOA 发展趋势和应用如何走?
- .Net中关于Random类产生的随机数相同问题解决
- 红外线节能灶头
- Some Concepts
- SQL Server数据库开发的二十一条军规
- 什么是Web2.0? — Web2.0图解
- VC6中用DOM遍历网页中的元素