阅读:780回复:7

求破解的算法!

楼主#
更多 发布于:2003-02-17 16:38
现在已经知道了加密的算法,怎么才能够得到破解的算法呢!
#include \"windows.h\"
#include \"stdio.h\"

PULONG g_pulDestVal = NULL;

void
FillTable()
{
register ULONG ulRegEAX = 0;
register ULONG ulRegEBX = 0;
register ULONG ulRegECX = 0;
register ULONG ulRegEDX = 0;

if(g_pulDestVal == NULL)
{
g_pulDestVal = new ULONG[0x100];
}
for(ulRegEAX = 0; ulRegEAX < 0x100; ulRegEAX++)
{
ulRegECX = ulRegEAX;
for(ulRegEDX = 8;ulRegEDX != 0; ulRegEDX--)
{
if(ulRegECX&1)
{
ulRegECX >>= 1;
ulRegECX ^= 0XEDB88320;
}else{
ulRegECX >>= 1;
}
}
g_pulDestVal[ulRegEAX] = ulRegECX;
}
}

ULONG
FindTable(
PCHAR pPassword,
ULONG ulPasswdStrlen
)
{
ULONG ulLoopVal = 0;
ULONG ulChar = 0;
ULONG ulResult = 0xFFFFFFFF;
for(ulLoopVal = 0; ulLoopVal < ulPasswdStrlen; ulLoopVal++)
{
ulChar = pPassword[ulLoopVal];
ulChar ^= (ulResult & 0xFF);
ulResult >>= 0x8;
ulResult ^= g_pulDestVal[ulChar];
}
return ulResult;
}

inline
void
AscIIINC(
PCHAR pPassword,
ULONG ulPasswdStrlen
)
{
ULONG i = 0;
for(;; )
{
if(i >= ulPasswdStrlen)
{
break;
}

if(pPassword < \'0\')
{
pPassword = \'0\'-1;
}
/*
if((pPassword >\'9\' )&&(pPassword < \'A\'))
{
pPassword = \'A\'-1;
}
if((pPassword >\'Z\' )&&(pPassword < \'a\'))
{
pPassword = \'a\'-1;
}
*/
pPassword++;
if(pPassword >= \'9\'+1)
{
pPassword = \'0\';
}else{
break;
}
/*
if(pPassword >= \'z\'+1)
{
pPassword = \'0\';
}else{
if( ((pPassword >= \'0\') && (pPassword <= \'9\'))
||((pPassword >= \'A\') && (pPassword <= \'Z\'))
||((pPassword >= \'a\') && (pPassword <= \'z\')) )
{
break;
}
if((pPassword >\'9\' )&&(pPassword < \'A\'))
{
pPassword = \'A\';
break;
}
if((pPassword >\'Z\' )&&(pPassword < \'a\'))
{
pPassword = \'a\';
break;
}
}
*/
i++;
}
}



ULONG
QueryVal1(
ULONG ulVal,
ULONG ulBitCount
)
{

ULONG ulLoopVal;
ULONG ultmpVal;
ulBitCount &= 0x1F;
ulLoopVal = ulBitCount;

for(; ulLoopVal != 0; ulLoopVal--)
{
ultmpVal = ulVal;
ultmpVal &= 0x80000000;
ulVal <<= 1;
if(ultmpVal)
{
ulVal |= 1;
}
}
/*
_asm{
mov ecx,ulBitCount
mov eax,ulVal
and ecx,0x1F
mov edx,ecx
dec ecx
test edx,edx
jz QueryValStep3
lea edx,[ecx+1]
QueryValStep1:
mov ecx,eax
and ecx,0x80000000
shl eax,1
test ecx,ecx
jz QueryValStep2
or al,1
QueryValStep2:
dec edx
jnz QueryValStep1
QueryValStep3:
mov ulVal,eax
}
*/
return ulVal;
}


ULONG
QueryVal2(
ULONG ulVal,
ULONG ulBitCount
)
{

ULONG ulLoopVal;
ULONG ultmpVal;
ulBitCount &= 0x1F;
ulLoopVal = ulBitCount;

for(; ulLoopVal != 0; ulLoopVal--)
{
ultmpVal = ulVal;
ultmpVal &= 1;
ulVal >>= 1;
if(ultmpVal)
{
ulVal |= 0x80000000;
}
}
/*
_asm{
mov ecx,ulBitCount
mov eax,ulVal
and ecx,0x1F
mov edx,ecx
dec ecx
test edx,edx
jz QueryValStep3
lea edx,[ecx+1]
QueryValStep1:
mov ecx,eax
and ecx,1
shr eax,1
test ecx,ecx
jz QueryValStep2
or al,0x80000000
QueryValStep2:
dec edx
jnz QueryValStep1
QueryValStep3:
mov ulVal,eax
}
*/
return ulVal;
}


ULONG
AskEncryWord(
ULONG ulFirstPassWd
)
{
PUCHAR p = NULL;
PUCHAR pPassword = NULL;
ULONG ulPassWd = 0;
UCHAR ucByte;

pPassword = (PUCHAR)&ulPassWd;

p = (PUCHAR)&ulFirstPassWd;
ucByte = (UCHAR)QueryVal1(p[0],3);
ucByte ^= 0x74;
pPassword[0] = ucByte;

ucByte = (UCHAR)QueryVal2(p[1],5);
ucByte ^= 0x74;
pPassword[1] = ucByte;

ucByte = (UCHAR)QueryVal1(p[2],7);
ucByte ^= 0x74;
pPassword[2] = ucByte;

ucByte = (UCHAR)QueryVal2(p[3],3);
ucByte ^= 0x74;
pPassword[3] = ucByte;

ucByte = pPassword[0];
pPassword[0] = pPassword[1];
pPassword[1] = ucByte;

ucByte = pPassword[2];
pPassword[2] = pPassword[3];
pPassword[3] = ucByte;

return ulPassWd;
}

void
main(void)
{
ULONG ulFirstPassWd = 0;
ULONG ulLastPassWord = 0;
CHAR cPassword[513] = {\'0\'};

FillTable();

for(;;)
{
printf(\"%s\\n\",cPassword);
ulFirstPassWd = FindTable(cPassword,strlen(cPassword));
ulFirstPassWd = ~ulFirstPassWd;

ulFirstPassWd = AskEncryWord(ulFirstPassWd);

if(ulLastPassWord == 0x746A3C71)
{
printf(\"Password Is %s\\n\",cPassword);
getchar();
break;
}
AscIIINC(cPassword,sizeof(cPassword)-1);
}
if(g_pulDestVal)
{
delete [] g_pulDestVal;
}
}
已经知道的是0x746A3C71就是加密之后的password了!并且算法已经弄出来了!这个程序就是准备使用穷举的方法!但是实在是太慢了!不知道怎么弄出破解的算法,主要就是
C=A^B
E=C^D
现在只知道B和E怎么求的A呢!

最新喜欢:

shyeagleshyeag...
green_pine
驱动太牛
驱动太牛
  • 注册日期2002-10-22
  • 最后登录2019-06-10
  • 粉丝3
  • 关注0
  • 积分48分
  • 威望599点
  • 贡献值1点
  • 好评度144点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-02-17 16:52
很容易破解还叫加密算法吗
cwj53061871
驱动老牛
驱动老牛
  • 注册日期2002-03-08
  • 最后登录2013-01-10
  • 粉丝2
  • 关注0
  • 积分38分
  • 威望463点
  • 贡献值0点
  • 好评度162点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-17 17:35
很容易破解还叫加密算法吗


有加密就会有解吗????????
毛主席说:自力更生,坚苦朴素
ice_fire333
驱动老牛
驱动老牛
  • 注册日期2002-10-08
  • 最后登录2007-08-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-17 18:27
 
引用:
--------------------------------------------------------------------------------
很容易破解还叫加密算法吗
--------------------------------------------------------------------------------



有加密就会有解吗????????

 

理论上有
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。   十步杀一人,千里不留行。事了拂衣去,深藏身与名。   闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。   三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。   救赵挥金槌,邯郸先震惊。千秋二壮士,煊赫大梁城。   纵死侠骨香,不惭世上英。谁能书阁下。白首太玄经。
118139
驱动中牛
驱动中牛
  • 注册日期2002-12-02
  • 最后登录2009-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望14点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-17 19:08
[quote]引用:
--------------------------------------------------------------------------------
很容易破解还叫加密算法吗
--------------------------------------------------------------------------------



有加密就会有解吗????????

 

理论上有 [/quote]
实际上是一定有
[color=red]虽然岁月总是匆匆的催人老,虽然情爱总是让人烦恼,斩了千次的情丝却断不了,百转千折它将我围绕. [/color][color=blue]有人问我你究竟是哪里好,这么多年你还忘不掉,春风再美也比不上你的笑,没见过你的人不会明了. [/color]
wolffy
驱动老牛
驱动老牛
  • 注册日期2001-03-23
  • 最后登录2018-04-15
  • 粉丝0
  • 关注0
  • 积分72分
  • 威望71点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-02-17 19:13
据说有一种叫天窗算法的,无法逆向求解。
具体我也不了解,以前好像道听途说过。
我坐在石头上,石头有点烫,但烫的很舒服。
118139
驱动中牛
驱动中牛
  • 注册日期2002-12-02
  • 最后登录2009-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望14点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-02-17 19:21
市场上的游戏软件的破解
一般是用什么方法
[color=red]虽然岁月总是匆匆的催人老,虽然情爱总是让人烦恼,斩了千次的情丝却断不了,百转千折它将我围绕. [/color][color=blue]有人问我你究竟是哪里好,这么多年你还忘不掉,春风再美也比不上你的笑,没见过你的人不会明了. [/color]
cn18799
驱动老牛
驱动老牛
  • 注册日期2001-11-17
  • 最后登录2010-04-16
  • 粉丝0
  • 关注0
  • 积分54分
  • 威望36点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-18 08:09
[quote]引用:
--------------------------------------------------------------------------------
很容易破解还叫加密算法吗
--------------------------------------------------------------------------------



有加密就会有解吗????????

 

理论上有 [/quote]
有加密肯定就有解(不只是理论上),但有加密算法不一定就有
解密算法(暴力破解除外)。
[img]http://www.danasoft.com/vipersig.jpg[/img] [img]http://www.driverdevelop.com/forum/upload/cn18799/2002-09-28_logo.gif[/img]
游客

返回顶部