写了人生中第一个python程序用来碰撞吟梦About页的手机MD5

希望能成功吧(doge脸)

源码

import re
import hashlib
import math
import urllib2

def md5(str):
	md5 = hashlib.md5()  
	md5.update(str)   
	return md5.hexdigest() 
def query(phnum):
	for i in xrange(0,10000):
		phmd5 = md5(phnum + '{0:04}'.format(i))
		print phmd5 + '  ' + phnum  + '{0:04}'.format(i)
		if phmd5 == 'be770110bef534dff005cd1f8fde5cac':
			print phnum + '{0:04}'.format(i)
			raw_input()
url = "https://blog.lwl12.com/data/zzphone.html" #Originally the pretreatment of the phone number, too long, so to get the page to get the (source site seems to be a letter of the reptiles = = to put their own) (py in Chinese notes Crash instant so had to translate it.) 
test_str = urllib2.urlopen(url).read().decode('utf-8')
p = re.compile(ur'\d{7,7}')
pngroup = re.findall(p, test_str)
for num in xrange(0,len(pngroup)):
	query(pngroup[num])

raw_input()

 

现场照片

碰撞现场

02:55 更新

并没有成功_(:з」∠)_不开心 吟梦肯定没用纯手机号MD5

Impact failure

9:45更新

吟梦说他只是加了8192层md5而已,好吧于是我又开始作死了doge

由于计算量太大(5,873,664个MD5) 这回用上了4线程操作匹配

import re
import hashlib
import math
import urllib2
import threading

def md5(str):
	md5 = hashlib.md5()  
	md5.update(str)   
	return md5.hexdigest() 
def query(phnum):
	for i in xrange(0,10000):
		phmd5 = md5(phnum + '{0:04}'.format(i))
		for x in xrange(0,8191):
			phmd5 = md5(phmd5)
			print phmd5 + '  ' + phnum  + '{0:04}'.format(i) +  '  Query' + str(x) + '\n'
			if phmd5 == 'be770110bef534dff005cd1f8fde5cac':
				print phnum + '{0:04}'.format(i)
				raw_input()
def thread(pngroup,gonum):
	for num in xrange(gonum-180,gonum):
		query(pngroup[num])
url = "https://blog.lwl12.com/data/zzphone.html" #Originally the pretreatment of the phone number, too long, so to get the page to get the (source site seems to be a letter of the reptiles = = to put their own) (py in Chinese notes Crash instant so had to translate it.) 
test_str = urllib2.urlopen(url).read().decode('utf-8')
p = re.compile(ur'\d{7,7}')
pngroup = re.findall(p, test_str)
threads = []
try:
   threads.append(threading.Thread(target=thread, args=(pngroup,180,)))
   threads.append(threading.Thread(target=thread, args=(pngroup,360,)))
   threads.append(threading.Thread(target=thread, args=(pngroup,540,)))
   threads.append(threading.Thread(target=thread, args=(pngroup,716,)))
   for t in threads:
        t.start()
   for t in threads:
        t.join()
except:
   print "Error: unable to start thread"
raw_input()

 

QQ图片20151227111539QQ截图20151227111711

34 条评论

昵称
  1. duangsuse

     ̄﹃ ̄跑密码的话..
    拿python跑…
    感觉不如Rust.Go,C之类的好吧…

    1. liwanglin12

      😂你说的这几个我都精通单词拼写

  2. 6966

  3. 明年

    喜欢。。。。。

  4. 酷喵

    前排支持。

  5. 御坂网络

    手机号有好几十亿呢,每个都要试8000多层吗

    1. liwanglin12

      有区域啊,只需要试一部分号段。。

  6. Kenvi

    真相怕是8192层MD5,每层MD5还都是截取部分

    1. liwanglin12

      。。。。

  7. 钱蛋儿

    不明觉厉不过支持

  8. CancerGary

    如果真相是8191层呢2333

    1. liwanglin12

      你看源码就能知道无论多少层碰中了都会提示的

      1. CancerGary

        祝你好运#(斜眼)

        1. liwanglin12

          确认没有成功了=。=

  9. 雨后青柠

    用GPU+4线程跑

    1. liwanglin12

      (o_ _)不会调用GPU啊

  10. 果果

    默默地看著[手动斜眼]

    1. liwanglin12

      …(╯°口°)╯︵┴─┴

  11. 王冰菡

    佩服你,能发这么好的文章,厉害

  12. 影乐

    跑完了么?

    1. liwanglin12

      早就完了,没跑出来

  13. 冯杀神

    |・ω・`)静静的看着你装逼

    1. liwanglin12

      = =你博客比我装逼多了

      1. 冯杀神

        = =没你牛逼,我是弱鸡

        1. liwanglin12

          口胡

  14. Main_time

    (。・`ω´・)

  15. Cyyzaid

    默默地看著

  16. JclMiku

    默默地看着

  17. 天空铃音

    1. liwanglin12

      …(╯°口°)╯︵┴─┴

  18. Corps

    默默地看著

    1. liwanglin12

      …(╯°口°)╯︵┴─┴

  19. Cytrs

    默默地看著

    1. liwanglin12

      …(╯°口°)╯︵┴─┴