สคริปต์สร้าง imei เวอร์ชั่น 2 กำหนดจำนวน imei และรุ่นมือถือได้
** การใช้งาน ./genimei.pl number_of_imei mobile_model
โดยที่ mobile_model ที่รองรับ
nokia100, nokia101, nokia103, nokia105, nokia1200, nokia1202, nokia1661, nokia1280, nokia1650, nokia720
lumia720
asha203, asha500, asha501
x2, xl, x3, c3
galaxys3, galaxys4, galaxys5
- โค้ด: เลือกทั้งหมด
#!/usr/bin/perl
use strict;
use warnings;
my $tac = 0;
my $q = 0;
my $mobiletac = 0;
my $imeiqty = $ARGV[0];
my $model = $ARGV[1];
chomp $imeiqty;
chomp $model;
if (not defined $imeiqty) {
die "Please Enter Quantity. Usage:$0 imei_quantity mobile_model\n";
}
if (not defined $model) {
die "Please Enter Model. Usage:$0 imei_quantity mobile_model\n";
}
if ($imeiqty <= 0 || $imeiqty >= 1001) {
die "Quantity can't less than or equal 0 and not more than 1000\n";
}
#my $imeiqty = 10;
for ($q=0;$q<$imeiqty;$q=$q+1) {
my $random = rand();
my $serial = substr($random,-6,6);
my $imei_b = 0;
my $realimei = 0;
if ($model eq 'nokia100') {
$tac = '78688676';
} elsif ($model eq 'nokia101') {
$tac = '86069902';
} elsif ($model eq 'nokia103') {
$tac = '97531468';
} elsif ($model eq 'nokia105') {
$tac = '35575306';
} elsif ($model eq 'nokia710') {
$tac = '35930004';
} elsif ($model eq 'nokia822') {
$tac = '35459905';
} elsif ($model eq 'nokia8250') {
$tac = '35154270';
} elsif ($model eq 'nokia3310') {
$tac = '35099280';
} elsif ($model eq 'nokia8310') {
$tac = '35007074';
} elsif ($model eq 'nokia8350') {
$tac = '35060372';
} elsif ($model eq 'nokia1200') {
$tac = '35984401';
} elsif ($model eq 'nokia1202') {
$tac = '34792844';
} elsif ($model eq 'nokia1661') {
$tac = '35799803';
} elsif ($model eq 'nokia1280') {
$tac = '35931504';
} elsif ($model eq 'nokia1650') {
$tac = '35322003';
} elsif ($model eq 'nokia6610') {
$tac = '12345678';
} elsif ($model eq 'lumia720') {
$tac = '35591105';
} elsif ($model eq 'asha203') {
$tac = '35168105';
} elsif ($model eq 'asha500') {
$tac = '32403240';
} elsif ($model eq 'asha501') {
$tac = '35552105';
} elsif ($model eq 'x2') {
$tac = '35862604';
} elsif ($model eq 'xl') {
$tac = '35370906';
} elsif ($model eq 'x3') {
$tac = '35222222';
} elsif ($model eq 'x7-00') {
$tac = '35625704';
} elsif ($model eq 'c3') {
$tac = '35538404';
} elsif ($model eq 'e63') {
$tac = '35339704';
} elsif ($model eq 'galaxys2') {
$tac = '35886704';
} elsif ($model eq 'galaxys3') {
$tac = '99000343';
} elsif ($model eq 'galaxys4') {
$tac = '35642005';
} elsif ($model eq 'galaxys5') {
$tac = '35330006';
} elsif ($model eq 'galaxym') {
$tac = '35558004';
} elsif ($model eq 'galaxyy') {
$tac = '35925904';
} elsif ($model eq 'galaxynote3') {
$tac = '35858805';
} elsif ($model eq 'iphone4s-1') {
$tac = '01318100';
} elsif ($model eq 'iphone5') {
$tac = '99000228';
} elsif ($model eq 'iphone5s') {
$tac = '01378900';
} elsif ($model eq 'iphone4-1') {
$tac = '01285100';
} elsif ($model eq 'iphone4s-2') {
$tac = '01317200';
} elsif ($model eq 'iphone4-2') {
$tac = '01265500';
} elsif ($model eq 'xperia-z') {
$tac = '35765605';
} elsif ($model eq 'nokia6220') {
$tac = '35295456';
} else {
print "Please enter currently supported model. Currently Supported model:\n";
print "nokia100\n";
print "nokia101\n";
print "nokia103\n";
print "nokia105\n";
print "nokia710\n";
print "nokia1200\n";
print "nokia1202\n";
print "nokia1661\n";
print "nokia1280\n";
print "nokia1650\n";
print "nokia3310\n";
print "nokia8250\n";
print "nokia8310\n";
print "nokia8350\n";
print "nokia6220\n";
print "nokia6610\n";
print "nokia720\n";
print "nokia822\n";
print "lumia720\n";
print "asha203\n";
print "asha500\n";
print "asha501\n";
print "x2\n";
print "x3\n";
print "x7-00\n";
print "xl\n";
print "e63\n";
print "galaxys2\n";
print "galaxys3\n";
print "galaxys4\n";
print "galasyx5\n";
print "galaxym\n";
print "galaxyy\n";
print "galaxynote3\n";
print "iphone4-1\n";
print "iphone4-2\n";
print "iphone4s-1\n";
print "iphone4s-2\n";
print "iphone5\n";
print "iphone5s\n";
print "xperia-z\n";
exit;
}
$mobiletac = $tac.$serial;
$realimei = imeigen($mobiletac);
print "$realimei\n";
}
sub imeigen {
$_[0] =~ m/(\d+)/;
my $k=$1;
return $_[0],'?',-1 unless $k;
my $a1 = substr($k,0,1);
my $b1 = substr($k,1,1);
my $a2 = substr($k,2,1);
my $b2 = substr($k,3,1);
my $a3 = substr($k,4,1);
my $b3 = substr($k,5,1);
my $a4 = substr($k,6,1);
my $b4 = substr($k,7,1);
my $a5 = substr($k,8,1);
my $b5 = substr($k,9,1);
my $a6 = substr($k,10,1);
my $b6 = substr($k,11,1);
my $a7 = substr($k,12,1);
my $b7 = substr($k,13,1);
my $c1 = $b1*2;
my $c2 = $b2*2;
my $c3 = $b3*2;
my $c4 = $b4*2;
my $c5 = $b5*2;
my $c6 = $b6*2;
my $c7 = $b7*2;
my $d11 = substr($c1,0,1);
if ($d11 eq "") {
$d11 = 0;
}
my $d12 = substr($c1,1,1);
if ($d12 eq "") {
$d12 = 0;
}
my $d21 = substr($c2,0,1);
if ($d21 eq "") {
$d21 = 0;
}
my $d22 = substr($c2,1,1);
if ($d22 eq "") {
$d22 = 0;
}
my $d31 = substr($c3,0,1);
if ($d31 eq "") {
$d31 = 0;
}
my $d32 = substr($c3,1,1);
if ($d32 eq "") {
$d32 = 0;
}
my $d41 = substr($c4,0,1);
if ($d41 eq "") {
$d41 = 0;
}
my $d42 = substr($c4,1,1);
if ($d42 eq "") {
$d42 = 0;
}
my $d51 = substr($c5,0,1);
if ($d51 eq "") {
$d51 = 0;
}
my $d52 = substr($c5,1,1);
if ($d52 eq "") {
$d52 = 0;
}
my $d61 = substr($c6,0,1);
if ($d61 eq "") {
$d61 = 0;
}
my $d62 = substr($c6,1,1);
if ($d62 eq "") {
$d62 = 0;
}
my $d71 = substr($c7,0,1);
if ($d71 eq "") {
$d71 = 0;
}
my $d72 = substr($c7,1,1);
if ($d72 eq "") {
$d72 = 0;
}
my $e = $d11+$d12+$d21+$d22+$d31+$d32+$d41+$d42+$d51+$d52+$d61+$d62+$d71+$d72;
my $f = $a1+$a2+$a3+$a4+$a5+$a6+$a7;
my $h = ($e+$f)%10;
my $i = 10-$h;
my $real = $k.$i;
if (length($real)==16) {
#print "Length = 16\n";
my $real1=substr($real,0,14);
my $real2=substr($real,15,1);
return $real1.$real2;
}
#return $k.$i;
return $real;
}