吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4237|回复: 31
收起左侧

[Python 转载] 某小游戏从内存读取token,Python版

  [复制链接]
杨辣子 发表于 2022-9-26 18:46
最近某款小游戏爆火,一时间大家都在熬夜点点点,看广告想办法通关。论坛中也涌现很多大佬开发小工具帮助大家通关过瘾,js,c#,python版本的都有。
偶然一次看到两篇有用易语言从内存获取Token的工具比较跟兴趣,于是自己开始从各个网站、论坛,搜集关于Python读取内存数据的文章。
最终经过不断的改进,测试,终于成功了,下面跟大家分享下成功的喜悦!
大部分代码都是从网上摘取的,由于阅读的文章实在太多了,记不清是哪篇文章,实在抱歉。
再此声明: 代码仅提供在论坛学习讨论用,如若他人用于非法、破坏、篡改行为,均与本人无关
如若违规,烦请管理员删帖,不要记大过,谢谢~
[Python] 纯文本查看 复制代码
import ctypes
from ctypes import *
from ctypes.wintypes import *
import json
import psutil
import re
import sys
import win32api
from win32con import PROCESS_ALL_ACCESS

k32 = WinDLL('kernel32')
k32.OpenProcess.restype = HANDLE
k32.OpenProcess.argtypes = DWORD, BOOL, DWORD
k32.ReadProcessMemory.restype = BOOL
k32.ReadProcessMemory.argtypes = HANDLE, LPVOID, LPVOID, c_size_t, POINTER(c_size_t)

BUF_SIZE = 1024 * 500
prodess_name = '????.exe'
pattern = re.compile('(?<=("token":"))[.\\w]*?(?=(","))')

def get_proc_pid():
    for proc in psutil.process_iter():
        if proc.name() == prodess_name:
            p_proc = psutil.Process(proc.pid)
            return p_proc.parent().pid

def rpm(pid, address):
        process = k32.OpenProcess(PROCESS_ALL_ACCESS, False, pid)
        buf = create_string_buffer(BUF_SIZE)
        s = c_size_t()
        mem_data = k32.ReadProcessMemory(process, address, buf, BUF_SIZE, byref(s))
        return address + BUF_SIZE, str(buf.raw)

def get_app_token(pid):
    start_address = 0x05890000 # 0x00380000 0x05890000
    end_address = 0xFF9F0000
    data = rpm(pid, start_address)
    token = pattern.search(data[1])
    while not token and data[0] < end_address:
        data = rpm(pid, data[0])
        token = pattern.search(data[1])
        if token:
            break
    token = token.group()
    print('当前Token:\n' + token + '\n')
    return token

if __name__ == '__main__':
    pid = get_proc_pid()
    if not pid:
        print('请确认游戏已打开')
        sys.exit()
    token = get_app_token(pid)


环境是
1. python39
2. win10
操作步骤
1. 保存代码
2. 替换prodess_name
3. 打开游戏
4. 执行脚本

免费评分

参与人数 3吾爱币 +7 热心值 +3 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zjerry + 1 + 1 我很赞同!
Quincy379 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 杨辣子 发表于 2022-9-27 00:01
wyangdh 发表于 2022-9-26 19:55
谢谢楼主分享,已成功获取Token,但不知道有什么用

论坛很多工具都需要获取token才可以使用工具刷成绩,传统方式需要你每次去抓包获取。这个是通过读内存的方式获取的
 楼主| 杨辣子 发表于 2022-9-26 23:58
make5466 发表于 2022-9-26 19:38
替换prodess_name是替换成游戏id吗还是微信id

打开任务管理器后你会看到游戏运行的那个程序,如果不确定的话,就右键到在文件夹中打开,你就知道是哪个了
LONGVOICE 发表于 2022-9-26 19:22
make5466 发表于 2022-9-26 19:38
替换prodess_name是替换成游戏id吗还是微信id
wyangdh 发表于 2022-9-26 19:55
谢谢楼主分享,已成功获取Token,但不知道有什么用
ciker_li 发表于 2022-9-26 21:11
然后呢,能改成绩吗
fantawa 发表于 2022-9-26 21:27
谢谢分享
lsy832 发表于 2022-9-26 23:10
是某羊中羊么
头像被屏蔽
gaoxiaowangke 发表于 2022-9-26 23:28
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 杨辣子 发表于 2022-9-26 23:59

就是那个消除小游戏
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表