能力值:
( LV6,RANK:80 )
|
-
-
2 楼
6
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
6
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
没太看懂。。。
|
能力值:
( LV6,RANK:90 )
|
-
-
5 楼
|
能力值:
( LV9,RANK:280 )
|
-
-
6 楼
Oday小斯
没太看懂。。。
打印( 精易模块.一键获取虚表指针() 精易模块.一键获取虚表大小() );
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
mark
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我记得MFC可以RTTI得到,非MFC没关注过
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
const char* ClassName(intptr_t obj) { intptr_t classTable = GetPtr<intptr_t>(obj); if ((classTable > GameModule(0)) && (classTable < GameModule(0x6000000))) { intptr_t FuncInfo = GetPtr<intptr_t>(classTable - sizeof(intptr_t)); FuncInfo = GetPtr<DWORD>(FuncInfo + 0xC); return (const char*)(GameModule(FuncInfo) + 0x10 + 2); } return 0; } 多写几个判断就可以了把、上面的代码就可以根据c++类指针 得到类名 那么只要反向搜索就能得到虚函数表头, 然后表的大小。直接指针大小一直读,读到内存错误或者非代码区就结束。 个人看法就是多写几个判断就能得到你说的效果
最后于 2023-5-3 00:57
被mudebug编辑
,原因:
|
能力值:
( LV9,RANK:280 )
|
-
-
10 楼
mudebug
const char* ClassName(intptr_t obj){ &am ...
二进制分析的话,自己玩玩,写点盖什么的是可以。上生产环境的话,还是编译器比较靠谱
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
不知道用途是什么? 如果你是要获取地址可以直接获取, 好像大小可以直接地址求得,貌似用处不大 :) //表 uintptr_t* vtableAddress = *(uintptr_t**)&obj; //Class::`vftable //大小 size_t vtableSize = 0; while (vtableAddress[vtableSize]) { vtableSize++; }
最后于 2023-5-3 10:25
被Mxixihaha编辑
,原因:
|
能力值:
( LV9,RANK:280 )
|
-
-
12 楼
没有编译器规范规定虚表结束的位置就一定是0吧?如果运气好撞上其他变量,或者撞上其他人的虚表呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
hzqst
没有编译器规范规定虚表结束的位置就一定是0吧?如果运气好撞上其他变量,或者撞上其他人的虚表呢? 你都已经把类写出来了 直接数就是了.
不知道意义是用于干嘛的 vs肯定是 0
最后于 2023-5-4 00:03
被Mxixihaha编辑
,原因:
|
能力值:
( LV6,RANK:89 )
|
-
-
14 楼
交出你的源码 btw,虚表应该撞不上变量吧,应该没有编译器这么离谱
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
6
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
Mxixihaha
hzqst
没有编译器规范规定虚表结束的位置就一定是0吧?如果运气好撞上其他变量,或者撞上其他人的虚表呢? 你都已经把类写出来了&nbs ...
vs也不一定以0结尾啊。测试了下,VC2005,Release,“全程序优化”改成“无全程序优化”后就不会以0结尾,虚函数表后面跟了一些字符串。好奇的是这个数量是怎么获取的,看图片打码的位置不是点".",看着像下划线"_",看着也不像"s_test."这么短。下面那张反编译的图又说明获取大小应该有办法可以直接计算或获取,否则不应该被编译器直接优化为5。
|
能力值:
( LV9,RANK:280 )
|
-
-
17 楼
xuezhimeng
vs也不一定以0结尾啊。测试了下,VC2005,Release,“全程序优化”改成“无全程序优化”后就不会以0结尾,虚函数表后面跟了一些字符串。好奇的是这个数量是怎么获取的,看图片打码的位置不是点&q ...
答案是直接魔改编译器加私货
|
能力值:
( LV1,RANK:0 )
|
-
-
18 楼
又是羡慕大佬的一天
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
观摩一下
|
|
|