首页
社区
课程
招聘
[求助]OllyDbg插件编写过程中遇到的问题(急,在线等!!!)
发表于: 2017-3-10 18:58 2226

[求助]OllyDbg插件编写过程中遇到的问题(急,在线等!!!)

2017-3-10 18:58
2226

我需要获取被调试进程的导入表的一些信息,为此我调用imagehlp.h中的一些windows api,结果运行崩溃.此外我发现,部分windows api的调用也会导致插件崩溃,最棘手的是,我这个插件功能的实现好像必须借助windows提供的api.有没有什么解决办法

(附件包含会崩溃的插件工程)


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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
2
能上传一个会崩溃的OD插件工程么?
2017-3-10 20:16
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
3

喔, 我看看,稍等

我看了, 你的工程是vs2015编译的, 编译成x64.

编译不过, 

我手头只有vs2013, 改成vs2013工具链, 编译成x86Debug版, 直接生成在OllyICE_1.10\plugin目录下, 

运行OD1.1, 载入测试x86程序, 停在入口点后, 你的测试代码中是在引入表 中找指定的KERNEL32.DLL名称.

运行是正常的, 你哪个API执行错误啊?


是不是你编译成x64版的OD插件DLL才引起的错误啊?

OD1.1只支持x86版的插件DLL.


你工程中包含的Ollydbg.lib, 应该也是x86版的OD库.

编译成x86版插件时, 缺一个宏, 补了一个

// @note ls add

#ifndef SIZE_OF_80387_REGISTERS

#define SIZE_OF_80387_REGISTERS      80

#endif


编译成x86版插件的工程在附件中, 用vs2013编译后的插件在OD1.1中可以正常用.

你在工程中的弹出框如下:

---------------------------

GetFunctionParams

---------------------------

KERNEL32.DLL

---------------------------

确定   

---------------------------

运行正常的.

上传的附件:
2017-3-10 21:21
0
雪    币: 0
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有劳楼上大佬了
2017-3-10 21:22
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
5
lberty 有劳楼上大佬了
lberty:你的问题是不是编译成x64版DLL引起的?
2017-3-10 22:05
0
雪    币: 0
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
实在多谢了
2017-3-10 22:06
0
雪    币: 112
活跃值: (57)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
7
lberty 实在多谢了
lberty:你的问题是不是编译成x64版DLL引起的?
2017-3-10 22:10
0
雪    币: 0
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

但我这里显示x86,感觉不是编译成x64

2017-3-10 22:12
0
雪    币: 0
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我这里启动od后提示dll丢失,我要炸了(看雪论坛为什么没有恢复功能
2017-3-10 22:21
0
游客
登录 | 注册 方可回帖
返回
//