Board logo

标题: [原创代码] 狂人TD4.3积分代码破解2优化 [打印本页]

作者: 依山居    时间: 2015-11-3 12:45     标题: 狂人TD4.3积分代码破解2优化

本帖最后由 依山居 于 2015-11-7 06:58 编辑
  1. #-*-coding:gb2312-*-
  2. #python破解狂人TD4.3积分代码2优化
  3. #依山居 10:05 2015/11/3
  4. #本程序用于生成魔兽争霸3地图狂人TD4.3 所有999的积分代码
  5. #狂人TD4.3的积分代码是6位的字符形式如joprb0
  6. #使用方法是在游戏开始输入-load joprb0
  7. import string
  8. az=string.ascii_lowercase
  9. jf=''
  10. #你想要多少积分
  11. score=999
  12. #取积分个位十位百位
  13. sg=score%10
  14. ss=int(score%100/10)
  15. sb=int(score/100)
  16. #这里的range本质为游戏名长度取值1-15
  17. for i in range(15,0,-1):
  18.     #本质是历遍随机数1-15
  19.     for rd in range(1,16):
  20.         #rd的取值本质是1-15的随机整数,随机数可以使得玩家不是每次都相同。rn本质是游戏名长度加随机数除以10取余
  21.         rn=(i+rd)%10
  22.         jf=az[i%10+sg]+az[sg+rd]+az[ss+rn+1]+az[sb+rn+3]+az[(sg+ss+sb)%26]+str(((sg+1)*(rn+3))%10)
  23.         print("狂人TD4.3游戏名长度为%2d的积分代码: " %i,jf)
  24. """
  25. 这个程序的计算公式是从狂人TD4.3的源代码中分析出来的。
  26. az等于"abc..z"
  27. 先算出az[]中数字,就能转换成对应的字符。
  28. az[0]等于a,az[2]等于c以此类推。
  29. ---积分代码第一位---
  30. az[i%10+sg] 游戏名长度除非10求余加上(积分的个位数)
  31. 由于i不能为0,据此可以反推出积分代码首位为a的游戏名长度是10
  32. ---积分代码第二位---
  33. az[sg+rd]   积分的个位数加上随机数rd,rd可以取值1-15影响的结果,
  34. 第3\4\6位积分代码会跟随rd变化
  35. ---积分代码第三四位---
  36. az[ss+rn+1] 积分代码的十位数加上rn加1,rn见上程序中的注释。
  37. az[sb+rn+3] 积分代码的百位数加上rn加1,rn见上程序中的注释。
  38. ---积分代码第五位---
  39. az[(sg+ss+sb)%26] 积分代码的个十百位相加后再除26求余。
  40. ---积分代码第六位---
  41. str(((sg+1)*(rn+3))%10) 最后一代码为一位数字。个位数加1 rn加3 相乘后除10求余。
  42. 由此公式反推 sg=9 或者rn=7时。最后一位代码为0
  43. """
复制代码
代码错了,重新更新。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2