资源描述:
《od逆向分析2014qq游戏大厅多开体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本来我是很不情愿再写一篇OD逆向分析的,因为此时写这篇文章会很累,时间多,字也打得多,而且很可能会在一段时间后,游戏更新了,未来本文可能就会失效.但还是写了,为了独立团论坛的学员大家,也给前面的做个佐证与一点补充.先创建一个QQ游戏大厅的进程,然后去创建第二个QQ游戏大厅进程时,会创建失败,并且第一个进程的大厅窗口会被激活置为前台,另外任务栏下的QQ游戏按钮也会被闪烁几下.会闪烁可是好事啊,可以给我们找关键的禁止双开的CALL提供很多的帮助.下面我们在开着第一个QQ游戏大厅的情况下,用OD载入第二个QQ游戏大厅程序,然后下断点在以下两个会终止进程的API上ExitProces
2、sTerminateProcessAPI断点设置如下:在OD里按F9运行,会中断在ExitProcess上.见堆栈窗口情况:0012FEDC 785421CC ?Tx /CALL到ExitProcess来自MSVCR90.785421C60012FEE0 00000000 .... ExitCode=0看堆栈提示,是MSVCRT领空的785421C6处指令MSVCRT是VC++的运行时库,与易语言的核心库一样的概念.另外就是易语言与易核心库是用VC++编的,所以我们编写的易程序在运行时,也会加载这个MSVCRT运行库的现在我们直接复制完堆栈数据窗口的所有返回信息
3、:0012FEDC 785421CC ?Tx /CALL到ExitProcess来自MSVCR90.785421C60012FEE0 00000000 .... ExitCode=00012FEE4 /0012FF28 (.0012FEE8
4、78542411 $Tx 返回到MSVCR90.78542411来自MSVCR90.785421B50012FEEC
5、00000000 ....0012FEF0
6、A28413F9 ?劉0012FEF4
7、00412B4C L+A. QQGame.00412B4C0012FEF8
8、001
9、51F01 .0012FF10
10、0012FEF0 瘙.0012FF14
11、00000000 ....0012FF18
12、0012FFB0 ?. 指向下一个SEH记录的指针0012FF1C
13、7858CBDE 匏Xx SE处理程序0012FF20
14、DACC2861 a(腾0012FF24
15、FFFFFFFE 0012FF28 ]0012FF3C 0012FF2C
16、78542466 f$Tx 返回到MSVCR90.78542466来自MSVCR90.785423060012FF30
17、00000000 ...0012FF
18、3C ]0012FFC0 ?.0012FF40
19、00409DEC 鞚@. 返回到QQGame.00409DEC来自MSVCR90.exit0012FF44
20、00000000 ....0012FF48
21、B0AB7FEA ?0012FF4C
22、7C930228 (搢 ntdll.7C9302280012FF50
23、FFFFFFFF0012FF54
24、7FFDE000 .帻0012FF58
25、00000044 D...0012FF5C
26、00153920 9.0012FF60
27、00153B38 8;. ASCII"Win
28、Sta0\Default"0012FFB0
29、0012FFE0 ?. 指向下一个SEH记录的指针0012FFB4
30、0040A4A5 イ@. SE处理程序0012FFB8
31、B0F9549A 歍0012FFBC
32、00000001 ...0012FFC0 012FFF0 ?.0012FFC4 7C817077 wp亅 返回到kernel32.7C8170770012FFC8 7C930228 (搢 ntdll.7C9302280012FFCC FFFFFFFF0012FFD0 7FFDE000 .帻0012FFD4
33、805522FA ?U我们要找创建互斥体的CALL,这样才能找到这个call的压入参数(互斥体名称),分析出QQ游戏大厅限制双开的互斥体名称,那么找CALL,当然是在进程的凌空找,从上面堆栈的所有返回信息来看,只有:0012FF40
34、00409DEC 鞚@. 返回到QQGame.00409DEC来自MSVCR90.exit这句是游戏进程的凌空,其他都是在MSVCR90或kernel32模块凌空里,所以其他就不需要跟踪了,我们来看返回到QQGame.00409DEC来自MSVCR90.exit