function getName(index){
var f_addr
=
moduleBase.add(
0x562b820
);
/
/
将目标函数地址转换为JavaScript函数
var getGnameFunc
=
new NativeFunction(f_addr,
'uint64'
, []);
/
/
调用目标函数并传递内存地址作为参数
try
{
var gname
=
getGnameFunc();
console.log(`GName: ${gname}`);
/
/
dumpVector(buf);
/
/
info(ptr(actor_addr).add(
0x130
).readPointer().add(
0x14c
).readU8()&
32
!
=
0
);
}
catch (e){
console.log(e)
}
var offset_FNameEntry_Info
=
0
;
var Block
=
index >>
16
;
var Offset
=
index &
65535
;
var FNamePool
=
gname;
/
/
console.log(`FNamePool: ${FNamePool}`);
console.log(`Block: ${Block}`);
var NamePoolChunk
=
ptr(FNamePool).add(
0x40
).add (Block
*
8
).readPointer();
console.log(`NamePoolChunk: ${NamePoolChunk}`);
var FNameEntry
=
NamePoolChunk.add((
0x2
*
index)&
0x1FFFE
);
console.log(`FNameEntry: ${FNameEntry}`);
try
{
if
(offset_FNameEntry_Info !
=
=
0
) {
var FNameEntryHeader
=
FNameEntry.readU16();
}
else
{
var FNameEntryHeader
=
FNameEntry.readU16();
}
} catch (e) {
/
/
console.log(e);
return
"";
}
console.log(`FNameEntryHeader: ${FNameEntryHeader}`);
var str_addr
=
FNameEntry.add(
0x2
);
console.log(`str_addr: ${str_addr}`);
var str_length
=
FNameEntryHeader >>
6
;
var wide
=
FNameEntryHeader &
1
;
console.log(str_length)
if
(str_length >
0
&& str_length <
250
) {
var
str
=
str_addr.readUtf8String(str_length);
console.log(
str
)
}
}