能力值:
( LV1,RANK:0 )
|
-
-
2 楼
可以利用这个过检测
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
程序跑起来进了x32dbg。但是插件没看到qt_resolver是为什么?然后我就直接把下载的里面的debug和release版本的里面的文件都放到x32dbg插件文件夹还是没看到这个插件额。我放其他的插件,可以看到其他的插件。
|
能力值:
( LV1,RANK:0 )
|
-
-
4 楼
原来有加载了!原来是输入命令行。但是要断在什么地方再输入命令行啊?还是随时可以?我输入了直接start然后就end了
|
能力值:
( LV2,RANK:15 )
|
-
-
5 楼
Skyart
原来有加载了!原来是输入命令行。但是要断在什么地方再输入命令行啊?还是随时可以?我输入了直接start然后就end了
这东西不完整,跑起来会卡住,中间有个循环的条件要改一下. https://github.com/2781553397/qt5_resolver.git,这个修正了,并且x64和x86,但是只能在version7的版本上跑,version8中只能打印出元数据名称
|
能力值:
( LV1,RANK:0 )
|
-
-
6 楼
狐臭
这东西不完整,跑起来会卡住,中间有个循环的条件要改一下.
https://github.com/2781553397/qt5_resolver.git,这个修正了,并且x64和x86,但是只能在ve ...
使用方法是先获取到staticMetaObject结构体的地址,然后输入qt5_resolver -d 0x7AC07878吗?要如何知道staticMetaObject结构体的地址..我输入命令后一直提示异常DEP 违规,是为什么..
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
version为7的qt 是指qt5.7吗?
|
能力值:
( LV2,RANK:15 )
|
-
-
8 楼
Skyart
version为7的qt 是指qt5.7吗?
qt的metaData中有一个DWORD来标识版本,我在看5.14的时候发现变成了8. static const uint qt_meta_data_MainWindow[] = { // content: 7, // 版本 0, // classname 0, 0, // classinfo 2, 14, // 函数个数,函数偏移 0, 0, // properties 0, 0, // enums/sets 0, 0, // constructors 0, // flags 1, // signalCount // signals: name, argc, parameters, tag, flags 1, 0, 24, 2, 0x06 /* Public */, // slots: name, argc, parameters, tag, flags 3, 1, 25, 2, 0x0a /* Public */, // signals: parameters QMetaType::Int, // slots: parameters QMetaType::Void, QMetaType::Int, 4, 0 // eod };
|
能力值:
( LV1,RANK:0 )
|
-
-
9 楼
win10 下 ,运行起来一直提示DEP violation,我的demo有关了DEP的那个选项,但是还是一直提示这个异常是为什么?
|
能力值:
( LV2,RANK:15 )
|
-
-
10 楼
Skyart
win10 下 ,运行起来一直提示DEP violation,我的demo有关了DEP的那个选项,但是还是一直提示这个异常是为什么?
这个和dep有啥关系
|
能力值:
( LV1,RANK:0 )
|
-
-
11 楼
x32dbg日志一直提示dep violation,然后一直循环异常,我单步跟到GetMetaObject的GUARD_GENTLE(ReadMemory(tovptr(vtable_addr), &fmetaObject_addr, sizeof(fmetaObject_addr), handle), 0);这句代码后,步过这句代码就会开始提示dep violation(我也不懂为啥dep异常,囧)
|
能力值:
( LV2,RANK:15 )
|
-
-
12 楼
Skyart
x32dbg日志一直提示dep violation,然后一直循环异常,我单步跟到GetMetaObject的GUARD_GENTLE(ReadMemory(tovptr(vtable_addr), ...
读内存数据怎么会触发dep呢?是不是版本的问题,我也没有遇到过dep violation,你要不把你测试的demo传上来看看.
|
能力值:
( LV1,RANK:0 )
|
-
-
13 楼
链接:https://pan.baidu.com/s/1xTJL94R7ZTODV6H-s3KbCg 提取码:qott
|
能力值:
( LV2,RANK:15 )
|
-
-
14 楼
Skyart
链接:https://pan.baidu.com/s/1xTJL94R7ZTODV6H-s3KbCg
提取码:qott
没有问题啊,可以正常运行.你的qt是version8,version8的qt connectList结构发生了改变,所以只能打印出函数名没办法获取到对应的槽索引.
|
能力值:
( LV2,RANK:15 )
|
-
-
15 楼
Skyart
链接:https://pan.baidu.com/s/1xTJL94R7ZTODV6H-s3KbCg
提取码:qott
脚本没有办法自己判别,输入是否为qt的对象,输入的时候最好自己确认,具体就是看他的一号虚函数是否为metaObject
|
能力值:
( LV1,RANK:0 )
|
-
-
16 楼
狐臭
脚本没有办法自己判别,输入是否为qt的对象,输入的时候最好自己确认,具体就是看他的一号虚函数是否为metaObject
你的也是windows10吗?输入命令qt_resolver -d 0x406000 我找到metaobject是对的吗? 异常是这样
|
能力值:
( LV2,RANK:15 )
|
-
-
17 楼
Skyart
你的也是windows10吗?输入命令qt_resolver -d 0x406000我找到metaobject是对的吗?异常是这样 也是windows10
-d接收一个QObject类型的对象,并从中解析qt的槽和元数据 -s解析一个QString对象并取出其中的字符串 脚本中获取staticMetaObject的方法是通过调试器函数强行修改EIP,使其跳转到metaObject函数,并且需要在栈中压入EIP之类的数据
,你可以看看有没有对应权限 metaObject一般长这样,里面一般可以直接看到staticMetaObject:
最后于 2021-5-7 16:56
被狐臭编辑
,原因:
|
能力值:
( LV1,RANK:0 )
|
-
-
18 楼
ret上面那句把staticMetaObject放到eax,那我就是输入qt_resolver -d (eax里的地址)。 是这样操作吗?。还是说输入qt_resolver -d 0x680C3690?(你的图片上的第一个地址)
|
能力值:
( LV2,RANK:15 )
|
-
-
19 楼
Skyart
ret上面那句把staticMetaObject放到eax,那我就是输入qt_resolver -d (eax里的地址)。 是这样操作吗?。还是说输入qt_resolver -d 0x680C3 ...
qt_resolver -d QObject的地址,也就是一个继承了QObject的对象的地址就可以了
|
能力值:
( LV1,RANK:0 )
|
-
-
20 楼
我现在区分不出来哪个是QObject的地址额。在你的demo里面,你的QObject的地址是0x680C3690吗?在我的demo里面,我的QObject是0x406000吗?我的0x406000长这样
|
能力值:
( LV2,RANK:15 )
|
-
-
21 楼
Skyart
我现在区分不出来哪个是QObject的地址额。在你的demo里面,你的QObject的地址是0x680C3690吗?在我的demo里面,我的QObject是0x406000吗?我的0x406000长这 ...
你看他的第一个虚函数是不是metaObject()就行了,metaObject函数大概长这样
|
能力值:
( LV2,RANK:15 )
|
-
-
22 楼
Skyart
我现在区分不出来哪个是QObject的地址额。在你的demo里面,你的QObject的地址是0x680C3690吗?在我的demo里面,我的QObject是0x406000吗?我的0x406000长这 ...
比如说我要获取QWidget函数信息,我直接在QWidget::show()处下断点,然后执行qt5_resolver -d rcx(对象地址),就可以了
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
请问有没有x64dbg
|
能力值:
( LV2,RANK:15 )
|
-
-
24 楼
许可飞
请问有没有x64dbg[em_13]
换个版本编译
|
|
|