Recently, I learned about itertools in python. Especially, about the functions permutations, combinations, and products and I tried to make a script that generates all phone numbers in our country. I bet your phone number is too on the list.
let the hack begin!!!
First, you need to install itertools in your computer
Simply open your terminal and type
sudo apt-get install -y python-more-itertools
Then Write the code below
from itertools import product
file_name ="phonebook.txt"
phonebook = open(file_name,'a')
prefixes = ['+9471']
product_a = product(['1','2','3','4','5','6','7','8','9','0'],
['1','2','3','4','5','6','7','8','9','0'],
['1','2','3','4','5','6','7','8','9','0'],
['1','2','3','4','5','6','7','8','9','0'],
['1','2','3','4','5','6','7','8','9','0'],
['1','2','3','4','5','6','7','8','9','0'],
['1','2','3','4','5','6','7','8','9','0']
)
for prefix in prefixes:
for product_combined in product_a:
suffix = ''.join(product_combined)
phonebook.write(prefix+suffix+'\n')
phonebook.close()
Here prefixes list consists of the country code and service provider's code.
as an example the first item of my prefix list:
'+94' is the country code and '71' is the service provider code you can customize this list as you want.
then I open a text file to write my output using the open() function.
PHILOSOPHY OF THE CODE
In the beginning, I imported the function product that returns all possible combinations and permutations as a list.
then I started a for loop for pick a prefix and I start another for loop to join combination and prefix together and write it into our file
suffix = ''.join(product_combined)
Here product_combined is a tuple and we use the join() function to join the items in the tuple as a string
phonebook.write(prefix+suffix+'\n')
And this line to write our file line by line
That is all and you are all set to generate crores of phone numbers and a number will contain 12 characters if you do it like I did. But you can change them simply by changing the prefix-list and number of lists given as parameters to the product function.
As an example, if you give 7 lists as parameters you will have a combination of 7 characters.
WARNING
As too much data is manipulated your machine may be stuck. To avoid this I strongly recommend using only one item in prefix_list once.
Comments
Post a Comment