-
-
[旧帖] [求助]请教一个加密算法的逆算法 0.00雪花
-
发表于: 2008-4-2 14:09 2838
-
第一次决定破解一个软件,好不容易把解码算法给弄出来了。
基本上不会C语言,就用python写的算法。
大侠帮帮看看给个逆算法的思路吧
file为keyfile
原来大体的思路就是第一步把file读到一字符串,然后每两个字符通过一算法变成一个字符,存到一字符串中,这个逆算法应该好写
第二步把第一步转换出来的字符串用cryp这个小字符串解开,主要是cryp是在变的,这个逆算法就想不出该怎么办了。
谢谢了
cryp=[0x3A,0x1A,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6E]
str1="abcdefghijklmnopqrstuvwxyz"
def DeCode(file, str1,cryp)
s=open(file,'r').read()
flag=0
lastPos=0
first=[]
for i in s:
m=str1.find(i)
if (m<0):
continue
thisAbs=m-lastPos
if thisAbs<0:
thisAbs+=0x4E
if flag:
first.append((((thisAbs&0xF)*16) +(lastAbs & 0xF)))
flag=not flag
lastPos=m
lastAbs=thisAbs
for j in range(0,len(first)):
m=j
m=m%0xC
ah=cryp[m]*m & 0xFF00
if cryp[0]<0:
edx=((256+cryp[0])*m) & 0xFF
else:
edx=(cryp[0]*m )& 0xFF
first[j]=((cryp[0]*m & 0xFF) ^ cryp[m] ^ ori[j])
if (m<0xB):
al=cryp[m+1]
else:
al=cryp[0]
cryp[m]=((al+(first[j] & 0x7F)) & 0xFF) +cryp[m]
return first
基本上不会C语言,就用python写的算法。
大侠帮帮看看给个逆算法的思路吧
file为keyfile
原来大体的思路就是第一步把file读到一字符串,然后每两个字符通过一算法变成一个字符,存到一字符串中,这个逆算法应该好写
第二步把第一步转换出来的字符串用cryp这个小字符串解开,主要是cryp是在变的,这个逆算法就想不出该怎么办了。
谢谢了
cryp=[0x3A,0x1A,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6E]
str1="abcdefghijklmnopqrstuvwxyz"
def DeCode(file, str1,cryp)
s=open(file,'r').read()
flag=0
lastPos=0
first=[]
for i in s:
m=str1.find(i)
if (m<0):
continue
thisAbs=m-lastPos
if thisAbs<0:
thisAbs+=0x4E
if flag:
first.append((((thisAbs&0xF)*16) +(lastAbs & 0xF)))
flag=not flag
lastPos=m
lastAbs=thisAbs
for j in range(0,len(first)):
m=j
m=m%0xC
ah=cryp[m]*m & 0xFF00
if cryp[0]<0:
edx=((256+cryp[0])*m) & 0xFF
else:
edx=(cryp[0]*m )& 0xFF
first[j]=((cryp[0]*m & 0xFF) ^ cryp[m] ^ ori[j])
if (m<0xB):
al=cryp[m+1]
else:
al=cryp[0]
cryp[m]=((al+(first[j] & 0x7F)) & 0xFF) +cryp[m]
return first
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
赞赏
雪币:
留言: