/ 联系我们

lzonel.

欢迎反馈,我们会收到消息时第一时间答复.

  • 中国 河南省 许昌市 长葛市

  • 1324500251@qq.com

  • +86 132 4334 5558

Get in touch

C# winforms接入示例

    首先,应当先配置我所截图的软件参数(软件参数可在软件列表的软件详情查找),配置完软件参数如下图所示:
客户端登录协议随意切换,Zone网络验证系统都能够支持!


1:初始化功能:


调用初始化代码:
ApiResponse m_ApiResponse = this.zoneHelper.GetSoftInfo();
初始化,获取软件的公告 新版本等.
返回结果如下:
{ "status": "200", "message": "ClientGetInfo!", "code": "60033", "data": { "Status": "200", "Message": "发现新版本!", "New_version": "1.1.2[新版本号]", "New_notice": "ksahjhfjgukjwhe[新版本公告内容]", "New_downloadurl": "http://www.asdsadads.cn[新版本下载地址]", "New_downloadpwd": "12333[新版本下载密码]", "SoftwareName": "CF活动助手", "SoftwareVer": "1.0.0[当前版本号]", "LoginType": "1", "Notice": "[当前版本公告内容]" } }
代码如下


2:登录功能:


调用登录代码:
ApiResponse m_ApiResponse = this.zoneHelper.Login(卡密/账号密码);
进行登录操作,登录返回的m_ApiResponse在示例中有详细的解释
返回结果如下:
{ "status": "200", "message": "Active Card!", "code": "50015", "data": { "run_status": "success", "Token": "pfiFFmBsDAekOfpUditH0jI1yTdxcNozQdgYrRuaDpnZ9qDjxAEDbo0nnPpp0RmzloVrDQrZsXwGh
NsNDe8oE7DjUCzdyGsNof4XZ633WA336wznr8PoQ9ct6I9bNoA1[用于其他请求]", "Expiration_time": "1711539970527[时间消耗:返回到期时间]", "Expiration_num": "756[点数消耗:返回剩余点数]", "Expiration_time_HeartBeat": "1711539970527", "Message": "登录成功!" } }
之后如下图判断是否登录成功
登录成功必须将 this.zoneHelper 传递给你的子窗口程序,用于后面的心跳验证


3:心跳验证功能:


心跳验证必须你自己写一个线程/开启一个时钟,每隔一段时间重复调用即可
心跳代码:
ApiResponse m_ApiResponse = this.zoneHelper.HeartBeat();//心跳一次
心跳返回的 m_ApiResponse 示例中有详细的解释
返回结果如下:
{ "status": "200", "message": "HeartBeat!", "code": "50010", "data": { "run_status": "success", "Status": "200", "Expiration_time_HeartBeat": "1711539980634", "Message": "心跳已续上" } }
心跳成功如下:
心跳失败就可以执行强制关闭程序的命令就行了

4:扣点操作

扣点函数:
ApiResponse m_ApiResponse = this.zoneHelper.SubScore(点数);
同样返回的m_ApiResponse在示例中有详细的解释
返回结果如下:

{ "status": "200", "message": "Sub Score Success!", "code": "50017", "data": { "run_status": "success", "Status": "200", "Current_Score": "761[扣完剩余的点数-long类型]", "Message": "Sub Score Success!" } }
扣点成功如下:

5:查询操作

查询函数:
ApiResponse m_ApiResponse = this.zoneHelper.QueryCard(卡密);
ApiResponse m_ApiResponse = this.zoneHelper.QueryAccount(账号);
同样返回的m_ApiResponse在示例中有详细的解释
返回结果如下:

{ "status": "200", "message": "Get Card Info!", "code": "50033", "data": { "run_status": "success[代表执行成功]", "Account": "[若是账号查询则返回账号]", "Password": "[若是账号查询则返回密码]", "CardHead": "CCFF[卡密前缀]", "Card": "KXJ3ASJRBKIAHCGP31X[卡密后缀]", "CapacityForTime": "0[到期时间]", "CapacityForNum": "392[剩余点数]", "Use_time": "1709779156076[当前时间]", "Status": "5
[卡密状态:0=未开通,1=未使用,2=已使用(在线),3=已禁用,4=已失效,5=已使用(离线),6=已使用(充值)]
[账号状态:0=正常,1=在线,2=离线,3=已禁用]", "UsedMacCode": "6d36a34b2a5d5a63390dec0789506fe5[当前机器码]", "UsedIp": "192.168.65.1[当前IP]", "UsedMachineName": "DESKTOP-VHJG83C[当前机器名]", "UsedMacCodeList": "af6299303ea26efdac3e7219aad1ee71,6d36a34b2a5d5a63390dec0789506fe5,
9d789c777be556e349e4ee8b460dd1c5,6d36a34b2a5d5a63390dec0789506fe5[使用过的历史机器码]", "UsedIpList": "192.168.23.1,192.168.65.1,192.168.0.104,192.168.65.1[使用过的历史IP]", "Use_timeList": "1709779156076[使用过的历史时间]", "UsedMachineNameList": "LZONEL,DESKTOP-VHJG83C,LZONEL,DESKTOP-VHJG83C[使用过的历史机器名]", "Unbind": "0[当前剩余解绑次数]" } }
查询成功如下:

6:解绑操作

解绑函数:
ApiResponse m_ApiResponse = this.zoneHelper.UnbindCard(卡密);
ApiResponse m_ApiResponse = this.zoneHelper.UnbindAccount(账号,密码);
同样返回的m_ApiResponse在示例中有详细的解释
返回结果如下:

{ "status": "200", "message": "Unbind Success!", "code": "50040", "data": { "run_status": "success[操作成功]", "CapacityForTime": "0[剩余时间]", "CapacityForNum": "99[剩余点数]", "Unbind": "10[剩余解绑次数]", "Message": "解绑成功!" } }
查询成功如下:

7:防破解功能说明

云变量:
你可以设置mode,来灵活限制是否需要用户登录成功过后获取到云变量
ApiResponse m_ApiResponse = this.zoneHelper.GetAntiVariableValue(云变量名称);
返回结果如下:

{ "status": "200", "message": "success-token!", "code": "70003", "data": { "run_status": "success", "Status": "", "value": "lzonel_999[这个是云变量的值]", "Message": "" } }
代码如下:
云算法:
你可以设置mode,来灵活限制是否需要用户登录成功过后获取到云算法
ApiResponse m_ApiResponse = this.zoneHelper.GetAntiAlgorithmValue(云算法名称);
返回结果如下:
{ "status": "200", "message": "Success-GET!", "code": "70015", "data": { "run_status": "success", "Status": "", "value": "[你的云算法返回的值]", "Message": "" } }
代码如下:
黑名单:

  • 可以随意切换客户端通信方式:HTTP,HTTPS,SOCKET.
  • 登录过后所有操作均使用Token.
  • C#Winforms程序接入验证完毕之后,推荐进行加密混淆操作.