久游网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 144|回复: 1

棋牌游戏luadumpN线

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-4 16:19:43 | 显示全部楼层 |阅读模式
1:首先我们拿到一个apk要分析它的构造


很明显我们要分析lua.so 所以我们要把这个so把他载入IDA


分析出导出函数以后  HOOK这个lua函数就能实现脚本的dump了

3:贴上我dumplua的代码和dump出来的脚本




4. 那么dump出来了脚本以后就可以测试各种棋牌的溢出 以及逻辑漏洞等 比如无限金币 透视看牌 强制站起 等等
5. 本人后续会不停跟进游戏以及各种软件安全这方面 希望这些文章能给各种新人带来一些帮助,感兴趣的也可以私下跟我探讨, 一起学习。
#ifndef ADBPROCESS_H
#define ADBPROCESS_H

#include <QObject>

class AdbProcessImpl;
namespace qsc {

class AdbProcess : public QObject
{
    Q_OBJECT

public:
    enum ADB_EXEC_RESULT
    {
        AER_SUCCESS_START,        // 启动成功
        AER_ERROR_START,          // 启动失败
        AER_SUCCESS_EXEC,         // 执行成功
        AER_ERROR_EXEC,           // 执行失败
        AER_ERROR_MISSING_BINARY, // 找不到文件
    };

    explicit AdbProcess(QObject *parent = nullptr);
    virtual ~AdbProcess();

    static void setAdbPath(const QString& adbPath);

    void execute(const QString &serial, const QStringList &args);
    void forward(const QString &serial, quint16 localPort, const QString &deviceSocketName);
    void forwardRemove(const QString &serial, quint16 localPort);
    void reverse(const QString &serial, const QString &deviceSocketName, quint16 localPort);
    void reverseRemove(const QString &serial, const QString &deviceSocketName);
    void push(const QString &serial, const QString &local, const QString &remote);
    void install(const QString &serial, const QString &local);
    void removePath(const QString &serial, const QString &path);
    bool isRuning();
    void setShowTouchesEnabled(const QString &serial, bool enabled);
    void kill();
    QStringList arguments();
    QStringList getDevicesSerialFromStdOut();
    QString getDeviceIPFromStdOut();
    QString getDeviceIPByIpFromStdOut();
    QString getStdOut();
    QString getErrorOut();

signals:
    void adbProcessResult(ADB_EXEC_RESULT processResult);

private:
    AdbProcessImpl* m_adbImpl = nullptr;
};

}
#endif // ADBPROCESS_H
#pragma once
#include <QMouseEvent>

#include "QtScrcpyCoreDef.h"

namespace qsc {

class DeviceObserver {
protected:
    DeviceObserver() {

    }
    virtual ~DeviceObserver() {

    }

public:
    virtual void onFrame(int width, int height, uint8_t* dataY, uint8_t* dataU, uint8_t* dataV, int linesizeY, int linesizeU, int linesizeV) {
        Q_UNUSED(width);
        Q_UNUSED(height);
        Q_UNUSED(dataY);
        Q_UNUSED(dataU);
        Q_UNUSED(dataV);
        Q_UNUSED(linesizeY);
        Q_UNUSED(linesizeU);
        Q_UNUSED(linesizeV);
    }
    virtual void updateFPS(quint32 fps) { Q_UNUSED(fps); }
    virtual void grabCursor(bool grab) {Q_UNUSED(grab);}

    virtual void mouseEvent(const QMouseEvent *from, const QSize &frameSize, const QSize &showSize) {
        Q_UNUSED(from);
        Q_UNUSED(frameSize);
        Q_UNUSED(showSize);
回复

使用道具 举报

0

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2025-3-18 22:33:02 | 显示全部楼层
大人,此事必有蹊跷!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|久游网

GMT+8, 2025-4-7 07:02 , Processed in 0.094809 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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