首页
社区
课程
招聘
[求助]OllyDbg官方的 disasm库使用中遇到许多问题
发表于: 2010-9-17 12:18 8320

[求助]OllyDbg官方的 disasm库使用中遇到许多问题

2010-9-17 12:18
8320
我在ollydbg的官网下载了disasm.zip这个库用来汇编一些ASCII汇编语句。
名字就是这个:80x86 32-bit Disassembler and Assembler
相信很多人都见过了的吧。

我的系统是win7 ,CPU AMD64

我是昨天晚上接触到这个库,它提供了一个单行的汇编函数。在使用这个这个函数的过程中发现很多汇编语句都不能正常汇编,总是出现很多问题。

目前只能汇编简单的,如  mov eax,1 这样的语句,例如我实际使用过程中需要执行

call 00554433
或者是
mov eax,[eax]  ; mov ecx,[ecx]

都无法正常汇编为二进制码。

int Assemble(char *cmd,ulong ip,t_asmmodel *model,int attempt,int constsize,char *errtext);
这个函数的attempt与constsize这2个参数,文档里好像说是可以选择一个语句的不同汇编码。在使用过程中发现,attempt设置为1的情形下MOV命令是符合olldbg的反汇编结果的,其他命令,如push等又不相同,在attempt为其他数值的时候差别更大了。

请问这个是我汇编语句写错了?还是什么其他问题,比如库中还有些什么参数需要设置?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
udis86 比od的汇编引擎好用得多
2010-9-17 13:26
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Thx!

udis86,刚刚看了下介绍,似乎只有反汇编功能哦(我主要是需要汇编功能),有汇编API么?
2010-9-17 13:35
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
问题似乎已经解决了。

把attempt 和 constsize都设为0,虽然汇编出来的代码与OD不同(可能是由于我是使用OD反汇编VS2010的代码,而用disasm汇编同样的代码,两者使用的汇编器不同,也许是这个才导致它们的机器码不同)。

现在能正常汇编且可以正确执行,返回的结果也是正确的。

参考1: http://bbs.pediy.com/showthread.php?t=94573 中10楼的函数参数描述。
参考2: http://bbs.pediy.com/showthread.php?t=76284
2010-9-17 21:35
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
真巧,我也跟楼主做了同样的事,用的也是od 那个库,感觉很好用,不过要仔细读读说明,容易理解偏 。
2010-9-17 21:37
0
游客
登录 | 注册 方可回帖
返回
//