我使用OllyDbg的修改应用程序,但我对汇编语言很新,我需要放置在一个内存地址的MD5哈希值,目的存储器地址存储在EAX
。我该怎么做?如何把一个HASH字节的内存地址与OllyDbg的
,我需要插入的哈希dba2d8bf7063faf1275e693661bc9651
。我尝试过以下几种方式:
MOV DWORD PTR DS:[EAX],32616264
MOV DWORD PTR DS:[EAX+4],66623864
MOV DWORD PTR DS:[EAX+8],33363037
MOV DWORD PTR DS:[EAX+12],31666166
MOV DWORD PTR DS:[EAX+16],65353732
MOV DWORD PTR DS:[EAX+20],36333936
MOV DWORD PTR DS:[EAX+24],63623136
MOV DWORD PTR DS:[EAX+28],31353639
但是我觉得它很长很低效。我也曾尝试保存散列另一个地址,并将其移动到哪里,我需要它与MOV
指令,但我不能让它工作:
MOV DWORD PTR DS:[EAX], 012B2C60
哪里012B2C60
是哈希地址。
发生在我身上的另一个问题是,当我启动程序(我猜他们必须是动态地址)时,修改了带黄色下划线的字节,所以我在程序启动时修改了该地址中写入的内容,我该如何防止这发生了什么?
谢谢,是的,它是一个ASCII表示,我选择使用XMM注册表移动字节,这样我就可以只用两个命令移动32个字节。但我仍然有地址的问题,我在第一次出版中提到... – Manuel23
@ Manuel23:4指示:2加载/ 2商店。 (你想要的单词是“寄存器”,而不是[“注册表”](http://www.dictionary.com/browse/registry))。 –
@ Manuel23:我不明白你的地址有什么问题。 'movdqu xmm0,[012B2C60]'或'[012B2C60 + 16]'加载,并且您已经在'eax'中有地址,所以您可以使用'[eax]'和'[eax + 16]'寻址模式进行存储。 –