更新内存写方法

This commit is contained in:
lenheart
2025-12-02 20:42:06 +08:00
parent 0d0f7a0958
commit f8eeb2e0cf
9 changed files with 515 additions and 279 deletions

View File

@@ -14,6 +14,8 @@ class _Hacker {
NextReturnAddress = null;
CpuContext = null;
constructor() {
HookTable = {};
HookJumpMemoryTable = {};

View File

@@ -85,9 +85,9 @@ class NativePointer extends Base_C_Object {
function write(value, type) {
local Buf = blob(0);
Buf.writen(value, type);
local arr = [];
foreach(value in Buf) {
arr.append(value);
local arr = array(Buf.len());
for (local i = 0; i< Buf.len(); i++) {
arr[i] = Buf[i];
}
writeByteArray(arr);
}

View File

@@ -43,9 +43,11 @@ class Party extends Base_C_Object {
//获取玩家
function GetUser(Pos) {
local C_User = Sq_CallFunc(S_Ptr("0x08145764"), "pointer", ["pointer", "int"], this.C_Object, Pos);
if (C_User) {
return User(C_User);
if (Sq_CallFunc(S_Ptr("0x085B4D12"), "int", ["pointer", "int"], this.C_Object, Pos)) {
local C_User = Sq_CallFunc(S_Ptr("0x08145764"), "pointer", ["pointer", "int"], this.C_Object, Pos);
if (C_User) {
return User(C_User);
}
}
return null;
}

View File

@@ -226,7 +226,7 @@ _Hook_Register_Currency_Func_("0x084D7A90", ["pointer", "pointer", "pointer", "i
//副本内生成物品时
Cb_Battle_Field_MakeDropItems_Enter_Func <- {};
Cb_Battle_Field_MakeDropItems_Leave_Func <- {};
_Hook_Register_Currency_Func_("0x0830ADF6", ["pointer", "int", "int", "int", "short", "int", "int", "int", "char", "int", "int", "int", "void"], Cb_Battle_Field_MakeDropItems_Enter_Func, Cb_Battle_Field_MakeDropItems_Leave_Func);
_Hook_Register_Currency_Func_("0x0830ADF6", ["pointer", "pointer", "pointer", "pointer", "int", "int", "int", "int", "int", "pointer", "float", "int", "void"], Cb_Battle_Field_MakeDropItems_Enter_Func, Cb_Battle_Field_MakeDropItems_Leave_Func);
//独立掉落几率
Cb_IndependentItemRateControl_Enter_Func <- {};
@@ -601,4 +601,24 @@ _Hook_Register_Currency_Func_("0x86C5288", ["int", "pointer", "pointer", "int"],
//获取Item Rarity
Cb_CItem_get_rarity_Enter_Func <- {};
Cb_CItem_get_rarity_Leave_Func <- {};
_Hook_Register_Currency_Func_("0x080F12D6", ["pointer", "int"], Cb_CItem_get_rarity_Enter_Func, Cb_CItem_get_rarity_Leave_Func);
_Hook_Register_Currency_Func_("0x080F12D6", ["pointer", "int"], Cb_CItem_get_rarity_Enter_Func, Cb_CItem_get_rarity_Leave_Func);
//副本内怪物死亡消息包
Cb_CBattle_Field_MakeNotiPacketDieMonster_Enter_Func <- {};
Cb_CBattle_Field_MakeNotiPacketDieMonster_Leave_Func <- {};
_Hook_Register_Currency_Func_("0x0830B8CC", ["pointer", "pointer", "pointer", "int", "int", "pointer", "pointer", "pointer"], Cb_CBattle_Field_MakeNotiPacketDieMonster_Enter_Func, Cb_CBattle_Field_MakeNotiPacketDieMonster_Leave_Func);
//向队伍全体发包
Cb_CParty_send_to_party_Enter_Func <- {};
Cb_CParty_send_to_party_Leave_Func <- {};
_Hook_Register_Currency_Func_("0x0859d14e", ["pointer", "pointer", "int"], Cb_CParty_send_to_party_Enter_Func, Cb_CParty_send_to_party_Leave_Func);
//物品掷点
Cb_CItem_check_item_routing_Enter_Func <- {};
Cb_CItem_check_item_routing_Leave_Func <- {};
_Hook_Register_Currency_Func_("0x0850D756", ["pointer", "bool"], Cb_CItem_check_item_routing_Enter_Func, Cb_CItem_check_item_routing_Leave_Func);
//统计队伍中满足特定条件的成员数量
Cb_CParty_get_live_count_enter_map_Enter_Func <- {};
Cb_CParty_get_live_count_enter_map_Leave_Func <- {};
_Hook_Register_Currency_Func_("0x0859A918", ["pointer", "int"], Cb_CParty_get_live_count_enter_map_Enter_Func, Cb_CParty_get_live_count_enter_map_Leave_Func);