首页
社区
课程
招聘
[旧帖] [求助]------------------为什么HOOK自己写的程序的API程序不会停止,HOOK其他程序,资源管理器会显示程序停止运行,故障模块式我的DLL 0.00雪花
发表于: 2012-6-18 12:48 1773

[旧帖] [求助]------------------为什么HOOK自己写的程序的API程序不会停止,HOOK其他程序,资源管理器会显示程序停止运行,故障模块式我的DLL 0.00雪花

2012-6-18 12:48
1773
【求助】------------------为什么HOOK自己写的程序的API程序不会停止,HOOK其他程序,资源管理器会显示程序停止运行,故障模块式我的DLL

我HOOK CreateEventA
              CreateEventW

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
2
错误提示的详细信息呢,
2012-6-18 12:53
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
资源管理器停止时候的信息

问题签名:
  问题事件名称:        APPCRASH
  应用程序名:        Start.exe_网易CC
  应用程序版本:        1.0.0.1
  应用程序时间戳:        4fcca627
  故障模块名称:        hookdll.dll
  故障模块版本:        0.0.0.0
  故障模块时间戳:        2a425e19
  异常代码:        c0000005
  异常偏移:        000041ca
  OS 版本:        6.1.7601.2.1.0.256.1
  区域设置 ID:        2052
  其他信息 1:        0a9e
  其他信息 2:        0a9e372d3b4ad19135b953a78882e789
  其他信息 3:        0a9e
  其他信息 4:        0a9e372d3b4ad19135b953a78882e789

联机阅读隐私声明:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804

如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
  C:\Windows\system32\zh-CN\erofflps.txt
2012-6-18 14:17
0
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
4
用ida吧hookdll.dll打开,找到 异常偏移:  000041ca 处,
2012-6-18 14:31
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
IDA我只会找字符串
怎么找异常偏移呢?

(我把DLL上传一下帮我看下吧,自己写的程序都可以拦截并正常返回改写的值。
拦截其他程序很多都会停止工作)
上传的附件:
2012-6-18 14:52
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是这个地方吗,我看不懂,真惭愧
CODE:004041C0
CODE:004041C0 ; =============== S U B R O U T I N E =======================================
CODE:004041C0
CODE:004041C0 ; Attributes: library function
CODE:004041C0
CODE:004041C0 ; __fastcall System::__linkproc__ LStrAddRef(void *)
CODE:004041C0 @System@@LStrAddRef$qqrpv proc near     ; CODE XREF: sub_412684+20p
CODE:004041C0                                         ; sub_412684+28p ...
CODE:004041C0                 test    eax, eax
CODE:004041C2                 jz      short locret_4041CE
CODE:004041C4                 mov     edx, [eax-8]
CODE:004041C7                 inc     edx
CODE:004041C8                 jle     short locret_4041CE
CODE:004041CA                 lock inc dword ptr [eax-8]
CODE:004041CE
CODE:004041CE locret_4041CE:                          ; CODE XREF: System::__linkproc__ LStrAddRef(void *)+2j
CODE:004041CE                                         ; System::__linkproc__ LStrAddRef(void *)+8j
CODE:004041CE                 retn
CODE:004041CE @System@@LStrAddRef$qqrpv endp
CODE:004041CE
CODE:004041CE ; ---------------------------------------------------------------------------
2012-6-18 15:05
0
雪    币: 8
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
终于明白啦,是定义LPCTSTR和string的问题
我自定义函数返回的是string 但是原函数要求必须是unicode 必须定义LPCTSTR

否则就会出错目标进程会停止工作

10006048  CreateEventA              KERNEL32------
1000604C  CreateEventW              KERNEL32------
10006040  CreateMutexA              KERNEL32------
10006044  CreateMutexW              KERNEL32------
10006050  CreateSemaphoreA          KERNEL32------
10006054  CreateSemaphoreW

CreateEvent  CreateSemaphore 可以定义String 但是CreateMutex返回字符类型必须是unicode
2012-6-18 16:17
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
c0000005
貌似是无效内存地址。
2012-6-18 17:53
0
雪    币: 585
活跃值: (568)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
9
呵呵,,。。。
2012-6-18 18:01
0
游客
登录 | 注册 方可回帖
返回
//