首页
社区
课程
招聘
[旧帖] 如何读取其他进程中listctrl的内容 0.00雪花
发表于: 2014-1-7 14:24 6302

[旧帖] 如何读取其他进程中listctrl的内容 0.00雪花

2014-1-7 14:24
6302
我想读取另一个应用程序中listctrl的 内容。用spy++查看,它的class不是SysListView32,而是listctrl。我可以得到这个listctrl的hwnd,但是调用SendMessage(hwnd, LVM_GETITEMCOUNT,0,0), 返回的是0.

感觉这个listctrl过滤了一些消息,不知道如何才能读到里面的内容啊。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 3974
活跃值: (2307)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
2
你的目的不止行数吧,参考a98K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9P5h3&6F1N6i4S2Q4x3V1k6c8N6h3W2U0K9#2u0G2L8$3#2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7V1g2Q4z5o6S2Q4c8e0k6Q4z5e0N6Q4b7e0W2Q4c8e0c8Q4b7V1u0Q4b7e0g2Q4c8e0g2Q4z5o6W2Q4z5p5c8Q4c8e0k6Q4z5p5y4Q4b7e0c8$3M7#2!0q4y4W2)9^5z5q4!0n7c8W2!0q4z5g2)9&6y4#2!0n7y4q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2!0n7y4#2!0m8y4g2!0q4y4g2)9^5y4g2!0n7y4#2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4g2!0m8c8g2)9^5x3#2!0q4y4g2!0n7x3q4!0n7x3g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4z5q4!0n7y4#2!0m8z5q4!0q4z5q4!0n7c8W2)9&6b7W2!0q4y4#2!0m8z5q4)9^5b7W2!0q4z5q4!0m8c8W2!0n7b7W2!0q4y4g2)9^5c8W2)9&6y4Y4k6K6i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1$3i4K6R3^5i4@1u0r3i4@1f1&6i4K6V1%4i4@1t1@1L8r3W2K6N6q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4x3#2)9^5x3q4)9^5x3R3`.`.

707K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9P5h3&6F1N6i4S2Q4x3V1k6c8N6h3W2U0K9#2u0G2L8$3#2Q4x3V1k6T1L8r3!0T1i4K6u0r3L8h3q4K6N6r3g2J5i4K6u0r3f1i4g2A6j5$3E0d9L8$3!0E0i4K6u0r3L8h3q4A6L8X3c8D9k6#2)9J5k6f1y4b7f1l9`.`. 212行:
#define ListView_GetItemTextEx(hwndLV, i, iSubItem_, pszText_, cchTextMax_) \
    {\
    _ms_lvi.iSubItem = iSubItem_;\
    _ms_lvi.cchTextMax = cchTextMax_;\
    _ms_lvi.pszText = pszText_;\
    WriteProcessMemory(hWar3, (LPVOID)((BYTE*)lpGet + sizeof(TCHAR)*MAX_PATH), &_ms_lvi, sizeof(LV_ITEM), NULL);\
    SNDMSG((hwndLV), LVM_GETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)((BYTE*)lpGet+sizeof(TCHAR)*MAX_PATH));\
    ReadProcessMemory(hWar3, lpGet, lpStr, sizeof(lpStr), NULL);\
    }
2014-1-7 14:47
0
雪    币: 19
活跃值: (1111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
要在对面申请内存空间 然后SendMessage得到信息
2014-1-7 17:36
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢。我看了一下源代码,这里listctrl也是SysListView32类型的。不是listctrl类型的。
2014-1-8 10:26
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以说具体点吗?是不是要用DLL注入的方法?
2014-1-8 10:30
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
把东西发上来。
2014-1-8 11:15
0
雪    币: 164
活跃值: (53)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
http://bbs.pediy.com/showthread.php?t=33192
2014-1-10 10:06
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我试过这个方法了,不管用。 我用spy++看过了,它的classname不是SysListView32,而是listctrl
2014-1-11 20:41
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这是那个软件。
上传的附件:
2014-1-11 20:45
0
雪    币: 70
活跃值: (88)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
10
我应该看明白你在讲什么了。你看到一个窗口的子窗口长得酷似SysListView32,其实他也不一定是SysListView32,应为像这类控件我们完全可以自己写个出来,也可以超类化一个出来。
如果我有个消息处理的Message值和LVM_GETITEMCOUNT相等,或者根本就没有LVM_GETITEMCOUNT的消息处理,那就得不到想要的结果,若是超类化的话,可能也会得不到结果(如果屏蔽LVM_GETITEMCOUNT消息的话)。
想你这个情况,应该用spy++查出类的名称,在将程序拖到IDA中,搜索类名的字符串,找到过程地址,如果字符串出现在很多次,因为有的会出现在类注册中等,这是要找窗口特征的处理过程,分析内部结构,当然这可能大题小做了。还有个技巧,在spy++的窗口属性的,有个窗口地址的Edit控件,可能会有窗口地址的值,用windbg来attach,在窗口地址设断,再让他跑,断下来后,在分析,这样要快点。
还有你要自己写个小工具,可以向任何窗口发消息和收消息的工具,这个小工具编写相当简单,不用我说的吧。

对了,你还说不是SysListView32,而且用LVM_GETITEMCOUNT得不到结果,看来,,,我想只有我的这个方法有效了。
2014-1-11 22:29
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
你理解我的意思了。我试试你说的方法看看。
2014-1-12 13:20
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
还是搞不定啊。有人帮忙吗?有酬谢。
2014-1-17 21:48
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有高手帮忙吗?
2014-2-14 09:01
0
游客
登录 | 注册 方可回帖
返回