首页
社区
课程
招聘
未解决 [求助]求助C++用指针游戏内NPC名称
发表于: 2020-11-16 00:06 1694

未解决 [求助]求助C++用指针游戏内NPC名称

2020-11-16 00:06
1694

 

假设:[[0x0075BCD0]+10]+20 = 赵大叔

 

请问如何实现用指针读取(我是用MFC写的DLL,所以不想用api读),然后判断读取的unicode文本是否为“赵大叔”?

 

int/float 我会读,但是文本型我就不会了。

 

我的代码是:
int NPC =(int)0x0075BCD0;
NPC =(int)(NPC+0x10);
wstring NPCname =(wstring)(NPC+0x20);
if(NPCname == L"赵大叔")
{
//执行其它代码
}


[课程]Android-CTF解题方法汇总!

最后于 2020-11-17 00:47 被大鲤鱼编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1262
活跃值: (1714)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
玩易语言去吧,我从易语言转行到c十年了,现在只学会了 c v 
2020-11-26 23:42
0
雪    币: 15
活跃值: (239)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
if( stricmpw( *(LPINT)0x0075BCD0 ,L"赵大叔")==NULL )
    ;
2020-11-27 03:13
0
雪    币: 8829
活跃值: (6010)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
[[0x0075BCD0]+10]+20
DWORD dwBase = *(DWORD*)(0x0075BCD0);
dwBase = *(DWORD*)(0x0075BCD0+0x10);
wchar_t* pName = (wchar_t*)(dwBase +0x20);
2020-11-27 07:48
0
雪    币: 4263
活跃值: (4233)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5



DWORD BaseAddr = *(DWORD *)0x0x0075BCD0; //  第一层
DWORD Npc = *(DWORD *) (BaseAddr + 0x10);// 第二层
wchar_t  *pName = (wchar_t *)( Npc + 0x20 ) ;//第三层

//如果你不自己写重载符号需要使用 == 的话就转成 CString吧. 否则只可以用strcmp/wcscmp...系列
CStringW str = pName;
if( str == L"赵大叔" )
{
//执行其他代码
   
}

最后于 2020-11-27 08:45 被Mxixihaha编辑 ,原因:
2020-11-27 08:43
1
雪    币: 6300
活跃值: (3832)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
Mxixihaha DWORD BaseAddr = *(DWORD *)0x0x0075BCD0; //  第 ...
Mxixihaha,谢谢!我前两天已经用api弄好了,原本想用指针,但是发现循环中用指针读数据容易崩溃,所以我还是全部改api读了。
2020-11-27 10:39
0
游客
登录 | 注册 方可回帖
返回
//