10fastfingers Bot

24 Mar 2022
84
39
Konu başlığından anlaşılacağı gibi 10fastfingers sitesin de bizim yerimize yazması için bir bot yazacağız iyi okumalar.

Kodun Tamamı

Python:
from PIL import ImageGrab
import pyautogui
import pytesseract
from PIL import Image

def click():

    pyautogui.click(x=700,y=450)

def screen_shot():

    # Define the coordinates of the area you want to capture
    x1, y1 = 325, 250
    x2, y2 = 1475, 425

    # Capture the screenshot of the specified area
    screen = ImageGrab.grab(bbox=(x1, y1, x2, y2))

    # Save the screenshot to a file
    screen.save('screenshot.png')

def img_to_text():

    # Load the image
    img = Image.open('screenshot.png')

    # Convert the image to grayscale
    img = img.convert('L')

    # Apply OCR and extract text from the image
    text = pytesseract.image_to_string(img)

    # Print the extracted text
    data = text.split(" ")

    return data

def write(data):

    for word in data:
        pyautogui.write(word)
        pyautogui.press("space")

def debugger(data):

    for index,word in enumerate(data):
        if "\n" in word:
            data.pop(index)
            text = word.replace("\n"," ")
            liste = text.split("  ")
            if len(liste) == 1:
                data.insert(index,liste[0])
            else:
                for i in range(len(liste)-1,-1,-1):
                    data.insert(index,liste[i])
                
    return data

if __name__ == '__main__':
    
    click()

    while True:
        screen_shot()
        data = img_to_text()
        data = debugger(data)
        
        if len(data) < 15:
            break
        write(data)

Kodun Açıklaması
Python:
from PIL import ImageGrab

import pyautogui

import pytesseract

from PIL import Image

Bu kısımda gerekli kütüphaneleri indiriyoruz pyautogui kütüphanesini terminal ekranına pip install pyautogui yazarak indirebilirsiniz aynı şekilde pytesseract kütüphanesinide, PIL kütüphanesi içinde pip install pillow yazabilirsiniz.

Python:
def click():

    pyautogui.click(x=700,y=450)

Uygulamanın yazıyı yazacağı yere tıklamasını sağlıyoruz eğer koordinatları kolayca bulmak istiyorsanız şu kodu kullanabilirsiniz.

Python:
import pyautogui
from time import sleep

while True:
    sleep(1)
    print(pyautogui.position())

Python:
def screen_shot():

    # Define the coordinates of the area you want to capture

    x1, y1 = 325, 250

    x2, y2 = 1475, 425

    # Capture the screenshot of the specified area

    screen = ImageGrab.grab(bbox=(x1, y1, x2, y2))

    # Save the screenshot to a file

    screen.save('screenshot.png')

Uygulama temel olarak resmi yazıya çeviriyor. Eğer biz 10fastfingers'ın bize verdiği metinlerin resmini alıp onları düzenli bir şekilde yazıya çevirebilirsek sonrasında pyautogui kullanarak bunu yazdırabiliriz. screen = ImageGrab.grab(bbox=(x1, y1, x2, y2)) Bu kısımda screenshot alacağı yerin kordinatlarını veriyoruz x1 ve y1 bir köşesinin koordinatları, x2 ve y2 de diğer köşenin koordinatları. Arada kalan alanın screenshot'ını alıyor. Benim screenshot'ım şu şekilde gözüküyor.




screen.save('screenshot.png') sonrasında aldığımız screenshot'ı kaydediyoruz.

Python:
def img_to_text():

    # Load the image

    img = Image.open('screenshot.png')

    # Convert the image to grayscale

    img = img.convert('L')

    # Apply OCR and extract text from the image

    text = pytesseract.image_to_string(img)

    # Print the extracted text

    data = text.split(" ")

    return data

Bu kısımda oluşturduğumuz screenshot.png dosyasını listeye çeviriyoruz.

Python:
def debugger(data):

    for index,word in enumerate(data):

        if "\n" in word:

            data.pop(index)

            text = word.replace("\n"," ")

            liste = text.split("  ")

            if len(liste) == 1:

                data.insert(index,liste[0])

            else:

                for i in range(len(liste)-1,-1,-1):

                    data.insert(index,liste[i])

    return data


Bu kısımda oluşturduğumuz liste'deki elamanları temizliyoruz.

Python:
def write(data):

    for word in data:

        pyautogui.write(word)

        pyautogui.press("space")

Sonrasında temizlediğimiz listenin elemanlarını teker teker yazdırıyoruz. Yazdırdıktan sonra pyautogui.press("space") ile space'e bastığımız zaman kabul oluyor.

Python:
if __name__ == '__main__':

    click()

    while True:

        screen_shot()

        data = img_to_text()

        data = debugger(data)

        if len(data) < 15:

            break

        write(data)


Ve son olarak sırayla önce yazıyı yazacağımız yere click() ile tıklıyoruz sonra while True: döngü içerisine giriyoruz. Önce screen_shot() ile schreenshot alıyoruz sonra bu resmi data = img_to_text() liste'ye çeviriyoruz. Oluşan liste'yi data = debugger(data) ile temizliyoruz write(data) ile son olarak listeyi yazdırıyoruz. Eğer liste uzunluğu 15 den küçükse sürenin dolduğu anlamına geliyor ve bizde döngüyü bitiriyoruz.


 
13 Ara 2021
140
65
Ben Chrome Inspect mode edib Snippetslerden auto şekilde yazılan sözleri harf-harf yazdırıyordum, çok hız verdiğim için BAN yemiştim. :D
 
13 Ara 2021
140
65
JavaScript:
/*
Diğer manipulation kodların bulamasamda - snippetslerden bunu buldum,
ilgili sayfada run verdiyin zaman yalnızca space klavişin basarak
kelime-kelime tamamlaya biliyorsun.
*/
let x = document.querySelector("#row1 span.highlight"),
    y = document.getElementById("inputfield")
    i = -1;


function autoKeyboardSpeed(){
  x = document.querySelector("#row1 span.highlight");
  y.value = x.innerText;
  testing();
}


function testing(){
    i++;
    if(i >= x.length){
        alert("Game over!");
    }else{
    setTimeout(function(){
     autoKeyboardSpeed();
}, 10);
    }
}

testing();
 
13 Ara 2021
140
65
Senin yazdığın python kodları ise screenshot alıp image processing yaparak image to text işlemi görüyor. Bu kodlama ile başka yerlerde de güzel işler görüle bilir. Eline sağlık. +
 
24 Mar 2022
84
39
Senin yazdığın python kodları ise screenshot alıp image processing yaparak image to text işlemi görüyor. Bu kodlama ile başka yerlerde de güzel işler görüle bilir. Eline sağlık. +
Teşekkür ederim ben bunun yeni bir versiyonunu yazarım siteyi hiç incelememiştim html içerisinde bütün kelimeleri vermişler aslında sağ ol farklı bir bakış açısı kazandırdın bana.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.