找回密码
 register

QQ登录

只需一步,快速开始

搜索
查看: 54|回复: 1

[软件分享] 新源端纯64位 武道三(动态库函数)重载函数 V0.3

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:364
  • 打卡月天数:12
  • 打卡总奖励:362
  • 最近打卡:2025-12-12 01:08:28
Waylee 发表于 2025-12-11 22:08 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

📜随缘更新

适用版本: 新源端《武道三背饰头饰》 64位服务端 64位的客户端 专用SO


内容说明:
本动态库主要用于便捷调试与开发测试。


包含功能:

  • Hook时间到没拉闸之前(目前没找到拉闸点位,无法彻底根除拉闸,这只能临时办法)
  • LuaFnRefreshScript(sceneId,selfId,002032):用于重载Lua脚本,实现Lua脚本内容的即时生效。
  • LuaFnReloadDropTables(sceneId,selfId):用于重载爆率,掉落怪物表和掉落包裹表。
  • LuaFnReloadShopTables(sceneId,selfId):用于重载元宝商店,ShopTable.txt和ShopSceneLimiti.txt。
  • LuaFnGetAccountName(sceneId,selfId):用于获取角色账号

插件下载:

V0.1 2025-12-11

1.新增重载函数LuaFnRefreshScript
2.时间Hook为拉闸之前 Login World shm Server均已Hook

V0.3 2025-12-12

1.新增重载爆率表LuaFnReloadDropTables
2.新增重载元宝商店函数LuaFnReloadShopTables
新源端动态库V0.3.7z (43.35 KB, 下载次数: 1)

V0.4 待更新

1.新增LuaFnGetAccountName(sceneId,selfId)


启动命令参考:

shm启动命令:

cd /home/tlbb/Server
./shm stop
cd /home/tlbb/Server
./shm start

World启动命令

cd /home/tlbb/Server/ 
unset LD_PRELOAD
export LD_PRELOAD="/home/tlbb/Server/libNewWorld.so"
./World

Login启动命令

cd /home/tlbb/Server/
unset LD_PRELOAD
export LD_PRELOAD="/home/tlbb/Server/libNewLogin.so"
./Login

Server启动命令

unset LD_PRELOAD
export LD_PRELOAD="/home/tlbb/Server/libNewServer.so"
export ASAN_OPTIONS=halt_on_error=0:abort_on_error=0:log_path='/home/tlbb/Server/assert_core.log'
cd /home/tlbb/Server/
./Server

存档服务启动命令:

cd /home/tlbb/Server
./CenterServer

shm 加载so的方法,需要修改文件:\home\tlbb\Server\shm:

#start or stop ShareMemory
#!/bin/sh
# Usage: shm start stop clear disp

userage()
    {
        echo "Usage: ./shm start|stop|clear|disp"
    }

    clrsm()
        {
            _sharemem=`ps -A | grep ShareMemory | awk '{print $4}'`
            if test "$_sharemem" == "ShareMemory"  ; then
                echo "ShareMemory already run, stop it first!"
            else
                ipcs > /tmp/tmp$$
                if test -e /tmp/tmp$$
                then
                    _runflag=0
                    while read _line
                    do
                        if test "$_line" == "" ; then
                            continue
                        fi

                        _run=`echo $_line | grep "Shared Memory Segments"`
                        if test "$_run" != "" ; then
                            _runflag=1
                            continue
                        fi

                        _run=`echo $_line | grep "Semaphore Arrays"`
                        if test "$_run" != "" ; then
                            break
                        fi

                        _tag=`echo $_line | grep "^0x" | awk '{print $5}'`
                        if test "$_tag" == "" ; then
                            continue
                        fi
                        if test "$_tag" == "404" ; then
                            continue
                        fi
                        _tag=`echo $_line | awk '{print $2}'`
                        ./smtool $_tag
                    done < /tmp/tmp$$
                    return 0
                else
                    echo "can't create /tmp/tmp$$, please retry!"
                fi
            fi
            return 1
        }

        start()
            {
                _sharemem=`ps -A | grep ShareMemory | awk '{print $4}'`
                if test "$_sharemem" == "ShareMemory"  ; then
                    echo "ShareMemory already run, start faild!"
                else
                    echo 1024000000 > /proc/sys/kernel/shmmax
                    unset LD_PRELOAD
                    export LD_PRELOAD="/home/tlbb/Server/libNewShareMemory.so"
                    ./ShareMemory&
                    unset LD_PRELOAD
                    return 0
                fi
                return 1
            }

            stop()
                {
                    _sharemem=`ps -A | grep ShareMemory | awk '{print $1}'`
                    if test "$_sharemem" == ""  ; then
                        echo "ShareMemory not run, stop ok!"
                        return 0
                    else
                        kill -9 $_sharemem
                        return 0
                    fi
                    return 1
                }

                disp()
                    {
                        _sharemem=`ps -A | grep ShareMemory | awk '{print $4}'`
                        if test "$_sharemem" == "ShareMemory"  ; then
                            echo "ShareMemory run ok!!"
                            echo ""
                            ipcs
                        else
                            echo "ShareMemory not run!"
                            return 1
                        fi
                        return 0
                    }

                    if test $# != 1 
                    then
                        userage
                        exit 1
                    fi

                    case $1 in
                    start)
                        clrsm
                        start
                        if test $? == 0 ; then
                            echo "start ShareMemory ok! pls wait for it run in loop()..."
                        else
                            echo "some error occ when start ShareMemory, please retry!"
                        fi
                    ;;
                    stop)
                        stop
                        if test $? == 0 ; then
                            echo "stop shm ok!"
                        else
                            echo "some error occ when stop shm, please retry!"
                        fi
                    ;;
                    clear)
                        clrsm
                        if test $? == 0 ; then
                            echo "clear shm ok!"
                        else
                            echo "some error occ when clear shm, please retry!"
                        fi
                    ;;
                    disp)
                        disp
                    ;;
                    *)
                        userage
                        exit 1
                    ;;
                    esac

如有问题,请反馈留言在下方:

  • 打卡等级:小镇青年
  • 打卡总天数:72
  • 打卡月天数:3
  • 打卡总奖励:72
  • 最近打卡:2025-12-12 09:18:42
oming001 发表于 2025-12-12 09:37 | 显示全部楼层 | Google Chrome | Windows 10
支持雪舞大佬来了,厉害了
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 ( 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 ) |网站地图|天天打卡

GMT+8, 2025-12-12 13:22 , Processed in 0.105903 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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