我想对我所编写的软件进行加密,具体设想如下:
我的程序中有一个splash启动画面(bmp格式),我想将该图片以二进制方式读出来,然后在该二进制文件中插入类似于密钥之类的东西,当程序启动时,读取该二进制文件,如果有密钥,则进入系统,否则提示出错退出。不知这样该如何实现?各位高手还有其他好的软件加密方法吗,最好有源代码?
我的程序中有一个splash启动画面(bmp格式),我想将该图片以二进制方式读出来,然后在该二进制文件中插入类似于密钥之类的东西,当程序启动时,读取该二进制文件,如果有密钥,则进入系统,否则提示出错退出。不知这样该如何实现?各位高手还有其他好的软件加密方法吗,最好有源代码?
http://www.csdn.net/cnshare/soft/14/14147.shtm
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
这个确实是个问题,我也考虑到了,但我现在只想实现,以后在考虑被跟踪的情况
利用BMP文件的某些段来添加exe文件~
你可以利用那些空白的地方添加你的数据~
研究一下BMP文件的格式吧……
哪儿有?
int GetDIBPixelSize(const BITMAPINFOHEADER & bmih)
{
if ( bmih.biSizeImage )
return bmih.biSizeImage;
else
return ( bmih.biWidth * bmih.biBitCount + 31 ) / 32 * 4 * bmih.biPlanes * abs(bmih.biHeight);
}
在该有效长度之后,随便你放什么东西都不会对该位图的显示有影响,你的密钥等就可以放在这里。
{
if ( bmih.biBitCount <= 8 )
if ( bmih.biClrUsed )
return bmih.biClrUsed;
else
return 1 << bmih.biBitCount;
else if ( bmih.biCompression==BI_BITFIELDS )
return 3 + bmih.biClrUsed;
else
return bmih.biClrUsed;
}
......
BITMAPFILEHEADER bmFH; int nHeadSize = sizeof(BITMAPINFOHEADER) +
sizeof(RGBQUAD) * GetDIBColorCount(pBMI->bmiHeader); bmFH.bfType = 0x4D42;
bmFH.bfSize = nHeadSize + GetDIBPixelSize(pBMI->bmiHeader); //这是文件的有效长度。