
我是这样做的,给不了分 哎。算了
CString Encode::UnicodeDecode( CString & text )
{
int length = textGetLength();
#ifdef UNICODE
string wrst;
USES_CONVERSION;
const WCHAR m_lpSrc = W2A(text);
WCHAR ch;
#else
wstring wrst;
const char m_lpSrc = (LPCTSTR)text;//textGetString();
char ch;
#endif
bool escape = false;
int intHex;
TCHAR tmp[5];
ZeroMemory(tmp, 5);
for(int i=0; i<length;i++)
{
ch = m_lpSrc[i];
switch (ch)
{
case '\\':
case '%':
escape = true;
break;
case 'u':
case 'U':
if (escape)
{
memcpy(tmp, m_lpSrc+i+1, 4);
sscanf(tmp, _T("%x"), &intHex); //把16进制字符转换为数字
//wrstpush_back(intHex);
wrst += intHex;
i+=4;
escape=false;
}else{
//wrstpush_back(ch);
wrst += ch;
}
break;
default:
//wrstpush_back(ch);
wrst += ch;
break;
}
}
#ifdef UNICODE
return wrstc_str();
#else
string rst;
USES_CONVERSION;
rstappend(W2A(wrstc_str()));
return rstc_str();
#endif
}
这段源代码本来就是解密的源代码,你还问怎么解密,他解密的方法就是 void CMyDlg::DecryptData(unsigned char szRec, unsigned long nLen, unsigned long key) { unsigned long i; unsigned char p; p = (unsigned char ) key % 254 +1; for(i = 0; i < nLen; i++) { szRec -= p; szRec++ ^= p; } } 说明白点就是,提供一个unsigned long 类型的密匙,然后截断成unsigned char类型,然后再模254,最后加1,新出来的这个数就是真正的密匙 有了密匙后,对密文的每个字节的编码首先减去密匙,然后再跟密匙进行异或,最后的出来的就是解密后的内容了 至于他的加密算法,也就是解密算法的一个相反过程罢了
目前php加密的方法主要有Zend加密,这个解密的话很简单,网上很多教程。基本都是一键解密。因为zend本身就提供解密。
还有一个是ioncube加密,这个解密也不是很难,教程很多。基本也可以一键解密。
还有比较多的是,程序员自己对源码进行加密,这个比较蛋疼,解密的话只能靠自己的经验,没有统一的解密方法。
你要先知道用的是那种加密,如果是Zend或者ioncube解密都很简单,网上很多教程。
“网页源代码加密”?----是rar或其他源文件加密了你需要去破解,如果是,找个破解软件试试;如果是网站中网页源文件“加密”了看不到源代码,那就很简单了,用ie、maxthon、chrome的插件都可以看到源代码,但是重点推荐火狐的firebug功能,html、js、css都可以看到,还可以本地对元素进行 *** 作(可在线编辑),功能很强大。不知道能否为你解惑
以上就是关于用C++ 如何解密经过escape加密的网页源码全部的内容,包括:用C++ 如何解密经过escape加密的网页源码、vs2010源码标题解密、我从网上下来的php源码,所有的php文件都被加密了,怎么批量破解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)