首页
社区
课程
招聘
[求助]超级郁闷哪位大侠能帮我 郁闷啊
发表于: 2008-10-14 17:34 3708

[求助]超级郁闷哪位大侠能帮我 郁闷啊

2008-10-14 17:34
3708
od跟踪到 总是在

004433A9  |.  6A 03         PUSH 3                                   ; /RemoveMsg = PM_REMOVE|PM_NOYIELD
004433AB  |.  6A 0F         PUSH 0F                                  ; |MsgFilterMax = WM_PAINT
004433AD  |.  6A 0F         PUSH 0F                                  ; |MsgFilterMin = WM_PAINT
004433AF  |.  33DB          XOR EBX,EBX                              ; |
004433B1  |.  53            PUSH EBX                                 ; |hWnd => NULL
004433B2  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]            ; |
004433B5  |.  50            PUSH EAX                                 ; |pMsg
004433B6  |.  FFD6          CALL ESI                                 ; \PeekMessageA
不停的反复 如何继续跟踪啊 请大侠帮忙

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

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
检查你是否下了断点,硬件断点和内存断点
2008-10-14 18:26
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
3
消息循环。。
2008-10-14 18:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不懂
  路过
2008-10-14 19:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
petnt  是专家 请指点一下  怎么正确设置断点
2008-10-14 21:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看雪好大的名气啊 怎么没人帮帮我  好郁闷 我qq297488660,我联系petnt,也没回音啊 我才来这里,不懂怎么联系高手 好郁闷。。。。。
2008-10-16 18:31
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
7
似乎是个无限循环,除非收到了WM_PAINT,否则不会继续执行下去

while (PeekMessage(&msg, 0, WM_PAINT, WM_PAINT, PM_REMOVE|PM_NOYIELD))


调试程序不是要每个调用都步入,需要不断总结以有选择的分析
2008-10-16 18:52
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼上说的么错,这段代码是个消息循环,如果不清楚先去看windows编程之类的书籍,要分析一个软件总要自己会写软件吧。
消息循环简单说就是处理你这个指定窗口的函数,程序的窗口发生什么变化,都在该函数中进行处理,lz找到的只是消息循环的代码,要解决问题先要找到真正的消息处理函数
2008-10-16 19:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
程序是这样的

主程序 输入文字 比如:你好

我点发送按钮

程序会打开另外一个程序把 你好+“什么什么公司发送” 一起发送到这另一个程序的窗口上

不想让它加这个尾巴  怎么加这个断点?请大侠帮忙。

有愿意探讨的吗 ?我觉得好难
2008-10-17 16:21
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼上的!!你的口气太欧曼了!小菜鸟找你你就t人家。什么意思!!!!
2008-10-18 12:06
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
11
其实不是傲慢,是告诉楼主,要踏踏实实地老老实实地学技术,把基础知识搞清楚了再来研究。

软件工程,包括逆向软件工程,不可能速成,也不是为了带来利益而进行了。

如果你不是从技术当作出发点,就想要“速成",以为逆向就是”破解“,为了破解而分析,

你就走错路了。

像楼主这样的,看到PeekMessage这样的API都不知道是什么东西的,他对Windows程序的消息机理根本不了解。

不要以为知道了一些汇编指令的用途,会用反汇编工具,就可以去逆向分析别人的软件。

我的观点是,没有纯粹的”逆向“,”逆向“是为”正向“服务的,因此,你必须对方软件开发的基本常识有所了解才行,否则根据谈不上分析,因为你都不知道你分析的是什么。

声明:我的话不是贬低什么或批评什么,只是给那些还找不到方向的新人一些启发,听之,或不听之,同意不同意,随意。你觉得有一点道理,我就很高兴。你觉得我无理,我也没意见。

说说楼主的问题。
PeekMessage的参数指令了要抽取的消息就是WM_PAINT,那么你找到的这段代码基本没用,除非你要找的关键算法位于重会窗口的功能中。
如果真是这样,我告诉你往下分析的思路。

先用在任务栏上点一下目标程序,让Windows给它发一个消息,再回到OD中,这次跟到PeekMessage时,应该能从消息队列中取出一条消息,程序的流程也会跳出循环。

先慢点往下走,先分析一下Peek出的MSG结构体,从中找到窗口的句柄,MSG结构的定义,自己查MSDN,在OD中打开窗口浏览页面,找到对应的窗口的窗口过程WndProc,下断。
然后回到CPU窗口,F8之,如果程序没有使用反跟踪技术,比如SEH,那么在步过DispatchMessage时,便会在窗口过程中断下来。

接下面就可以分析在程序是如何响应消息的了。

祝你好运。
2008-10-18 12:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不懂
  路过 还是支持你下
2008-10-18 12:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼上的观点我接受,郁闷成这样哪里还有力气傲慢,都是朋友都是老师,只是遇到问题 解决不了 会很郁闷 很头晕的,呵呵。我说关心的消息并不在窗口上,是通过这个窗口向另外一个程序发送了消息后者别的什么信息,让另外一个程序的窗口上显示了 一串字符,并且控制另外这个程序的按扭,发这串文字发送出去。
2008-10-19 11:11
0
游客
登录 | 注册 方可回帖
返回
//