写了人生中第一个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

36 条评论

昵称
  1. duangsuse

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

    1. liwanglin12

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

    2. signofforzen

      @duangsuse 我就java熟悉点 哈哈

    3. liwanglin12

      @signofforzen Java 熟悉也很棒诶

  2. 6966

  3. 明年

    喜欢。。。。。

  4. 酷喵

    前排支持。

  5. 御坂网络

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

    1. liwanglin12

      @御坂网络 有区域啊,只需要试一部分号段。。

  6. Kenvi

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

    1. liwanglin12

      @Kenvi 。。。。

  7. 钱蛋儿

    不明觉厉不过支持

  8. CancerGary

    如果真相是8191层呢2333

    1. liwanglin12

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

    2. CancerGary

      @liwanglin12 祝你好运#(斜眼)

    3. liwanglin12

      @CancerGary 确认没有成功了=。=

  9. 雨后青柠

    用GPU+4线程跑

    1. liwanglin12

      @雨后青柠 (o_ _)不会调用GPU啊

  10. 果果

    默默地看著[手动斜眼]

    1. liwanglin12

      @果果 ...(╯°口°)╯︵┴─┴

  11. 王冰菡

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

  12. 影乐

    跑完了么?

    1. liwanglin12

      @影乐 早就完了,没跑出来

  13. 冯杀神

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

    1. liwanglin12

      @冯杀神 = =你博客比我装逼多了

    2. 冯杀神

      @liwanglin12 = =没你牛逼,我是弱鸡

    3. liwanglin12

      @冯杀神 口胡

  14. Main_time

    (。・`ω´・)

  15. Cyyzaid

    默默地看著

  16. JclMiku

    默默地看着

  17. 天空铃音

    ...

    1. liwanglin12

      @天空铃音 ...(╯°口°)╯︵┴─┴

  18. Corps

    默默地看著

    1. liwanglin12

      @Corps ...(╯°口°)╯︵┴─┴

  19. Cytrs

    默默地看著

    1. liwanglin12

      @Cytrs ...(╯°口°)╯︵┴─┴