台服dnf吧 关注:113,417贴子:1,710,173

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

只看楼主收藏回复

会的都会 不会的就不会


IP属地:吉林来自iPhone客户端1楼2023-10-09 20: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" });


    IP属地:吉林来自iPhone客户端2楼2023-10-09 20:28
    回复
      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 =


      IP属地:吉林来自iPhone客户端3楼2023-10-09 20:30
      回复
        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;
        }


        IP属地:吉林来自iPhone客户端4楼2023-10-09 20:30
        回复
          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();


          IP属地:吉林来自iPhone客户端5楼2023-10-09 20:31
          回复
            限制字符数2000只能分开


            IP属地:吉林来自iPhone客户端6楼2023-10-09 20:31
            回复
              道具id在哪里改?用哪个道具模板啊?


              IP属地:河南来自Android客户端7楼2023-10-09 22:31
              回复
                还是直接赛丽亚就能转换啊?


                IP属地:河南来自Android客户端8楼2023-10-09 22:33
                收起回复
                  已拿走 啊里嘎多 美羊羊桑


                  IP属地:山东来自iPhone客户端9楼2023-10-09 23:10
                  收起回复
                    不需要挂dp吗?


                    IP属地:山东来自Android客户端10楼2023-10-09 23:33
                    收起回复
                      大佬,请问下变更后锻造会消失如何解决呢?


                      IP属地:云南来自Android客户端11楼2023-10-10 00:23
                      收起回复
                        啊 我要是能看懂 我就是神


                        IP属地:江苏来自Android客户端12楼2023-10-10 02:03
                        收起回复
                          老哥黑暗武士异界还能分享一下吗


                          IP属地:广东来自Android客户端13楼2023-10-10 02:05
                          回复
                            等了几天终于出了 可惜看不懂 我还是背包管理器改吧


                            IP属地:四川来自Android客户端14楼2023-10-10 05:34
                            回复
                              感谢分享


                              IP属地:甘肃来自Android客户端16楼2023-10-10 09:06
                              回复