สคริปต์เปลี่ยนค่า IMEI

GSM VoIP Configuration

สคริปต์เปลี่ยนค่า IMEI

โพสต์โดย nuiz » 13 ธ.ค. 2014 01:06

ไฟล์ imei.txt
โค้ด: เลือกทั้งหมด
512898167668605
986202655180156
497873250830221
548895683950101
547051488580807
440015610090694
987655078071378
525722043826325
548455308509947
525898797781310
531139122031283
541642844725684
304154420482299
338056876782165
107241658498086
332818385351550
506174945195750
861210532411967
352939796945478
304980027761218
998971005271412
518232781745058
989782451841108
458466478246283
496616425414657
525410639176863
300781699061091
499209068491880
985438686342867
869980872742682
102194354233072
537168469474453
332748560275813
984834428128716
917132326509034
335913885282327
982050896832455
547517976446883
536850157839979
453311366782913
524679838268439
515186005243543
548762605692775
516991858449686
528483404943194
500291602426884
514992566464621
987780091661441
983204675807860
497203470808221
515910214327049
532328737558884
548816227439559
861750692676883
993657673227878


ตัดบรรทัดว่างในไฟล์ imei.txt
** ไฟล์เก่าจะกลายเป็นไฟล์ imei.txt.back
โค้ด: เลือกทั้งหมด
perl -i.back -n -e "print if /\S/" imei.txt


สริปต์ changeimei.pl
โค้ด: เลือกทั้งหมด
#!/usr/bin/perl

use Net::Telnet;
use strict;
use warnings;

my $telnet = new Net::Telnet (Timeout => 10, Errmode => 'die', Port => 2313);
my $ports = '8';
my $username ='admin';
my $password = 'admin';
my $filename = 'imei.txt';

open(my $fh, '<:encoding(UTF-8)', $filename) or die "Could not open file '$filename' $!";

$telnet -> open('thailand.ddns.net');
$telnet -> waitfor('/Username:$/i');
$telnet -> print("$username");
$telnet -> waitfor('/Password:$/i');
$telnet -> print("$password");

$telnet -> waitfor('/\>$/i');
$telnet -> print('en');

$telnet -> waitfor('/\#$/i');
$telnet -> print('^config');

$telnet -> waitfor('/\(config\)\#$/i');

for ($a=0; $a<$ports ; $a=$a+1) {

  my $row = <$fh>;
  chomp $row;
  #print "$row\n";
  sleep(2);
  $telnet -> print("mobile cmd setimei $a $row");
  #print "mobile cmd setimei $a $row\n";

}

$telnet -> waitfor('/\(config\)\#$/i');
$telnet -> print('exit');

$telnet -> waitfor('/\#$/i');
$telnet -> print('exit');

#$telnet -> waitfor('/\>$/i');
#$telnet -> print('exit');

$telnet -> close;

print "Done\n";


ทำให้รันไฟล์ changeimei.pl ได้
โค้ด: เลือกทั้งหมด
chmod +x changeimei.pl


ติดตั้ง Perl-Net-Telnet
โค้ด: เลือกทั้งหมด
yum -y install perl-Net-Telnet


รันสคริปต์
โค้ด: เลือกทั้งหมด
./changeimei.pl



เช็คว่า IMEI เปลี่ยนไปหรือไม่
รุ่นเก่า
http://x.x.x.x/enImeiModify.htm

รุ่นใหม่ ดูจากหน้า Mobile Configuration -> IMEI
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: สคริปต์เปลี่ยนค่า IMEI

โพสต์โดย nuiz » 13 ธ.ค. 2014 01:28

php script เช็คค่า imei
โค้ด: เลือกทั้งหมด
<?php
function validate_imei($imei)
{
   if (!preg_match('/^[0-9]{15}$/', $imei)) return false;
   $sum = 0;
   for ($i = 0; $i < 14; $i++)
   {
      $num = $imei[$i];
      if (($i % 2) != 0)
      {
         $num = $imei[$i] * 2;
         if ($num > 9)
         {
            $num = (string) $num;
            $num = $num[0] + $num[1];
         }
      }
      $sum += $num;
   }
   if ((($sum + $imei[14]) % 10) != 0) return false;
   return true;
}
?>
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: สคริปต์เปลี่ยนค่า IMEI

โพสต์โดย nuiz » 13 ธ.ค. 2014 22:41

สคริปต์เวอร์ชั่น 2
- หลังจากอัพเดท imei แล้ว จะลบ imei ออกจากไฟล์ imei.txt
- แสดง imei ที่ยังเหลือในไฟล์ imei.txt

โค้ด: เลือกทั้งหมด
#!/usr/bin/perl

use Net::Telnet;
use strict;
use warnings;

my $remotehost = 'thailand.ddns.net';
my $remoteport = '2313';
my $remotetimeout = '5';
my $mobileports = '1';
my $username = 'admin';
my $password = 'admin';
my $filename = 'imei.txt';
my $freeimei = '0';
my $telnet = new Net::Telnet (Timeout => "$remotetimeout", Errmode => 'die', Port => "$remoteport");

open(my $fh, '<:encoding(UTF-8)', $filename) or die "Could not open file '$filename' $!";

#system ("/usr/bin/perl -i.back -n -e 'print if /\S/' $filename");

$telnet -> open("$remotehost");
$telnet -> waitfor('/Username:$/i');
$telnet -> print("$username");
$telnet -> waitfor('/Password:$/i');
$telnet -> print("$password");
$telnet -> waitfor('/\>$/i');
$telnet -> print('en');
$telnet -> waitfor('/\#$/i');
$telnet -> print('^config');
$telnet -> waitfor('/\(config\)\#$/i');

print "Please Wait...\n";

for ($a=0; $a<$mobileports ; $a=$a+1) {
  my $row = <$fh>;
  chomp $row;
  #print "$row\n";
  sleep(2);
  $telnet -> print("mobile cmd setimei $a $row");
  print "IMEI $a $row\n";
  system ("/usr/bin/perl -n -i -e 'print unless $. == 1..$mobileports' $filename");
}

$telnet -> waitfor('/\(config\)\#$/i');
$telnet -> print('exit');
$telnet -> waitfor('/\#$/i');
$telnet -> print('exit');
#$telnet -> waitfor('/\>$/i');
#$telnet -> print('exit');

$telnet -> close;

while (<$fh>) {
  $freeimei++;
}
print "\n";
print "FREE IMEI $freeimei\n";

close ($fh);

print "Done!\n";
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: สคริปต์เปลี่ยนค่า IMEI

โพสต์โดย nuiz » 14 ธ.ค. 2014 00:21

คริปต์สร้าง IMEI เวอร์ชั่น 1
สร้างได้แต่สคริปต์ยาวไปหน่อย

โค้ด: เลือกทั้งหมด
#!/usr/bin/perl

use strict;
use warnings;

my $random = rand();
my $imei_a = substr($random,-14,14);
my $imei_b = 0;

print "Result: $random\n";
print "IMEI A: $imei_a\n";
print "IMEI B: $imei_b\n";

my $realimei = imeigen($imei_a);

print "IMEI B: $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);
  my $d12 = substr($c1,1,1);
  my $d21 = substr($c2,0,1);
  my $d22 = substr($c2,1,1);
  my $d31 = substr($c3,0,1);
  my $d32 = substr($c3,1,1);
  my $d41 = substr($c4,0,1);
  my $d42 = substr($c4,1,1);
  my $d51 = substr($c5,0,1);
  my $d52 = substr($c5,1,1);
  my $d61 = substr($c6,0,1);
  my $d62 = substr($c6,1,1);
  my $d71 = substr($c7,0,1);
  my $d72 = substr($c7,1,1);

  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;

  return $k.$i;
}
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: สคริปต์เปลี่ยนค่า IMEI

โพสต์โดย nuiz » 16 ธ.ค. 2014 00:36

สคริปต์สร้าง IMEI ของ NOKIA เวอร์ชั่น 1.0
$imeiqty = 10; จำนวน imei ที่ต้องการสร้าง
my $nok100tac = '78688676'; กำหนดค่า tac ของแต่ละรุ่น ตัวอย่างเป็นของ nokia 100
** ดูค่า tac ของ nokia แต่ละรุ่นได้จากเว็บนี้ http://www.nokiaport.de/tacdatabase/ind ... tools&lng= โดยค่า tac คือเลข 8 หลักแรกของ imei **
my $nok100b = $nok100tac.$serial; กำหนดว่าจะสร้าง imei ของ Nokia 100

โค้ด: เลือกทั้งหมด
#!/usr/bin/perl

use strict;
use warnings;

my $imeiqty = 10;
my $q = 0;

for ($q=0;$q<$imeiqty;$q=$q+1) {

my $random = rand();
my $serial = substr($random,-6,6);
my $imei_b = 0;
my $realimei = 0;

#print "Result: $random\n";
#print "IMEI A: $imei_a\n";
#print "IMEI B: $imei_b\n";

my $nok100tac = '78688676';
my $nok101tac = '86069902';
my $nok103tac = '97531468';
my $nok105tac = '35575306';
my $nok1200tac = '35984401';
my $nok1202tac = '34792844';
my $nok1661tac = '35799803';
my $nok1280tac = '35931504';
my $nok1650tac = '35322003';
my $nokc5tac = '35742504';

my $nok100b = $nok100tac.$serial;

#print "NOK100B: $nok100b\n";


#for ($q=0;$q<50;$q=$q+1) {

$realimei = imeigen($nok100b);

#print "Q: $q\n";
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;
}
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: สคริปต์เปลี่ยนค่า IMEI

โพสต์โดย nuiz » 16 ธ.ค. 2014 14:12

สคริปต์สร้าง 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;
}
** งานเร่งด่วนติดต่อที่เบอร์ 085-161-9439 อีเมล์ iamaladin@gmail.com ไลน์ไอดี nuizvoip ครับ ผมหนุ่ยครับ**
nuiz
Diamond Member
 
โพสต์: 7336
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


ย้อนกลับไปยัง GSM VoIP Gateway

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน

cron