adb push D:\ICODE_HOME\HookCli\yyyy_js\assets\main\index.jsc /data/local/tmp/index.jsc 日志过滤: package:com.rbigkic.yyydsj -message~:'(Fail to play)|世界|CertificateException|CertPathValidatorException|audio|JniHelper|resource|SSLHandshakeException|ResMgr|conscrypt|CertificateExpiredException' -tag~:'init haveGPS =|System.err' -message~:'Location|DeviceMgr' se::ScriptEngine::runScript(std::__ndk1::basic_string,std::__ndk1::allocator> const&,se::Value *) 00569514 终结解决方案 0、配置的位置:window.HMFAppConfig = { 1、开启log !HMFAppConfig.isEnableConsoleLog 2、各种socket搜索正则 /\w+websocket"\) t[e[10] = "MsgID_ConnClose_Notice"] = 10; 3、横竖屏游戏类型 t.isInHorizontalGameScene = function() { var e = cc.director.getScene().name; return e.startsWith("CowboyScene") || e.startsWith("HumanboyScene") || e.startsWith("PokerMasterScene") || e.startsWith("VideoCowboyScene") || "BlackjackPVP" == e; }; t.isInVerticalGameScene = function() { var e = cc.director.getScene().name; return e.startsWith("gameTable") || "Game" == e || "JackfruitScene" == e || "multipleGame" == e; }; 4、注册各种监听 230788,1: this.registerMessage(e, t, d.default.Enum.GameId.CowBoy); 231507,1: this.registerMessage(e, t, h.default.Enum.GameId.CowBoy); 242257,1: this.registerMessage(e, t, l.default.Enum.GameId.Data); 266456,1: this.registerMessage(e, t, u.default.Enum.GameId.Texas); 314946,1: this.registerMessage(e, t, a.default.Enum.GameId.HumanBoy); 335619,1: this.registerMessage(t, n, s.default.Enum.GameId.Jackfruit); 379954,1: this.registerMessage(e, t, s.default.Enum.GameId.PokerMaster); 381517,1: this.registerMessage(e, t, s.default.Enum.GameId.PokerMaster); 424396,1: this.registerMessage(e, t, s.default.Enum.GameId.VideoCowboy); 432702,1: this.registerMessage(e, t, d.default.Enum.GameId.World); 游戏配置可能 window.WPGameData = { this.HOST_NAME = { 0: { ws: "ws", http: "http", pkf: [ "34.96.176.147:25501", "redeast.zongeng.com" ], pkfApi: [ "34.96.176.147:25501", "redeastapi.zongeng.com" ], config: [ "47.242.42.76:29016" ], pkfAssets: [ "47.242.42.76:22005" ] }, 1: { ws: "ws", http: "http", pkf: [ "47.242.42.76:25501", "redeast.zongeng.com" ], pkfApi: [ "47.242.42.76:25501", "redeastapi.zongeng.com" ], config: [ "47.242.42.76:29016" ], pkfAssets: [ "47.242.42.76:22005" ] }, 2: { ws: "wss", http: "https", pkf: [ "api.whjjzs.com", "api.loanflashing.com", "api.tunawest.net", "pokerfang.net", "pokerfang.com" ], pkfApi: [ "api.whjjzs.com", "api.loanflashing.com", "api.tunawest.net", "api.mkters.com", "api.blflnm.com", "api.zongeng.com", "api.yufvlav.cn", "api.jnfeeder.top" ], config: [ "21-server-conf.oss-cn-hongkong.aliyuncs.com" ], pkfAssets: [ "web.jinhuofeng.xyz" ] } }; //各种log HMFUtils.clog = function HMFUtils.log = function(e) HMFAppSetting.showLog cc.log cc.vv.ConsoleLog = { console.log error warm window.HMFRequest = cc.Class({ window.HMFHTTPClient = { //不知道是啥的日志 BJPVPConsoleLog = //网络请求 var o = n.gate_server; 0 === o.indexOf("wss") && cc.sys.isNative ? this.wSocket = new WebSocket(o, "chat", cc.url.raw("resources/ca/cacert.pem")) : this.wSocket = new WebSocket(o); this.wSocket.binaryType = "arraybuffer"; this._send = function this.Send = this._send; sendByPromise: function(e) { e.prototype.send = function(e) { e.prototype.send = function(e) { if (!this.wSocket) return !1; if (this.wSocket.readyState == WebSocket.OPEN) { this.wSocket.send(e); this.u32seq += 1; return !0; } return !1; }; //登陆相关 HMFHTTPClient.phoneNumLogin = function(e) { //UI? 输入框的string password: this.setNewPassWordInputPass.string, passwordRe: this.setNewPassWordConfirmPass.string ====>>>>鲨鱼大师游戏 t.prototype.OnGameRoundEndNotify = function() { console.log("====>>>>鲨鱼大师游戏结束,开始初始化"); this.hideKaiPaiSprite(); this.playJieSuan(); this.playPointAni(); w.default.getVideoCowboyRoom().showTheNewestTrend = !1; this.resetLeftTimer(); this.showHandCardsAnim(); this._openCardLayer.updateCardType(); this._openCardLayer.updateWinCards(); }; 不知道有什么差别,一个PokerMasterBaseSocket 一个PokerMasterHallSocket //解析网络请求 t.prototype._parseNetMsg = function(e, t, n) { console.log(a); console.log(t); console.log(e); console.log(r); var o = this.decodePB(e, t); console.log("" + o); console.log("pokermaster_proto-receive-" + n + "-" + e + " = " + o); return o; }; //解析各种协议 t.prototype._parseNetMsg = function(e, t, n) { console.log(JSON.stringify(a)); console.log(JSON.stringify(t)); console.log(e); console.log(JSON.stringify(r)); var o = this.decodePB(e, t); console.log("" + JSON.stringify(o); console.log("pokermaster_proto-receive-" + n + "-" + e + " = " + o); return o; }; //根据 类型解码pb 取值(BetNotify、MergeAutoBetNotify) t.prototype.decodePB = //全局处理逻辑和websocket回调执行逻辑的地方 e.prototype._fetchInfo //重新定义console.log方法,支持长打印 const originalConsoleLog = console.log; function isHighSurrogate(codeUnit) { return codeUnit >= 0xD800 && codeUnit <= 0xDBFF; } function isLowSurrogate(codeUnit) { return codeUnit >= 0xDC00 && codeUnit <= 0xDFFF; } function splitAndPrintString(str, maxSize) { let strLength = str.length; for (let i = 0; i < strLength; i += maxSize) { let end = i + maxSize; // 确保不要在代理对中间拆分 if (end < str.length && isHighSurrogate(str.charCodeAt(end - 1)) && isLowSurrogate(str.charCodeAt(end))) { end++; } if (strLength > maxSize) {//超过1页 if (i === 0) { // 第一段 originalConsoleLog(str.slice(i, end), "__>>__"); } else if (end >= strLength) { // 最后一段 originalConsoleLog("__<<__", str.slice(i, end)); } else { // 中间的段 originalConsoleLog("__<<__", str.slice(i, end), "__>>__"); } } else { originalConsoleLog(str.slice(i, end)); } } } -----------德州扑克----------------- 服务器关闭通知 ServerCloseNotify suit花色 0方片 1梅花 2红桃 3黑桃 number牌 0=2 1=3 10=8 J=9 Q=10 K=11 A=12 -----------德州扑克----------------- //重新定义console.log方法 console.log = function (...args) { const maxChunkSize = 1000; // 设定最大字符数,可根据需要调整 // 将所有参数转换为字符串并拼接 const combinedString = args.map(arg => { if (typeof arg === 'object') { try { return JSON.stringify(arg); } catch (e) { return "啊啊啊啊啊,解析失败了" + e.message; } } else { return String(arg); } }).join(' '); // 分段打印处理过的字符串 splitAndPrintString(combinedString, maxChunkSize); };