首页
社区
课程
招聘
[原创]python 脚本认知
发表于: 2020-6-10 22:51 1946

[原创]python 脚本认知

2020-6-10 22:51
1946

payload的一点思考

  addr= 0x401186
  payload=0xf*'a'\
          +'bbbb'\
          +str(addr)
  print (payload)

已下是凯撒密码解密的一个小的脚本,大佬请略过

  m='adsafwef'
  n=''
  offset=1
  for i in m:
          j=ord(i)+offset
          chr(j)
          n+=chr(j)
  print(n)

求模逆,由于在仿射密码中见过

  #coding:utf-8
  #求模逆运算
  x=11 #求11对于26的模逆
  y=26
  m=y*1+0*x
  n=y*0+1*x
  p=0
  q=1
  while(m!=1 and n!=1):
      k=n
      h=q
      t=int((m/n))
      n=m - t*n
      q=p - t*q
      m=k
      p=h

  if(m==1 or n==1):
      key=q%26
      print(key)
  m='jackozoo'#密文
  k=''
  for i in m:
      y=ord(i)-ord('a')
      x=key*(y-7)%26
      x+=ord('a')
      k+=chr(x)
  print(k) #明文

补充:仿射解密

C=(a*m+b)mod26
a,b为密匙,b<26,m是待加密的字母对应的数字
a与26互素(由欧拉函数可知26*(1-1/2)*(1-1/13)=12)求出互质数的个数
gcd(a,26)=1,密匙空间=26*12

先求11对26的模逆: 11^-1mod26 = 19 .
求法:
26=1*26+0*11
11=0*26+1*11|2
4=1*26-2*11|2
3=-2*26+5*11|1
1=3*26-7*11
-7%26=19(相当于-7+26)
可知a^-1=19(a的逆元)

故解密变换为: x = 19(y-7) mod 26 ;

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-8-7 17:27 被zer0_1s编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//