找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 229|回复: 14

史诗魔法封印变更词条方法

[复制链接]

45

主题

482

回帖

1617

积分

已臻大成

积分
1617
发表于 2024-11-7 09:49:18 | 显示全部楼层 |阅读模式
会的都会 不会的就不会
回复

使用道具 举报

45

主题

482

回帖

1617

积分

已臻大成

积分
1617
 楼主| 发表于 2024-11-7 09:49:24 | 显示全部楼层
var CUserCharacInfo_getCurCharacR =  new NativeFunction(ptr(0x0854f718), 'int', ['pointer'], {"abi":"sysv"});
//获取角色状态
var CUser_get_state = new NativeFunction(ptr(0x80DA38C), 'int', ['pointer'], {"abi":"sysv"});
//道具是否被锁
var CUser_CheckItemLock = new NativeFunction(ptr(0x8646942), 'int', ['pointer', 'int', 'int'], {"abi":"sysv"});
//获取角色背包
var CUserCharacInfo_getCurCharacInvenW = new NativeFunction(ptr(0x80DA28E), 'pointer', ['pointer'], {"abi":"sysv"});
var CInventory_GetInvenSlot  = new NativeFunction(ptr(0x084fb918), 'pointer', ['pointer', 'int', 'int', 'int'], {"abi":"sysv"});
var CItem_GetItemGroupName = new NativeFunction(ptr(0x80f1312), 'int', ['pointer'], {"abi":"sysv"});
//获取装备魔法封印等级?
var CEquipItem_GetRandomOptionGrade = new NativeFunction(ptr(0x8514E6E), 'int', ['pointer'], {"abi":"sysv"});
var CInventory_GetInvenRef = new NativeFunction(ptr(0x84FC1DE), 'pointer', ['pointer', 'int', 'int'], {"abi":"sysv"});
var CDataManager_find_item = new NativeFunction(ptr(0x835FA32), 'pointer', ['pointer', 'int'], {"abi":"sysv"});
var CUserCharacInfo_getCurCharacInvenR = new NativeFunction(ptr(0x080da27e), 'pointer', ['pointer'], {"abi":"sysv"});
var CItem_GetUsableLevel = new NativeFunction(ptr(0x80f12ee), 'int', ['pointer'], {"abi":"sysv"});
var CItem_GetRarity = new NativeFunction(ptr(0x80f12d6), 'int', ['pointer'], {"abi":"sysv"});
//以上函数你frida没有就自己加贴进去,有的话就不用贴了
function hookrandomoption(){
var Dispatcher_ResetRandomOption_process = ptr(0X081DD2BE);
var Hook_Dispatcher_ResetRandomOption_process = new NativeFunction(Dispatcher_ResetRandomOption_process, 'int', ['pointer', 'pointer', 'pointer'], { "abi": "sysv" });
var random_option_CRandomOptionItemHandle_reset_option = new NativeFunction(ptr(0x085F39D2), 'int', ['pointer', 'pointer', 'pointer','pointer','pointer'], { "abi": "sysv" });
var cUserHistoryLog_RandomOption = new NativeFunction(ptr(0X08682D3A), 'int', ['pointer', 'pointer', 'int'], { "abi": "sysv" });
回复

使用道具 举报

45

主题

482

回帖

1617

积分

已臻大成

积分
1617
 楼主| 发表于 2024-11-7 09:50:20 | 显示全部楼层
var CInventory_use_item = new NativeFunction(ptr(0X084FF8DE), 'int', ['pointer', 'int', 'pointer','int'], { "abi": "sysv" });
var CUser_SendCmdOkPacket = new NativeFunction(ptr(0X867BEA0), 'int', ['pointer', 'int'], { "abi": "sysv" });
var CUser_SendUpdateItem =  new NativeFunction(ptr(0x867c2d8), 'int', ['pointer', 'int', 'int', 'int'], {"abi":"sysv"});
var RandomOption_set_first_value =  new NativeFunction(ptr(0X85F4078), 'int', ['pointer', 'int', 'int'], {"abi":"sysv"});
var RandomOption_set_second_value=  new NativeFunction(ptr(0X85F40BE), 'int', ['pointer', 'int', 'int'], {"abi":"sysv"})
var Hook_CRandomOptionItemHandle_change_option = new NativeFunction(ptr(0x85f3340), 'int', ['pointer', 'int', 'int','int','int','int','int','pointer'], { "abi": "sysv" });
var MyDispatcher_ModItemAttr__SendResult = new NativeFunction(ptr(0X08201938), 'void', ['pointer', 'pointer', 'pointer','pointer','pointer'], { "abi": "sysv" });
Interceptor.replace(Hook_Dispatcher_ResetRandomOption_process, new NativeCallback(function (a1, CUser,Msg) {
var EquSlot = Msg.add(14).readU16();
if ( CUser_get_state(CUser) != 3||!CUserCharacInfo_getCurCharacR(CUser) )
{
CUser_SendCmdErrorPacket(CUser, 208, 8); //发送装备错误消息
return 0;
}
if(CUser_CheckItemLock(CUser,1,EquSlot)!=0){
CUser_SendCmdErrorPacket(CUser,84,213);
return 0;
}else{
//角色背包
var inven = CUserCharacInfo_getCurCharacInvenW(CUser);
//背包数据
var inven_item = CInventory_GetInvenRef(inven, INVENTORY_TYPE_ITEM, EquSlot);
var equid = inven_item.add(2).readInt();
var item =
回复

使用道具 举报

45

主题

482

回帖

1617

积分

已臻大成

积分
1617
 楼主| 发表于 2024-11-7 09:50:39 | 显示全部楼层
CDataManager_find_item(G_CDataManager(),equid);
var v10 = Msg.add(16).readU16();
var CurCharacInvenR = CUserCharacInfo_getCurCharacInvenR(CUser);
var userItem =  Memory.alloc(128);
var itemSlot =  CInventory_GetInvenSlot(userItem, CurCharacInvenR.toInt32(), 1, v10);
var itemId = userItem.add(2).readU32();
if(itemId == 15){
Hook_Dispatcher_ResetRandomOption_process(a1, CUser,Msg);
return 0;
}else if(itemId == 690000114){
var random_option = inven_item.add(37);
var random_slot = Msg.add(18).readU8();
var arg0 = ptr(0x940b4e0)
var arg1 = equid;
var arg2 = CItem_GetRarity(item);
var arg3 = CItem_GetUsableLevel(item);
var arg4 = CItem_GetItemGroupName(item);
var arg5 = CEquipItem_GetRandomOptionGrade(item);
var arg6 = parseInt(random_slot);
var arg7 = random_option;
if(arg2!=4){
CUser_SendCmdErrorPacket(CUser,438,19); //如果不是史诗发送没有装备要改变
return 0;
}
回复

使用道具 举报

45

主题

482

回帖

1617

积分

已臻大成

积分
1617
 楼主| 发表于 2024-11-7 09:51:04 | 显示全部楼层
Hook_CRandomOptionItemHandle_change_option(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7);
//cUserHistoryLog_RandomOption(CUser.add(497408),inven_item,3)
var v15 = Msg.add(16).readU16();
if ( CInventory_use_item(inven, v15, ptr(1), 1) ){
CUser_SendCmdErrorPacket(CUser,456,22);
}else{
CUser_SendUpdateItem(CUser,1,0,EquSlot);
CUser_SendUpdateItem(CUser,1,0,v15);
CUser_SendCmdOkPacket(CUser,456)
}
return 0;
}
}
}, 'int', ['pointer', 'pointer', 'pointer']));
}
//在你start()函数里面加入hookrandomoption();
回复

使用道具 举报

45

主题

482

回帖

1617

积分

已臻大成

积分
1617
 楼主| 发表于 2024-11-7 09:51:19 | 显示全部楼层
限制字符数2000只能分开
回复

使用道具 举报

发表于 2024-11-7 09:51:44 | 显示全部楼层
道具id在哪里改?用哪个道具模板啊?
回复

使用道具 举报

发表于 2024-11-7 09:51:51 | 显示全部楼层
还是直接赛丽亚就能转换啊?
回复

使用道具 举报

702

主题

4193

回帖

1万

积分

登峰造极

积分
15339
发表于 2024-11-7 09:52:48 | 显示全部楼层
已拿走
啊里嘎多 美羊羊桑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

41

主题

576

回帖

1826

积分

已臻大成

积分
1826
发表于 2024-11-7 09:53:17 | 显示全部楼层
大佬,请问下变更后锻造会消失如何解决呢?
回复

使用道具 举报

41

主题

576

回帖

1826

积分

已臻大成

积分
1826
发表于 2024-11-7 09:54:16 | 显示全部楼层
啊   我要是能看懂   我就是神
回复

使用道具 举报

667

主题

4157

回帖

1万

积分

登峰造极

积分
15103
发表于 2024-11-7 09:54:42 | 显示全部楼层
老哥黑暗武士异界还能分享一下吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

36

主题

606

回帖

1956

积分

已臻大成

积分
1956
发表于 2024-11-7 09:55:18 | 显示全部楼层
等了几天终于出了 可惜看不懂 我还是背包管理器改吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

454

主题

2658

回帖

9921

积分

管理员

积分
9921
发表于 2024-11-7 09:55:49 | 显示全部楼层
感谢分享
回复

使用道具 举报

678

主题

4224

回帖

1万

积分

登峰造极

积分
15354
发表于 2024-11-7 09:56:06 | 显示全部楼层
已收藏,之后慢慢研究魔法封印

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

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

本版积分规则

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