很多外挂和其他一些应用程序,更新频繁,如果每次都是:下载最新版本-脱壳-修改, 将非常麻烦。通过嗅探网卡数据,分析出网络验证算法,就可以自己写服务器模拟了。整个破解环节中,最重要的就是要把外挂发送到服务器的验证数据转发到我们 自己写的服务器上,这个可以通过NDIS驱动,TDI驱动或者更上层的SPI来实现。下面是我用SPI来实现的例子
一、自己写服务器响应外挂验证请求
很简单,只要把发送目标就是IP地址改过来就可以了(需要在 WSPConnect 中处理)
int WSPAPI WSPConnect(  
       SOCKET          s,  
       const struct    sockaddr FAR * name,  
       int             namelen,  
       LPWSABUF        lpCallerData,  
       LPWSABUF        lpCalleeData,  
       LPQOS           lpSQOS,  
       LPQOS           lpGQOS,  
       LPINT           lpErrno  
       )  
{  
 int ret;
 SOCKADDR_IN mysock;
 CString strTemp;
 memcpy(&mysock,name,sizeof(sockaddr));
 strTemp.Format("before IP:%u.%u.%u.%u"  
        , mysock.sin_addr.S_un.S_un_b.s_b1
        , mysock.sin_addr.S_un.S_un_b.s_b2
        , mysock.sin_addr.S_un.S_un_b.s_b3
        , mysock.sin_addr.S_un.S_un_b.s_b4
  );
//  ret = strTemp.Find("174.139.101.",0);    // DNF犀利外挂的请求地址,有很多,比较前三段即可
 if (ret != -1)
 {
  // 修改成自己服务器所在IP
  mysock.sin_addr.S_un.S_un_b.s_b1 = 192;
  mysock.sin_addr.S_un.S_un_b.s_b2 = 168;
  mysock.sin_addr.S_un.S_un_b.s_b3 = 1;
  mysock.sin_addr.S_un.S_un_b.s_b4 = 229;
 }
 ret =  NextProcTable.lpWSPConnect(s, (sockaddr *)&mysock, namelen, lpCallerData  
        , lpCalleeData, lpSQOS, lpGQOS, lpErrno);
 return ret;
}
二、修改发送数据
int WSPAPI WSPSend(  
 SOCKET          s,  
 LPWSABUF        lpBuffers,  
 DWORD           dwBufferCount,  
 LPDWORD         lpNumberOfBytesSent,  
 DWORD           dwFlags,  
 LPWSAOVERLAPPED lpOverlapped,  
 LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,  
 LPWSATHREADID   lpThreadId,  
 LPINT           lpErrno  
)  
{
    int ret;
 CString strTemp;
 SOCKADDR_IN  remote_addr;   
 int remote_addr_len = sizeof(remote_addr);   
 getpeername(s, (SOCKADDR*)&remote_addr, &remote_addr_len);
strTemp.Format("SEND IP:%u.%u.%u.%u"
  , remote_addr.sin_addr.S_un.S_un_b.s_b1  
        , remote_addr.sin_addr.S_un.S_un_b.s_b2  
        , remote_addr.sin_addr.S_un.S_un_b.s_b3  
        , remote_addr.sin_addr.S_un.S_un_b.s_b4
  );
 ret = strTemp.Find("192.168.1.229",0);    // DNF犀利
 if (ret != -1)
 {
    //  在这里处理数据,修改lpBuffers->buf 处内容
 }
    ret =  NextProcTable.lpWSPSend(s, lpBuffers, dwBufferCount  
        , lpNumberOfBytesSent, dwFlags, lpOverlapped  
        , lpCompletionRoutine, lpThreadId, lpErrno);
 return ret;
}
最后在 WSPStartup 中挂钩
int WSPAPI WSPStartup(
 WORD    wVersionRequested,
 LPWSPDATA   lpWSPData,
 LPWSAPROTOCOL_INFOW lpProtocolInfo,
 WSPUPCALLTABLE  upcallTable,
 LPWSPPROC_TABLE  lpProcTable
)
{
TCHAR    sLibraryPath[512];
    LPWSPSTARTUP        WSPStartupFunc      = NULL;
 HMODULE    hLibraryHandle  = NULL;
    INT                 ErrorCode           = 0;
if (!GetHookProvider(lpProtocolInfo, sLibraryPath)
  || (hLibraryHandle = LoadLibrary(sLibraryPath)) == NULL
  || (WSPStartupFunc = (LPWSPSTARTUP)GetProcAddress(
        hLibraryHandle, "WSPStartup")) == NULL
  )
  return WSAEPROVIDERFAILEDINIT;
if ((ErrorCode = WSPStartupFunc(wVersionRequested, lpWSPData
  , lpProtocolInfo, upcallTable, lpProcTable)) != ERROR_SUCCESS)
  return ErrorCode;
 
 NextProcTable = *lpProcTable;
// 挂钩
lpProcTable->lpWSPConnect = WSPConnect;
 lpProcTable->lpWSPSend = WSPSend;
return 0;
}

网络验证的破解-用SPI修改网络封包相关推荐

  1. 注册宝网络验证系统,安全免费的网络验证系统

    第一篇(纯软件介绍): 注册宝网络验证系统,安全免费的网络验证系统 官网:http://www.84zcb.com/ 产品说明:http://www.84zcb.com/Product 产品下载:ht ...

  2. 易语言php注册,易语言简单ASP网络验证源码 PHP一键搭建网络验证源码

    说明: 易语言简单ASP网络验证源码 ,很不错的易语言源码,适合易语言爱好者学习, (Easy language simple ASP network verification source code ...

  3. 易语言网络验证防破解教程

    百宝云网络验证系统是一款集合验证.防破解.自动售卡等众多优点于一身的网络验证系统,自其发布之日起就收到了各个语言作者的关注.但是部分作者在使用过程中遇到了不少问题,为此我们特意为易语言作者准备了详细的 ...

  4. 实战演练,网络验证破解系列教程

    聊一聊网络验证的事吧. 这个出现的原因是保护大家的网络安全,定不需要多说. 但是有时候我们研究技术,也会成为一些障碍. 怎么办呢? 当然是搞定它. 怎么搞定?破解呗. 所以,今天给大家带来的便是最新制 ...

  5. 关于破解网络验证的一点心得

    今天收到一看雪论坛的网友,发来的EMAIL,问起关于网络验证如何破解的问题, 本人正好前段时间破解了一个有网络验证的外挂,并且成功实现了对对方注册加密算法的破解,自己改写了 服务器端的程序,用一句话说 ...

  6. 可可网络验证9.3、9.5版本

    官方下载地址:https://www.kekeyz.cn/down.html CSDN下载地址: 9.3版本:https://download.csdn.net/download/u010815991 ...

  7. 雷电模拟器无法修改网络,没有出现修改网络的选项,导致fiddler无法连接

    对于一个小白来说,可能这就能耗掉一个下午的时间了,比如我,,,,要命的是这种问题对于绝大多数小白还完全不是问题,所以找了很久都没有解决答案,所以我是..小白中的小白.. 模拟器修改网络问题 我遇到的是 ...

  8. [网络验证破解]某外挂验证转本地化

    [文章标题]: [网络验证破解]某外挂验证转本地化 [文章作者]: KuNgBiM [作者邮箱]: kungbim@163.com [作者主页]: http://www.crkcn.com [软件名称 ...

  9. 三天快速制作易语言防破解网络验证注册码系统

      百宝云介绍 百宝云是一款云服务器产品,专为快速打造个人云端服务器的云应用产品.开发者无需关心服务器开发,维护乃至性能扩展,APP管理,百宝云提供完善的全套服务.强大的第三方接口可以和任何开发语言对 ...

最新文章

  1. python在线编辑器编译excel_python在线编译器的简单原理及简单实现代码
  2. 自定义控件的子控件支持设计模式
  3. mysql分库分表方案浅析
  4. servlet多线程
  5. 计算机地址栏搜索不了网,我的电脑地址栏不见了怎么办 地址栏不见了如何解决...
  6. html+css实现响应式布局入门
  7. win2003 server重启故障
  8. kafka删除topic及其相关数据
  9. mysql 双主 脑裂_MySQL 高可用性keepalived+mysql双主
  10. 《扩展 jQuery》——2.3 总结
  11. 网络之美:JavaScript中Get和Set访问器的实现
  12. HTML: 和 是何方神圣
  13. python tkinter canvas
  14. chat后缀域名_.chat域名简介
  15. 电影光盘的vob格式视频如何转换成mp4格式
  16. 手Q游戏中心上线 完美释放娱乐基因
  17. CSS--盒子模型(box)--使用/教程/实例
  18. 下载(导出)pdf模板文件(比如:审批单)
  19. 大数据的理解,大数据是什么,大数据能干什么?
  20. Unity 在编辑模式下退出游戏

热门文章

  1. FaceMorphing
  2. SQLite学习笔记-多个分隔符分割字符串并删除后缀
  3. 2022制冷与空调设备运行操作上岗证题库及答案
  4. cad和python哪个应该学_史上最全Python快速入门教程,满满都是干货
  5. AC-DMIS 5.3 工件与测针的准备
  6. wps表格修改数据库表格格式
  7. Python_计算一个数的阶乘并统计尾部0的个数
  8. opencv实现将raw图像转换为bmp图像(C++)
  9. 北邮 网络安全 期末复习 知识点总结之APT攻击
  10. [案例] java项目故障诊断和性能调优(window版)