-
-
[求助]关于ODDisasm反汇编引擎中ret和retn的疑问
-
发表于:
2011-2-26 20:26
8152
-
[求助]关于ODDisasm反汇编引擎中ret和retn的疑问
使用ODDisasm汇编功能获取汇编代码对应的十六进制代码时,其它指令都可以正常获取,可是汇编ret和retn指令时,老是提示操作码太少的错误提示
。搞了半天还是一头雾水,望指点。
贴上一段代码:
// 通过汇编代码获取对应的机器码和长度
int CMySEH::MyAssemble(char* pAsm, char* pRet)
{
t_asmmodel am;
int nRetBinarySize = 0;
char errtext[TEXTLEN] = {0};
ZeroMemory(&am, sizeof(t_asmmodel));
nRetBinarySize = Assemble(pAsm, 0, &am, 0, 0, errtext);
if (strcmp(errtext, "") == 0)
{
memcpy(pRet, am.code, sizeof(am.code));
}
else
{
nRetBinarySize = 0;
}
//这个返回值要注意
return nRetBinarySize;
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!