首页
社区
课程
招聘
[旧帖] [求助]请教一个加密算法的逆算法 0.00雪花
发表于: 2008-4-2 14:09 2838

[旧帖] [求助]请教一个加密算法的逆算法 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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回