Ana içeriğe atla

Python'da JavaScript çalıştırmak - Js2Py





Javascript to Python Translator

Python alıştığınızda bırakılması zor olan bir dil. Python da JavaScript çalıştırabilirsiniz dersem aklınıza ilk ne gelir. Bunun için Chrome, Nodejs modülleri var lakin ben hiç birini kullanmadım.
Js2Py biçilmiş kaftan. Hem admin isteği yok yani static(portable) olarak Python'la etkileşimli bir şekilde çalışıyor. Js2Py tarayıcı zorunluğu gerektiren requests isteklerinde, js algoritmalarını pythonda çözmek gerekirse harika çalışıyor.

Js2Py nedir ? 

Js2Py, % 100 etkileşimli Python'da ECMAScript 5.1'i tam olarak çalıştırabilen çeviricidir . JavaScript'i doğrudan Python'a çevirerek çalışır. Bu, JS'yi, V8 gibi büyük harici motorları kurmadan Python kodunuzdan kolayca çalıştırabileceğiniz anlamına gelir. Js2Py nerede kullandığımı açıklayayım.

Cloudflare Bypass Set Cookie

Bir sitenin kaydolma sayfasına requests isteği göndermem gerekiyordu. Sayfa cloudflare ile ddostan korunuyordu.
siteye ilk girdiğinizde sizi ddos sayfası karşılıyor ve 4 saniye sonra gerçek sayfaya yönlendiriliyorsunuz.
bu yönlendirmede tarayıcaya iki adet cookie set ediliyor ve tekrar tekrar sayfaya girdiğinizde 4 saniye beklemek zorunda kalmıyorsunuz.
yönlendirme yapılırken tarayıcıda js kodu çalışarak token üretiliyor. bu token yardımıyla post ediliyor.








Bize lazım olan formdaki action urlsi ve KoTuvCg kısmını jschl_answer değerine yerleştirmek. Bu işlemlerin pythoncasına gelelim.


CloudFlare Bypass with Python js run code

NOT:
kodda değiştirmeniz gereken yer https://example.com ve sitenin uzunluğu ["t.length;","11;")]

import re,requests,urllib2,js2py#pip install js2py

#jschl-answer icin gerekli kodlarin regexi
regexddos = r"(var s.+)\n.+\n.+\n.+\n.+\n.+\n.+\n........(.+)"
#formdaki get(?) istegi icin malzemeler
regexform = r"jschl_vc\".value=\"(.+)\"\/>\n.+value=\"(.+)\""

def sayfa_ac(link):
    page = requests.get(link)
    return page.text

def jsrun():
    source=sayfa_ac("https://example.com")#guvenlik sebebiyle siteyi gizledim.
    if(source.find('DDoS')>-1):
        print "cloudflare ok."
        jstext=re.findall(regexddos,source)
        fr=re.findall(regexform,source)
        f=fr[0]
        print f[0]#jschl_vc
        print f[1]#pass
        t=jstext[0]
        js1=t[0]
        js2=t[1]
        #js2py icin bazi degisiklikler..
        js2=js2.replace("a.value","a").replace("t.length;","11;").replace("'; 121'","return a;")#11 https://example.com --> 'example.com'.length >> 11
        print js1
        print js2
        jscrpt=js2py.eval_js("function jscrpt(){"+js1+js2+"}")
        url="http://example.com/cdn-cgi/l/chk_jschl?jschl_vc="+str(f[0])+"&pass="+str(f[1])+"&jschl_answer="+str(jscrpt())
        s = requests.Session()
        r=s.get(url)
        print r.text
        print s.cookies.get_dict()#set edilen cerezler
        e=s.get("https://example.com")
        print e.text#gercek sayfamizin kaynak kodlari

jsrun()


jscrpt=js2py.eval_js("function jscrpt(){"+js1+js2+"}")
pythonla etkileşimli olan kısım burası eval_js kısmına yazdığımız fonksiyona pythonda erişebiliyoruz.  jschl_answer="+str(jscrpt())

Daha fazla bilgi için..

https://github.com/PiotrDabkowski/Js2Py
http://piter.io/projects/js2py

Yorumlar

  1. Sorunuz olursa yorum bölümden çekinmeden sorabilirsiniz.

    YanıtlaSil
  2. Admin çok güzel çalışıyor js2py teşekkürler

    YanıtlaSil
  3. Javascriptle yazılmış projemi visual studio code ortamında pythona çevirmek için js2py indirdim fakat iki dili nasıl bağlayacağımı bilemedim projemi djangoyla pythona çevirmem gerekiyor nasıl yapabilirim?

    YanıtlaSil
    Yanıtlar
    1. Js2Py sadece js kodlarını çalıştırır. İstediğiniz her neyse o dilde yazmalısınız.

      Sil
  4. Merhaba, ben kodumu Python Flask kütüphanesi kullanarak html çalıştırıyorum. Html de input girişini yaparken numpad kullanıyorum pythonla çalıştırdığımda numpad çıkmıyor. Sadece html dosyamı calıştırdıgım da inputa tıklayınca numpad çıkıyor. Pycharm kullanıyorum İde olarak. Yardımcı olur musunuz ?

    YanıtlaSil
    Yanıtlar
    1. Merhaba, Örnek kod paylaşabilirseniz yardımcı olabilirim.

      Sil

Yorum Gönder

Okuyup geçme yorum yap lütfen :)

Yorumunuz cevaplandığında bildirim almak için Beni bilgilendir'i işaretleyin.

Popüler Bloglar

Link tl reklam geçme

Link.Tl reklamı beklemeden geçmek! Link.tl de reklamlarla uğraşmadan javascript kod ile reklamı beklemeden bypass edip geçebilirsiniz. javascript : ciftklik = "http://link.tl/i" ; + document .location.pathname; window .location.href = ciftklik; Kodu Kopyala Tek yapmanız gereken yukarıdaki kodu yer imlerine eklemek. Daha sonra geçmek istediğiniz reklam da çalıştırmak. Link Geçme sitesi   online Videolu anlatım  Etiket bulutu: link tl atlama, link tl çevirici, link tl çeviri, link tl çözücü, link tl çalışan bot, link tl engelleme, link tl geçme, link tl geçici, link tl geçme sitesi, link tl hile, link tl hack, link tl hileleri, link tl link kısaltma, link tl link açma, link tl link çevirici, link tl script,link tl geçme, link tl geçici, link tl geçme sitesi, link tl geçilmiyor, link tl geçmiyor, link.tl geçemiyorum, link tl geç, link tl geçme 2017, link tl nasıl geçilir, link.tl otomatik geçme,link tl geçme 2018

WhatsApp Şaka Virüsü

Whatsapp Şaka virüsü ile internetten anlamayan arkadaşlarınıza link atarak eğlenebilirsiniz. Sosyal mühendisliğiniz ne kadar iyiyse inandırıcılıkta artar. Hem android hem ios kullanıcılarında çalışır. Baştan söyleyelim bu virüs değildir. Yine siz bilirsiniz. Bu aralar hacklenmedik sistem kalmadı :D CiftKlik.Net olarak sorumluluk kabul etmiyoruz. Whatsapp api'ları ile ekrana istediğimiz yazıyı yazarak sosyal mühendislik yapıyoruz.

Firebase (JS) ile Gerçek Zamanlı Veri Tabanı

Javascript Firebase Web Kullanımı Bu yazı, web uygulamaları arasındaki iletişim için Firebase 'in Javascript ile Gerçek Zamanlı Veritabanını ( Real Time Database)  anlatan Türkçe dökümantasyondur.  Gerçek Zamanlı Veritabanı , istemciler ve sunucu arasındaki iletişim için Websockets kullanır. Firebase Nedir , Özellikleri? JSON formatı ile verilerimizi  gerçek zamanlı olarak depolayabildiğimiz, anlık olarak değişiklikleri görebildiğimiz websocket apisidir.  Cloud Firestore, Cloud Functions,Authentication, Hosting, Cloud Storage ,Realtime Database... WebSocket ve Real time Nedir? WebSocket, tek bir TCP bağlantısı üzerinden iki yönlü iletişim kanalı sağlayan bir iletişim protokolüdür. WebSocket protokolü, sunucuya ve sunucudan gerçek zamanlı veri aktarımını sağlayarak, tarayıcı ile web sunucusu arasında etkileşimi sağlamaktadır. Bu, sunucunun istemci istemeden tarayıcıya içerik gönderebileceği ve bağlantıyı açık tutarak istediği zaman mesaj alabilmesini veya gön

Sesiniz Taklit Edilebilir : Google Dublex, Lyrebird

Text To Speech Teknolojisi  Google Dublex, Lyrebird, VoCo Google I/O etkinliği sırasında Google Assistant 'ın yeni özelliği Duplex tanıtıldı. Yapay zeka tabanlı konuşma teknolojisi ile sesinizi taklit ettirebilir. Telefon görüşmelerinizi,randevularınızı ona yaptırabilirsiniz. Belkide ilerde şarkı söyletebilir, şiir okutabilirsiniz. Aklınıza ne gelirse. 

Bütün yazılım dillerinde "Merhaba Dünya" kodları

1)  ASSEMBLY // Ekrana “Merhaba!” yazan örnek program kodu: mov ax,cs mov ds,ax mov ah,9 mov dx, offset Git int 21h xor ax,ax int 21h Git: db "Merhaba!",13,10,"$" 2)  ALGOL (ALGOrithmic Language) // ALGOL 68'e ait, örnek “Merhaba!” kodu: begin print(( "Merhaba!" , newline)) end