-
-
[求助]如何实现内存中代码的执行
-
发表于: 2008-6-20 17:03 3162
-
有一个函数体
想将CalcRegCode中的代码与0x5A异或,存放到内存buff中
再将其与0x5A异或存放到buff2中
最后在程序中直接调用buff2中的代码
应该如何实现?
谢谢
int CalcRegCode(const char *pszUserName, char *pCodeBuf, int nbufSize) { if(!pszUserName || !pCodeBuf) return 0; int nLength = strlen(pszUserName); if(nLength <= 0 || nLength >= nbufSize) return 0; if(::IsBadReadPtr(pszUserName,nLength) || ::IsBadWritePtr(pCodeBuf,nbufSize)) return 0; for(int i = 0; i < nLength; i++) pCodeBuf[i] = pszUserName[i] + 1;//为了演示,仅仅是作个移位变换 pCodeBuf[nLength] = 0; return nLength; } void CalcRegCodeEnd() { } //异或函数 static bool XorBlock(void *pStartAddr, int nLength, unsigned char cMask) { if(!pStartAddr || nLength <= 0) return false; unsigned char *p = (unsigned char *)pStartAddr; for(int i = 0; i < nLength; i++) { *p++ ^= cMask; } return true; } int nFuncSize = ((char *)CalcRegCodeEnd - (char *)CalcRegCode);
想将CalcRegCode中的代码与0x5A异或,存放到内存buff中
再将其与0x5A异或存放到buff2中
最后在程序中直接调用buff2中的代码
应该如何实现?
谢谢

赞赏
他的文章
- [求助]如何截获从主机外传入的文件 4907
- [求助]OllyDbg脚本 5002
- [求助]Ollydbg脚本 5233
- [求助]调试未知DLL遇到的问题 4691
- [求助]在ollydbg中调试dll时遇到的问题 5541
赞赏
雪币:
留言: