public static void setUserInfoEx(TssSdk.EENTRYID entryId, string uin, string appId, uint worldId, string roleId) { byte[] bytes = Encoding.ASCII.GetBytes(uin); byte[] bytes2 = Encoding.ASCII.GetBytes(appId); byte[] bytes3 = Encoding.ASCII.GetBytes(roleId); TssSdk.OutputUnityBuffer outputUnityBuffer = new TssSdk.OutputUnityBuffer((uint)(39 + bytes.Length + 1 + bytes2.Length + 1 + bytes3.Length + 1)); outputUnityBuffer.write(1); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 1u); outputUnityBuffer.write(2); outputUnityBuffer.write(4); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 4u); TssSdk.SerializeUnity.putInteger(outputUnityBuffer, (uint)entryId); outputUnityBuffer.write(66); uint length = (uint)(bytes.Length + 1); TssSdk.SerializeUnity.putLength(outputUnityBuffer, length); TssSdk.SerializeUnity.putByteArray(outputUnityBuffer, bytes); outputUnityBuffer.write(65); length = (uint)(bytes2.Length + 1); TssSdk.SerializeUnity.putLength(outputUnityBuffer, length); TssSdk.SerializeUnity.putByteArray(outputUnityBuffer, bytes2); outputUnityBuffer.write(5); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 4u); TssSdk.SerializeUnity.putInteger(outputUnityBuffer, worldId); outputUnityBuffer.write(67); length = (uint)(bytes3.Length + 1); TssSdk.SerializeUnity.putLength(outputUnityBuffer, length); TssSdk.SerializeUnity.putByteArray(outputUnityBuffer, bytes3); TssSdk.tss_unity_str(outputUnityBuffer.toByteArray(), outputUnityBuffer.getLength()); }
public void Update() { if (this.bInit && ((Time.time - this.m_LastTime) > 20f)) { IntPtr ptr = TssSdk.tss_get_report_data(); if (ptr != IntPtr.Zero) { TssSdk.AntiDataInfo info = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short num = Marshal.ReadInt16(ptr, 0); long num2 = Marshal.ReadInt64(ptr, 2); info.anti_data_len = (ushort)num; info.anti_data = new IntPtr(num2); } else if (TssSdk.Is32bit()) { short num3 = Marshal.ReadInt16(ptr, 0); int num4 = Marshal.ReadInt32(ptr, 2); info.anti_data_len = (ushort)num3; info.anti_data = new IntPtr(num4); } if (info.anti_data != IntPtr.Zero) { CSPkg msg = NetworkModule.CreateDefaultCSPKG(0xbb8); msg.stPkgData.stAntiDataReq.wLen = info.anti_data_len; Marshal.Copy(info.anti_data, msg.stPkgData.stAntiDataReq.szBuff, 0, info.anti_data_len); Singleton <NetworkModule> .GetInstance().SendLobbyMsg(ref msg, false); } TssSdk.tss_del_report_data(ptr); } this.m_LastTime = Time.time; } }
public static TssSdk.AntiDecryptResult TssSdkDecrypt(byte[] src, uint src_len, ref byte[] tar, ref uint tar_len) { TssSdk.AntiDecryptResult result = TssSdk.AntiDecryptResult.ANTI_DECRYPT_FAIL; GCHandle gCHandle = GCHandle.Alloc(src, GCHandleType.Pinned); GCHandle gCHandle2 = GCHandle.Alloc(tar, GCHandleType.Pinned); if (gCHandle.IsAllocated && gCHandle2.IsAllocated) { TssSdk.DecryptPkgInfo decryptPkgInfo = new TssSdk.DecryptPkgInfo(); decryptPkgInfo.encrypt_data_ = gCHandle.AddrOfPinnedObject(); decryptPkgInfo.encrypt_data_len = src_len; decryptPkgInfo.game_pkg_ = gCHandle2.AddrOfPinnedObject(); decryptPkgInfo.game_pkg_len_ = tar_len; result = TssSdk.tss_sdk_decryptpacket(decryptPkgInfo); tar_len = decryptPkgInfo.game_pkg_len_; } if (gCHandle.IsAllocated) { gCHandle.Free(); } if (gCHandle2.IsAllocated) { gCHandle2.Free(); } return(result); }
public static TssSdk.AntiEncryptResult TssSdkEncrypt(int cmd_id, byte[] src, uint src_len, ref byte[] tar, ref uint tar_len) { TssSdk.AntiEncryptResult result = TssSdk.AntiEncryptResult.ANTI_NOT_NEED_ENCRYPT; GCHandle gCHandle = GCHandle.Alloc(src, GCHandleType.Pinned); GCHandle gCHandle2 = GCHandle.Alloc(tar, GCHandleType.Pinned); if (gCHandle.IsAllocated && gCHandle2.IsAllocated) { TssSdk.EncryptPkgInfo encryptPkgInfo = new TssSdk.EncryptPkgInfo(); encryptPkgInfo.cmd_id_ = cmd_id; encryptPkgInfo.game_pkg_ = gCHandle.AddrOfPinnedObject(); encryptPkgInfo.game_pkg_len_ = src_len; encryptPkgInfo.encrpty_data_ = gCHandle2.AddrOfPinnedObject(); encryptPkgInfo.encrypt_data_len_ = tar_len; result = TssSdk.tss_sdk_encryptpacket(encryptPkgInfo); tar_len = encryptPkgInfo.encrypt_data_len_; } if (gCHandle.IsAllocated) { gCHandle.Free(); } if (gCHandle2.IsAllocated) { gCHandle2.Free(); } return(result); }
private void setUserInfo(ApolloAccountInfo accountInfo, uint worldId, string roleId) { if (accountInfo == null) { ADebug.Log("TssService account info is null"); } else { TssSdk.EENTRYID entryId = TssSdk.EENTRYID.ENTRY_ID_OTHERS; string openId = accountInfo.OpenId; string appId = null; if (accountInfo != null) { if (accountInfo.Platform == ApolloPlatform.Wechat) { entryId = TssSdk.EENTRYID.ENTRY_ID_MM; appId = ApolloCommon.ApolloInfo.WXAppId; } else { entryId = TssSdk.EENTRYID.ENTRY_ID_QZONE; appId = ApolloCommon.ApolloInfo.QQAppId; } } TssSdk.TssSdkSetUserInfoEx(entryId, openId, appId, worldId, roleId); } }
public void StartSendDataToSvr() { IntPtr intPtr = TssSdk.tss_get_report_data(); if (intPtr != IntPtr.Zero) { TssSdk.AntiDataInfo antiDataInfo = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short num = Marshal.ReadInt16(intPtr, 0); long value = Marshal.ReadInt64(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num; antiDataInfo.anti_data = new IntPtr(value); } else if (TssSdk.Is32bit()) { short num2 = Marshal.ReadInt16(intPtr, 0); long value2 = (long)Marshal.ReadInt32(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num2; antiDataInfo.anti_data = new IntPtr(value2); } else { Debug.LogError(this.tag + " TSSSDK NO INT TYPE"); } if (this.SendDataToSvr(antiDataInfo)) { TssSdk.tss_del_report_data(intPtr); } } }
public static void TssSdkSetGameStatus(TssSdk.EGAMESTATUS gameStatus) { TssSdk.GameStatusInfo gameStatusInfo = new TssSdk.GameStatusInfo(); gameStatusInfo.size_ = (uint)Marshal.SizeOf(gameStatusInfo); gameStatusInfo.game_status_ = (uint)gameStatus; TssSdk.tss_sdk_setgamestatus(gameStatusInfo); }
public void OnLogin(int platf, string openId, uint worldId, string roleId) { this.isLogin = true; Debug.Log(string.Concat(new object[] { this.tag, " plat: ", platf, "openid:", openId, " worldid: ", worldId, " roleid: ", roleId })); if (platf == 3) { TssSdk.TssSdkSetUserInfoEx(TssSdk.EENTRYID.ENTRY_ID_QQ, openId, "1105309683", worldId, roleId); } else if (platf == 4) { TssSdk.TssSdkSetUserInfoEx(TssSdk.EENTRYID.ENTRY_ID_MM, openId, "wxfdab5af74990787a", worldId, roleId); } else { TssSdk.TssSdkSetUserInfoEx(TssSdk.EENTRYID.ENTRY_ID_OTHERS, openId, "guest100023", worldId, roleId); } }
public static void TssSdkInit(uint gameId) { TssSdk.SerializeUnity.setInitInfo(gameId); TssSdk.tss_enable_get_report_data(); TssSdk.tss_log_str(TssSdkVersion.GetSdkVersion()); TssSdk.tss_log_str(TssSdtVersion.GetSdtVersion()); BugtraceAgent2.EnableExceptionHandler(); }
public static void On_GetAntiData(CSPkg msg) { if (!MonoSingleton <TssdkSys> .instance.bEnableTSS) { return; } TssSdk.TssSdkRcvAntiData(msg.stPkgData.stAntiDataSyn.szBuff, msg.stPkgData.stAntiDataSyn.wLen); }
internal void SetAntiData(byte[] data, int len = 0) { if (data != null) { if (len == 0) { len = data.Length; } TssSdk.TssSdkRcvAntiData(data, (ushort)len); } }
private void OnApplicationPause(bool pause) { if (pause) { TssSdk.TssSdkSetGameStatus(TssSdk.EGAMESTATUS.GAME_STATUS_BACKEND); } else { TssSdk.TssSdkSetGameStatus(TssSdk.EGAMESTATUS.GAME_STATUS_FRONTEND); } }
public static void setInitInfo(uint gameId) { TssSdk.OutputUnityBuffer outputUnityBuffer = new TssSdk.OutputUnityBuffer(15u); outputUnityBuffer.write(1); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 1u); outputUnityBuffer.write(1); outputUnityBuffer.write(2); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 4u); TssSdk.SerializeUnity.putInteger(outputUnityBuffer, gameId); TssSdk.tss_unity_str(outputUnityBuffer.toByteArray(), outputUnityBuffer.getLength()); }
public static void setGameStatus(TssSdk.EGAMESTATUS gameStatus) { TssSdk.OutputUnityBuffer outputUnityBuffer = new TssSdk.OutputUnityBuffer(15u); outputUnityBuffer.write(1); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 1u); outputUnityBuffer.write(3); outputUnityBuffer.write(3); TssSdk.SerializeUnity.putLength(outputUnityBuffer, 4u); TssSdk.SerializeUnity.putInteger(outputUnityBuffer, (uint)gameStatus); TssSdk.tss_unity_str(outputUnityBuffer.toByteArray(), outputUnityBuffer.getLength()); }
private void OnApplicationPause(bool pause) { Debug.Log(this.tag + " puase: " + pause); if (pause) { TssSdk.TssSdkSetGameStatus(TssSdk.EGAMESTATUS.GAME_STATUS_BACKEND); } else { TssSdk.TssSdkSetGameStatus(TssSdk.EGAMESTATUS.GAME_STATUS_FRONTEND); } }
public static void TssSdkSetUserInfoEx(TssSdk.EENTRYID entryId, string uin, string appId, uint worldId, byte[] roleId ) { m_roleId = LuaUInt64.BytesToUInt64(roleId); string roleIdstr = Encoding.UTF8.GetString(roleId); TssSdk.TssSdkSetUserInfoEx(entryId, uin, appId, worldId, roleIdstr); }
private void OnApplicationPause(bool pause) { if (pause) { TssSdk.TssSdkSetGameStatus(TssSdk.EGAMESTATUS.GAME_STATUS_BACKEND); } else { TssSdk.TssSdkSetGameStatus(TssSdk.EGAMESTATUS.GAME_STATUS_FRONTEND); } Singleton <BeaconHelper> .GetInstance().Event_ApplicationPause(pause); }
public static void TssSdkInit(uint gameId) { TssSdk.InitInfo initInfo = new TssSdk.InitInfo(); initInfo.size_ = (uint)Marshal.SizeOf(initInfo); initInfo.game_id_ = gameId; initInfo.send_data_to_svr = (IntPtr)0; TssSdk.tss_sdk_init(initInfo); TssSdk.tss_enable_get_report_data(); TssSdk.tss_log_str(TssSdkVersion.GetSdkVersion()); TssSdk.tss_log_str(TssSdtVersion.GetSdtVersion()); BugtraceAgent.EnableExceptionHandler(); }
private void Update() { if ((Time.realtimeSinceStartup - lastTime) < interval) { return; } // 如果socket还没有连接,则不发送安全sdk数据 if (!Capstones.UnityFramework.Network.ClientSocket.GetSocketConnectState()) { return; } lastTime = Time.realtimeSinceStartup; IntPtr addr = TssSdk.tss_get_report_data(); if (addr != IntPtr.Zero) { TssSdk.AntiDataInfo info = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short anti_data_len = Marshal.ReadInt16(addr, 0); Int64 anti_data = Marshal.ReadInt64(addr, 2); info.anti_data_len = (ushort)anti_data_len; info.anti_data = new IntPtr(anti_data); } else if (TssSdk.Is32bit()) { short anti_data_len = Marshal.ReadInt16(addr, 0); Int32 anti_data = Marshal.ReadInt32(addr, 2); info.anti_data_len = (ushort)anti_data_len; info.anti_data = new IntPtr(anti_data); } // 数据长度大于1024的直接丢弃 if (info.anti_data_len > 1024) { if (GLog.IsLogInfoEnabled) { GLog.LogInfo("Tsssdk上报数据长度大于1024,丢弃"); } TssSdk.tss_del_report_data(addr); return; } if (SendDataToServer(info)) { TssSdk.tss_del_report_data(addr); } } }
private void OnTssCollected() { IntPtr ptr = TssSdk.tss_get_report_data(); if (ptr != IntPtr.Zero) { TssSdk.AntiDataInfo info = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short num = Marshal.ReadInt16(ptr, 0); long num2 = Marshal.ReadInt64(ptr, 2); info.anti_data_len = (ushort)num; info.anti_data = new IntPtr(num2); } else if (TssSdk.Is32bit()) { short num3 = Marshal.ReadInt16(ptr, 0); long num4 = Marshal.ReadInt32(ptr, 2); info.anti_data_len = (ushort)num3; info.anti_data = new IntPtr(num4); } if (info.anti_data == IntPtr.Zero) { ADebug.Log("OnTssCollected aniti data is null"); } else { ApolloTSS otss; otss = new ApolloTSS { wLen = info.anti_data_len, szData = new byte[otss.wLen] }; Marshal.Copy(info.anti_data, otss.szData, 0, otss.wLen); ADebug.Log("begin send tss data len:" + otss.wLen); if (this.talker != null) { this.talker.Send(TalkerCommand.CommandDomain.TSS, otss); } else if (this.transfer != null) { this.transfer.OnTssDataCollected(otss.szData); } TssSdk.tss_del_report_data(ptr); } } else { ADebug.Log("tss tss_get_report_data addr is null"); } }
protected override void Init() { base.Init(); try { TssSdk.TssSdkInit(0xa11); this.bInit = true; this.m_LastTime = Time.time; Debug.Log("TssdkSys init"); } catch (Exception) { this.bInit = false; } }
public void CreateTssSDKSys(string openId, int nPlatform) { Debug.Log("TssdkSys CreateTssSDKSys, nplatf = " + nPlatform); if (openId != null) { if (nPlatform == 2) { TssSdk.TssSdkSetUserInfo((TssSdk.EENTRYID)nPlatform, openId, ApolloConfig.WXAppID); } else { TssSdk.TssSdkSetUserInfo((TssSdk.EENTRYID)nPlatform, openId, ApolloConfig.QQAppID); } } }
/** * 读取指针 * * 说明:直接使用Marshal.ReadIntPtr是不可以的,测试的时候,在一些老版本的Unity(4.*)上,在编译成64ios工程后会编译不过 * 所以需要先按机器位数(32/64)读整形,再转成IntPtr指针 */ private static IntPtr ReadIntPtr(IntPtr addr, int off) { IntPtr ptr = IntPtr.Zero; if (TssSdk.Is64bit()) { Int64 v64 = Marshal.ReadInt64(addr, off); ptr = new IntPtr(v64); } else { Int32 v32 = Marshal.ReadInt32(addr, off); ptr = new IntPtr(v32); } return(ptr); }
private void OnApplicationPause(bool pause) { if (!this.bInit || !this.bEnableTSS) { return; } if (pause) { TssSdk.TssSdkSetGameStatus(2); } else { TssSdk.TssSdkSetGameStatus(1); } Singleton <BeaconHelper> .GetInstance().Event_ApplicationPause(pause); }
public static byte[] TssSdkGetSdkReportData2() { IntPtr addr = tss_get_report_data2(); if (addr == IntPtr.Zero) { return(null); } ushort anti_data_len = 0; IntPtr anti_data = IntPtr.Zero; if (TssSdk.Is32bit()) { //FileLog.Log("c#.32bit"); anti_data_len = (ushort)Marshal.ReadInt16(addr, 0); Int32 anti_data_addr = Marshal.ReadInt32(addr, 2); if (anti_data_addr == 0) { return(null); } anti_data = new IntPtr(anti_data_addr); } else if (TssSdk.Is64bit()) { //FileLog.Log("c#.64bit"); anti_data_len = (ushort)Marshal.ReadInt16(addr, 0); Int64 anti_data_addr = Marshal.ReadInt64(addr, 2); if (anti_data_addr == 0) { return(null); } anti_data = new IntPtr(anti_data_addr); } // if (anti_data == IntPtr.Zero) { return(null); } // byte[] data = new byte[anti_data_len]; Marshal.Copy(anti_data, data, 0, anti_data_len); return(data); }
private void OnTssCollected() { IntPtr intPtr = TssSdk.tss_get_report_data(); if (intPtr != IntPtr.Zero) { TssSdk.AntiDataInfo antiDataInfo = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short num = Marshal.ReadInt16(intPtr, 0); long num2 = Marshal.ReadInt64(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num; antiDataInfo.anti_data = new IntPtr(num2); } else if (TssSdk.Is32bit()) { short num3 = Marshal.ReadInt16(intPtr, 0); long num4 = (long)Marshal.ReadInt32(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num3; antiDataInfo.anti_data = new IntPtr(num4); } if (antiDataInfo.anti_data == IntPtr.Zero) { ADebug.Log("OnTssCollected aniti data is null"); return; } ApolloTSS apolloTSS = new ApolloTSS(); apolloTSS.wLen = antiDataInfo.anti_data_len; apolloTSS.szData = new byte[(int)apolloTSS.wLen]; Marshal.Copy(antiDataInfo.anti_data, apolloTSS.szData, 0, (int)apolloTSS.wLen); ADebug.Log("begin send tss data len:" + apolloTSS.wLen); if (this.talker != null) { this.talker.Send(TalkerCommand.CommandDomain.TSS, apolloTSS); } else if (this.transfer != null) { this.transfer.OnTssDataCollected(apolloTSS.szData); } TssSdk.tss_del_report_data(intPtr); } else { ADebug.Log("tss tss_get_report_data addr is null"); } }
public static void TssSdkRcvAntiData(byte[] data, ushort length) { IntPtr intPtr = Marshal.AllocHGlobal(2 + IntPtr.Size); if (intPtr != IntPtr.Zero) { Marshal.WriteInt16(intPtr, 0, (short)length); IntPtr intPtr2 = Marshal.AllocHGlobal(data.Length); if (intPtr2 != IntPtr.Zero) { Marshal.Copy(data, 0, intPtr2, data.Length); Marshal.WriteIntPtr(intPtr, 2, intPtr2); TssSdk.tss_sdk_rcv_anti_data(intPtr); Marshal.FreeHGlobal(intPtr2); } Marshal.FreeHGlobal(intPtr); } }
protected override void Init() { base.Init(); try { this.bEnableTSS = (PlayerPrefs.GetInt("EnableTSS", this.bEnableTSS ? 1 : 0) != 0); if (this.bEnableTSS) { TssSdk.TssSdkInit(2577u); this.bInit = true; this.m_LastTime = Time.time; Debug.Log("TssdkSys init"); } } catch (Exception) { this.bInit = false; } }
public void StartWithTalker(IApolloTalker talker, float intervalBetweenCollections = 2f) { this.intervalBetweenCollections = intervalBetweenCollections; this.ResetTimeInterval(); this.talker = (talker as ApolloTalker); if (this.talker == null) { throw new Exception("Talker must not be null !"); } this.talker.Register <ApolloTSS>(TalkerCommand.CommandDomain.TSS, delegate(ApolloTSS resp) { if (resp != null) { ADebug.Log("tss recv data len:" + resp.wLen); TssSdk.TssSdkRcvAntiData(resp.szData, resp.wLen); } else { ADebug.Log("Tss resp is null"); } }); }
public void Update() { if (!this.bInit || !this.bEnableTSS) { return; } if (Time.time - this.m_LastTime > 20f) { IntPtr intPtr = TssSdk.tss_get_report_data(); if (intPtr != IntPtr.Zero) { TssSdk.AntiDataInfo antiDataInfo = new TssSdk.AntiDataInfo(); if (TssSdk.Is64bit()) { short num = Marshal.ReadInt16(intPtr, 0); long num2 = Marshal.ReadInt64(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num; antiDataInfo.anti_data = new IntPtr(num2); } else if (TssSdk.Is32bit()) { short num3 = Marshal.ReadInt16(intPtr, 0); int num4 = Marshal.ReadInt32(intPtr, 2); antiDataInfo.anti_data_len = (ushort)num3; antiDataInfo.anti_data = new IntPtr(num4); } if (antiDataInfo.anti_data != IntPtr.Zero) { CSPkg cSPkg = NetworkModule.CreateDefaultCSPKG(3000u); cSPkg.stPkgData.stAntiDataReq.wLen = antiDataInfo.anti_data_len; Marshal.Copy(antiDataInfo.anti_data, cSPkg.stPkgData.stAntiDataReq.szBuff, 0, (int)antiDataInfo.anti_data_len); Singleton <NetworkModule> .GetInstance().SendLobbyMsg(ref cSPkg, false); } TssSdk.tss_del_report_data(intPtr); } this.m_LastTime = Time.time; } }
public void Intialize(uint gameId) { this.gameId = gameId; TssSdk.TssSdkInit(gameId); }