【英雄联盟API调用】系统用户权限排坑求助文,悬15RMB,可以解决就私我(部分问题已解决)

2023-12-14 11:36:14

查找LOL客户端(归为坑类)

wmic PROCESS WHERE name='LeagueClientUx.exe' GET commandline

当你输入这一行指令时,且你的 LOL 客户端在线时,如果你的 CMD 此时是管理员权限,则会出现以下内容

CommandLine

// 以下为Admin状态下的CMD显示内容
{
   数据...
}

当你输入这一行指令时,且你的 LOL 客户端在线时,如果你的 CMD 此时不是管理员权限,则会出现以下内容

CommandLine

// 以下为非Admin状态下的CMD显示内容(不会出数据)




node 编译查找个人信息接口的脚本

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

let all = null;
const { exec } = require('child_process');
const https = require('https');

const findLeagueClientCommandLine = async () => {
  return new Promise((resolve, reject) => {
    exec('"C:\\Windows\\System32\\wbem\\wmic" PROCESS WHERE "name=\'LeagueClientUx.exe\'" GET commandline', (err, stdout) => {
      if (err) {
        reject(err);
      } else {
        all = stdout;
        resolve(stdout);
      }
    });
  });
};

const getRiotData = async (url) => {
  const token = all.match(/remoting-auth-token=(.*?)["'\s]/)[1]
  const port = all.match(/--app-port=(.*?)["'\s]/)[1]
  const auth = Buffer.from(`riot:${token}`).toString('base64');
  const headers = {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Authorization': `Basic ${auth}`
  };
  const options = {
    hostname: '127.0.0.1',
    port: port,
    path: url,
    method: 'GET',
    headers: headers
  };
  return new Promise((resolve, reject) => {
    const req = https.request(options, (res) => {
      let data = '';
      res.on('data', (chunk) => {
        data += chunk;
      });
      res.on('end', () => {
        resolve(data);
      });
    });
    req.on('error', (error) => {
      reject(error);
    });
    req.end();
  });
};

const main = async () => {
  try {
    const leagueClientCommandline = await findLeagueClientCommandLine();
    console.log('LeagueClientUx.exe 命令行参数:', leagueClientCommandline);
    const currentUser = await getRiotData('/lol-summoner/v1/current-summoner');
    console.log('感谢使用本程序, 当前获取到的用户数据:', currentUser);
  } catch (error) {
    console.error('发生错误:', error);
  }
};

main();

------------------------------------------未解决------------------------------------------------

? Nodejs(node脚本启动坑点)

1. 你的node启动是本机无管理员权限的 cmd命令提示符

这个权限问题我在尝试解决,真的不好解决,或者不知道如何解决 = =!

---------------------------------------------------------------------------------------------------

------------------------------------------已解决------------------------------------------------

? 当你尝试了很多次,被权限问题困扰,这时你准备重新开一个Admin权限的系统用户时…(环境问题已解决,若有此主标题内其它问题欢迎咨询)

假设你已经成功开通了一个拥有Admin权限的账户,这时候打开的 cmd 也是具有管理员权限的终端命令提示符

然而可能新的问题出现了...

1. 你的系统环境因为切换用户被重置了, 此时你可以使用 yran 下载项目, 但是当你使用 yarn start 启动项目时,此时开始报错…

报错信息(已解决 => 环境问题)
PS C:\Users\ASUS\Desktop\L> yarn start
yarn run v1.22.17
warning ..\..\package.json: No license field
$ concurrently "react-app-rewired start" "start node get-lol-data.js"
[0] Error occurred when executing command: react-app-rewired start
[0] Error: spawn cmd.exe ENOENT
[0]     at ChildProcess._handle.onexit (node:internal/child_process:284:19)
[0]     at onErrorNT (node:internal/child_process:477:16)
[0]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[1] Error occurred when executing command: start node get-lol-data.js
[1] Error: spawn cmd.exe ENOENT
[1]     at ChildProcess._handle.onexit (node:internal/child_process:284:19)
[1]     at onErrorNT (node:internal/child_process:477:16)
[1]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[1] start node get-lol-data.js exited with code -4058
[0] react-app-rewired start exited with code -4058
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
这个报错应该是牵扯到环境变量问题。。。(已解决 => 环境问题)

我至少能保证项目是没问题的,因为我在老系统用户 (ASUS) 中能够顺利启动此项目,只不过我 ASUS 用户 CMD` 是没有管理员权限的


Admin 账户现在只有一个 NODE_PATH 不知道是不是少装了什么,导致项目启动不起来…

问题解决方案

报错: Error: spawn cmd.exe ENOENT

Windows系统 中,cmd.exe 是命令提示符窗口的可执行文件,如果出现 Error: spawn cmd.exe ENOENT 的错误,可能是因为系统无法找到 cmd.exe 文件

添加环境变量

添加系统环境变量 %SystemRoot%\system32
此时关闭旧的 cmd终端 重新打开 输入 yarn start 完美运行,游戏数据显示

---------------------------------------------------------------------------------------------------


等待排坑补文

第一个用户权限问题未解决

未解决…

第二个环境问题已解决

当你的主账户无法获取管理员 cmd 时,你选择登录一个拥有完全控制权的 Admin 账户,此时环境被重置,你需要了解 Nodejs 安装和环境配置,配置好后,再去系统环境变量中修改 Path 添加一个新的变量为 %SystemRoot%\system32

此时你再去运行项目,就可以读取到 LOL 客户端数据以及玩家数据了

LOL 拳头 API

https://developer.riotgames.com/apis

文章来源:https://blog.csdn.net/Dongfang_project/article/details/134989027
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。