-
Notifications
You must be signed in to change notification settings - Fork 396
无法登录,提示 当前QQ版本过低/环境异常 #507
Comments
我也是同样不能登录,已经登录的qq还可以用,一旦重新登陆,就卡在滑动验证码。验证码输入之后提示qq版本过低。感觉qq提升风控等级或者更改协议了。 |
我也是同样的问题 |
我发现,qq的pc客户端出新版了。原版登录的时候要滑动验证码登录,新版直接就能登录。可能是协议更新了?也可能是最近在开会,风控等级提升了。 |
咱这边暂时解决了,更换了 https://github.com/icqqjs/icqq ,现在没问题了,以及测试了一下gocqhttp也是可以正常登录的 顺带一提,咱这边不开启设备锁依旧登不上,开启之后就好了,可能是我账号风控太严格了? |
icqq4天前更新了登录协议。oicq没更新。。 |
QQ被冻结了解冻之后又给我冻上了,我压根都没登陆也能给我再冻起来 |
用icqq怎么只能扫码啊,而且扫完没反应。。oicq换号都不能用了 |
现在只能手表扫码登录,而且每次扫码后,下次登录还要重新扫码。 |
同样的问题,与之前 #451 的提示不同,之前的解决方法均无效 |
手表登录,今天也提示版本过低了 |
icqq的密码登录记得查看wiki,和oicq的不一样 |
是不知道怎么登录吧 |
我登录成功了。 |
非常感谢你的方案,和icqq的帮助。 |
来自icqq的维护者之一:求个star |
大神晚上好!已经点star。感觉一个star不太够,如果可以的话,我想点至少100个star。 |
你好,我看了icqq的wiki,账号密码都填写了,登陆时还是扫码登陆,具体怎么操作,能说明一下吗 |
icqq只是解决了大多数账号登录问题,但依然有极少数账号无法登录,这个得慢慢调整 |
或者你加icqq群,我给你看看 |
群在哪,没找到 |
860669870 |
没搜到,设置了吧 |
icqq README.md最底下有链接 |
拦截内鬼,从我做起 |
感谢大佬提供的device.js,完美解决了我的登录问题。目前看下来属于侵入性最小的改动了。 临时方案等oicq的更新把 :) |
唉,不知到oicq的作者还管不管。貌似很久没更了 |
非常感谢! |
非常感谢分享!已经重新登录成功了。 |
非常感谢,这个方法确实很不错,而且我使用docker来运行更加方便,可以把容器中node_modules/oicq/lib/core复制到主机中,然后再映射到容器中,这样也不用每次都配置了,谢谢 |
也给 Icalingua++ 和其对应的协议库分叉点个 star 罢,icqq 登录流程相关的代码是从这个上面移植的 |
感谢提供的修复,解决了登录问题 |
太感谢了 这解决了大问题,,先点个星星以表敬意 |
icqq好像又版本过低了,各位有类似的问题吗? |
+1 |
密码登录代码放在哪里呀 不指导怎么用 |
不知道怎么登录,代码不知道放在那里 |
修改为:
希望之后不要出新变动,感谢 @IC-CN 的及时更新,大家可以给 icqq 个Star: |
icqq版本过低只要删掉设备相关信息就行啦
|
|
+1 |
搞不定,改成:go-cqhttp了 使用正常 |
patch package: diff --git a/lib/core/device.js b/lib/core/device.js
index ffadc63..57da54d 100644
--- a/lib/core/device.js
+++ b/lib/core/device.js
@@ -34,7 +34,7 @@ function generateImei(uin) {
return imei + calcSP(imei);
}
/** 生成短设备信息 */
-function generateShortDevice(uin) {
+function generateShortDeviceDeprecated(uin) {
const hash = (0, constants_1.md5)(String(uin));
const hex = hash.toString("hex");
return {
@@ -56,6 +56,45 @@ function generateShortDevice(uin) {
"--end--": "修改后可能需要重新验证设备",
};
}
+/** 生成随机设备信息 */
+function generateShortDevice(uin) {
+ function randomString(length) {
+ const pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+ let result = "";
+
+ for (let i = 0; i < length; i++) {
+ result += pool.charAt(Math.floor(Math.random() * pool.length));
+ }
+
+ return result;
+ }
+
+ function randomInt(boundary) {
+ return Math.floor(Math.random() * boundary);
+ }
+
+ return {
+ "--begin--": "该设备由账号作为seed固定生成,账号不变则永远相同",
+ "--notice--": "The code that generated this file was patched by Adachi-BOT",
+ product: `ILPP-${randomString(5).toUpperCase()}`,
+ device: `${randomString(5).toUpperCase()}`,
+ board: `${randomString(5).toUpperCase()}`,
+ brand: `${randomString(4).toUpperCase()}`,
+ model: `ILPP ${randomString(4).toUpperCase()}`,
+ wifi_ssid: `HUAWEI-${randomString(7)}`,
+ bootloader: "U-boot",
+ android_id: `IL.${randomInt(10000000)}.${randomInt(10000)}`,
+ boot_id: `${randomString(8)}-${randomString(4)}-${randomString(4)}-${randomString(4)}-${randomString(12)}`,
+ proc_version: `Linux version 5.10.101-android12-${randomString(8)}`,
+ mac_address: `2D:${randomString(2).toUpperCase()}:${randomString(2).toUpperCase()}:${randomString(
+ 2
+ ).toUpperCase()}:${randomString(2).toUpperCase()}:${randomString(2).toUpperCase()}`,
+ ip_address: `192.168.${randomInt(255)}.${randomInt(255)}`,
+ imei: `86${randomInt(10000000000000)}`,
+ incremental: `${randomString(10).toUpperCase()}`,
+ "--end--": "修改后可能需要重新验证设备。",
+ };
+}
exports.generateShortDevice = generateShortDevice;
/** 生成完整设备信息 */
function generateFullDevice(d) {
@@ -104,16 +143,19 @@ var Platform;
Platform[Platform["iPad"] = 5] = "iPad";
})(Platform = exports.Platform || (exports.Platform = {}));
const mobile = {
+ // XXX Here update device informations based on mirai
+ // https://github.com/mamoe/mirai/blob/c9d1d386b16e886ad63eb51e6baf7270fcf2fa7b/mirai-core/src/commonMain/kotlin/utils/MiraiProtocolInternal.kt
id: "com.tencent.mobileqq",
- name: "A8.8.80.7400",
- version: "8.8.80.7400",
- ver: "8.8.80",
- sign: Buffer.from([166, 183, 69, 191, 36, 162, 194, 119, 82, 119, 22, 246, 243, 110, 182, 141]),
+ name: "A8.9.33.10335",
+ version: "8.9.33.10335",
+ ver: "8.9.15",
+ sign: Buffer.from([0xA6, 0xB7, 0x45, 0xBF, 0x24, 0xA2, 0xC2, 0x77, 0x52, 0x77, 0x16, 0xF6, 0xF3, 0x6E, 0xB6, 0x8D]),
- buildtime: 1640921786,
+ buildtime: 1673599898,
appid: 16,
- subid: 537113159,
- bitmap: 184024956,
- sigmap: 34869472,
+ subid: 537151682,
+ bitmap: 150470524,
+ sigmap: 16724722,
+ subsigmap: 0x10400,
- sdkver: "6.0.0.2494",
+ sdkver: "6.0.0.2534",
display: "Android",
}; |
是不是可以给OICQ提个PR? |
感觉作者已经放弃维护了,还是趁早换平台吧。 |
你的icqq能用不?我的还是提示: |
有无更好用的协议库推荐,其他平台的也行 |
有用,谢谢哥 |
copy from icqq update 2023-04-23 22:51:28 ,patch package diff --git a/lib/core/device.js b/lib/core/device.js
index ffadc63..57da54d 100644
--- a/lib/core/device.js
+++ b/lib/core/device.js
@@ -34,7 +34,7 @@ function generateImei(uin) {
return imei + calcSP(imei);
}
/** 生成短设备信息 */
-function generateShortDevice(uin) {
+function generateShortDeviceDeprecated(uin) {
const hash = (0, constants_1.md5)(String(uin));
const hex = hash.toString("hex");
return {
@@ -56,6 +56,45 @@ function generateShortDevice(uin) {
"--end--": "修改后可能需要重新验证设备",
};
}
+/** 生成随机设备信息 */
+function generateShortDevice(uin) {
+ function randomString(length) {
+ const pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+ let result = "";
+
+ for (let i = 0; i < length; i++) {
+ result += pool.charAt(Math.floor(Math.random() * pool.length));
+ }
+
+ return result;
+ }
+
+ function randomInt(boundary) {
+ return Math.floor(Math.random() * boundary);
+ }
+
+ return {
+ "--begin--": "该设备由账号作为seed固定生成,账号不变则永远相同",
+ "--notice--": "The code that generated this file was patched by Adachi-BOT",
+ product: `ILPP-${randomString(5).toUpperCase()}`,
+ device: `${randomString(5).toUpperCase()}`,
+ board: `${randomString(5).toUpperCase()}`,
+ brand: `${randomString(4).toUpperCase()}`,
+ model: `ILPP ${randomString(4).toUpperCase()}`,
+ wifi_ssid: `HUAWEI-${randomString(7)}`,
+ bootloader: "U-boot",
+ android_id: `IL.${randomInt(10000000)}.${randomInt(10000)}`,
+ boot_id: `${randomString(8)}-${randomString(4)}-${randomString(4)}-${randomString(4)}-${randomString(12)}`,
+ proc_version: `Linux version 5.10.101-android12-${randomString(8)}`,
+ mac_address: `2D:${randomString(2).toUpperCase()}:${randomString(2).toUpperCase()}:${randomString(
+ 2
+ ).toUpperCase()}:${randomString(2).toUpperCase()}:${randomString(2).toUpperCase()}`,
+ ip_address: `192.168.${randomInt(255)}.${randomInt(255)}`,
+ imei: `86${randomInt(10000000000000)}`,
+ incremental: `${randomString(10).toUpperCase()}`,
+ "--end--": "修改后可能需要重新验证设备。",
+ };
+}
exports.generateShortDevice = generateShortDevice;
/** 生成完整设备信息 */
function generateFullDevice(d) {
@@ -104,16 +143,19 @@ var Platform;
Platform[Platform["iPad"] = 5] = "iPad";
})(Platform = exports.Platform || (exports.Platform = {}));
const mobile = {
+ // XXX Here update device informations based on mirai
+ // https://github.com/mamoe/mirai/blob/c9d1d386b16e886ad63eb51e6baf7270fcf2fa7b/mirai-core/src/commonMain/kotlin/utils/MiraiProtocolInternal.kt
id: "com.tencent.mobileqq",
- name: "A8.8.80.7400",
- version: "8.8.80.7400",
- ver: "8.8.80",
- sign: Buffer.from([166, 183, 69, 191, 36, 162, 194, 119, 82, 119, 22, 246, 243, 110, 182, 141]),
+ name: "A8.9.50.f5a7d351",
+ version: "8.9.50.10650",
+ ver: "8.9.50",
+ sign: Buffer.from([0xA6, 0xB7, 0x45, 0xBF, 0x24, 0xA2, 0xC2, 0x77, 0x52, 0x77, 0x16, 0xF6, 0xF3, 0x6E, 0xB6, 0x8D]),
- buildtime: 1640921786,
+ buildtime: 1676531414,
appid: 16,
- subid: 537113159,
- bitmap: 184024956,
- sigmap: 34869472,
+ subid: 537155551,
+ bitmap: 150470524,
+ sigmap: 16724722,
+ subsigmap: 0x10400,
- sdkver: "6.0.0.2494",
+ sdkver: "6.0.0.2535",
display: "Android",
}; |
Node.js Version
v19.2.0
Package(oicq) Version
[email protected]
Login Protocol
Watch
Bug Description (最好截图说明,你的文字描述可能无法准确传达信息)
如图
尝试过了其他issue中提出的所有方案,包括 修改
device.js
,使用gocq的设备文件,使用其他协议登录,开启设备锁等,均无法登录还有另外一个错误提示是环境异常
网络环境是电信家庭宽带,理论上来说应该不会是这个的问题?
Log Details (控制台日志,请提供包含前后一段时间内的)
yarn run v1.22.19
$ ts-node app.ts --dev
[2023-03-02T13:12:11.659] [MARK] [Watch:2300691416] - ----------
[2023-03-02T13:12:11.661] [MARK] [Watch:2300691416] - Package Version: [email protected] (Released on 2022/6/21)
[2023-03-02T13:12:11.661] [MARK] [Watch:2300691416] - View Changelogs:https://github.com/takayama-lily/oicq/releases
[2023-03-02T13:12:11.662] [MARK] [Watch:2300691416] - ----------
Use async .hasTable to check if table exists and then use plain .createTable. Since .createTableIfNotExists actually just generates plain "CREATE
TABLE IF NOT EXIST..." query it will not work correctly if there are any alter table queries generated for columns afterwards. To not break old migrations this function is left untouched for now, but it should not be used when writing new code and it is removed from documentation.
Use async .hasTable to check if table exists and then use plain .createTable. Since .createTableIfNotExists actually just generates plain "CREATE
TABLE IF NOT EXIST..." query it will not work correctly if there are any alter table queries generated for columns afterwards. To not break old migrations this function is left untouched for now, but it should not be used when writing new code and it is removed from documentation.
[2023-03-02T13:12:24.861] [INFO] [Watch:2300691416] - Webhook is listening on port 13999
[2023-03-02T13:12:24.922] [MARK] [Watch:2300691416] - 180.109.192.45:8080 connected
[2023-03-02T13:12:25.164] [MARK] [Watch:2300691416] - 收到滑动验证码,请访问以下地址完成滑动,并从网络响应中取出ticket输入:https://ssl.captcha.qq.com/template/wireless_mqq_captcha.html?style=simple&aid=16&uin=2300691416&sid=4338607713048080442&cap_cd=WnD65BKguwNKlP28IxNGyKz3luV26_txlKewaFvP2FDyUmRJHz61sg**&clientype=1&apptype=2
输入ticket:
t03I4Z0kNaTXY9nS5v55NSRRSLtJbEPlrOPsWL20xkuu1qwCvWxIzEsl0DgiF9nR4RJY2fjuxCzZSapc7n66wcKNuK6hGYrgp8mho9wUTx6_wvcYwtB_uwJpy1ONpDmgQrLxdkJI0G_tAY*
[2023-03-02T13:12:47.661] [ERROR] [Watch:2300691416] - [温馨提示]当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面
The text was updated successfully, but these errors were encountered: