Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SebitVCloud #11

Open
rahmanlar opened this issue Dec 22, 2020 · 41 comments
Open

SebitVCloud #11

rahmanlar opened this issue Dec 22, 2020 · 41 comments

Comments

@rahmanlar
Copy link

rahmanlar commented Dec 22, 2020

Merhaba. Sebit VCloud ile EBA aynı uygulamaları ve aynı site sistemini kullanıyorlar ancak script'lerin bulunduğu dizinler farklı.
Herhangi bir şekilde bu kodun Sebit VCloud'a göre uygunlaştırılması yapılabilir mi?

@sh4dowb
Copy link
Owner

sh4dowb commented Dec 22, 2020

test etmemiz lazım, acaba bana ders olduğu zaman hesap bilgilerinizi atabilir misiniz?

@rahmanlar
Copy link
Author

rahmanlar commented Dec 22, 2020

Galiba uyarladım, dersim yarın. Yarın deneyeceğim.
https://github.com/rahmanlar/sebit-crossplatform/blob/master/ogrenci.js

@bytescreator
Copy link
Contributor

Merhaba. Sebit VCloud ile EBA aynı uygulamaları ve aynı site sistemini kullanıyorlar ancak script'lerin bulunduğu dizinler farklı.
Herhangi bir şekilde bu kodun Sebit VCloud'a göre uygunlaştırılması yapılabilir mi?

Kocaman sebit yazıyor zaten eba'da 😄 birkaç şeyi değiştirince çalışması lazım

Galiba uyarladım, dersim yarın. Yarın deneyeceğim.
https://github.com/rahmanlar/sebit-crossplatform/blob/master/ogrenci.js

Muhtemelen çalışmayacak cagriari.com/eba_nonceproxy.php EBA'ya göre ayarlı tokeni bastırıp sebitin kendi adresinden sorgulamak lazım

@rahmanlar
Copy link
Author

rahmanlar commented Dec 23, 2020

Zaten sıkıntı da değiştireceğim linki bulamamam, birkaç şey denedim ama bulamadım(https://rahmanlar.github.io/ogrenci.js)
Çalışan tek https://sebitvcloud.com/getlivelessoninfo buldum sanırsam.

@bytescreator
Copy link
Contributor

Girerken F12 ile bakın oradan adreslerin hepsini alabiliriz, sebit'de eba gibi bir uygulama veriyor mu?

@rahmanlar
Copy link
Author

rahmanlar commented Dec 23, 2020

sebit'de eba gibi bir uygulama veriyor mu?

evet zoom tabanlı uygulaması var,

ayrıca bir link daha buldum: http://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join

@bytescreator
Copy link
Contributor

bytescreator commented Dec 23, 2020

Bu ders bilgilerini almak için POST ile yapılıyor olması lazım EBA'daki gibi bundan sonra token sorgulamak için bir adres lazım onu da zoom tabanlı uygulama yapıyor, o adresi de bulmak lazım.

Bir de EBA'da canlı ders bildirimindeki adresler anasayfadaki adreslerden farklı, sebitte de böyle bir şey olabilir.
Lazım Olan Adresler Şöyle:

@bytescreator
Copy link
Contributor

bytescreator commented Dec 23, 2020

./smali_classes2/us/zoom/sdkexample2/Utils/RequestManager.smali: const-string v0, "https://uygulama-vcloud.sebittest.com/preprod/VCloudFrontEndService//livelesson/nonce/"
./smali_classes2/us/zoom/sdkexample2/Utils/RequestManager.smali: const-string v0, "https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/nonce/"

Apk'yı decompile edince çıktı :D gerisi sizde nonce adresi bu

@rahmanlar
Copy link
Author

Teşekkürler bir de böyle deneyeceğim, kendim bir dissassembler programından aramaya çalışmıştım ancak hiç doc okumadan veya bir deneyim olmadan yapınca hiç bir şey anlamamıştım

@rahmanlar
Copy link
Author

Nonce kısmına gelene kadar çalıştırmayı başardım, tek sıkıntı derse girerken php kodunu linkin sonuna ekliyor ve yönlendirildiğim yer 404 sayfası oluyor bu yüzden.

@sh4dowb
Copy link
Owner

sh4dowb commented Dec 23, 2020

Nonce kısmına gelene kadar çalıştırmayı başardım, tek sıkıntı derse girerken php kodunu linkin sonuna ekliyor ve yönlendirildiğim yer 404 sayfası oluyor bu yüzden.

nasıl yani tam olarak

@sh4dowb
Copy link
Owner

sh4dowb commented Dec 23, 2020

burda birden fazla hata var, hem /null hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız
sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz

@bytescreator
Copy link
Contributor

burda birden fazla hata var, hem /null hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız
sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz

/null için resp2.meeting.url 'i "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId olarak değiştirin

Ayrıca ek olarak console.log(resp3,resp2) eklemeniz iyi olabilir görmek için, window.location=...'nın üstüne

@rahmanlar
Copy link
Author

rahmanlar commented Dec 24, 2020

burda birden fazla hata var, hem /null hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız
sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz

/null için resp2.meeting.url 'i "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId olarak değiştirin

Ayrıca ek olarak console.log(resp3,resp2) eklemeniz iyi olabilir görmek için, window.location=...'nın üstüne

Dediginiz gibi yaptigim hâlde hâlâ ayni yere atiyor.

Duzenleme ─ Daha dogrusu artik php kodu cikmiyor, ancak /null sonra token sonra pwd seklinde cikiyor.

window.location satiri ─ window.location = "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId + "?tk=" + resp3.substring(1).split('|')[0];

Ayrica sebit in kendi zoom subdomaini var sebit.zoom.us seklinde, bu uygulamayi gormeden meeting id ve sifreyi arkadaslarimdan alip sebit.zoom.us ustune koyup deniyordum, ancak meeting registration sayfasina atiyordu.

@bytescreator
Copy link
Contributor

Duzenleme ─ Daha dogrusu artik php kodu cikmiyor, ancak /null sonra token sonra pwd seklinde cikiyor.

Null çıkması garip, muhtemelen tokeni alabiliyorsunuz pwd varsa; resp2.meeting.url, resp.liveLessonInfo.studyTime.studyTimeId ve resp3 yi örnek olarak gösterebilirmisiniz?

@rahmanlar
Copy link
Author

rahmanlar commented Dec 24, 2020

Bir seyi eksik yapmisim, duzelttim ancak simdi de Uncaught TypeError: resp.liveLessonInfo is undefined hatasi ile karsilasiyorum.
Degiskenin adi farkli galiba.

@bytescreator
Copy link
Contributor

Muhtemelen Farklı

https://sebitvcloud.com/getlivelessoninfo 'dan gelen JSON'a bakın. Orada studyTimeId nerede diye bakmak lazım. Ayrıca daha önceden böyle bir sıkıntı yoktu şimdi neden hata veriyor?

https://sebitvcloud.com/getlivelessoninfo ve diğer adreslerden gelen yanıtları paylaşabilirseniz daha rahat çözülebilir.

@bytescreator
Copy link
Contributor

@rahmanlar bir çözüm bulabildiniz mi?

@rahmanlar
Copy link
Author

@rahmanlar bir çözüm bulabildiniz mi?

Son günlerde çok bakamıyorum, bir gün bakınca deneyeceğim.

@rahmanlar
Copy link
Author

rahmanlar commented Dec 29, 2020

Gelen JSON şu şekilde:
{"operationMessage":"success","operationCode":200,"success":true,"liveLessonInfo":{"frontEndUrl":"https://uygulama.sebitvcloud.com/VCloudFrontEndService","siteUrl":"https://www.sebitvcloud.com","redirectUrl":"https://www.sebitvcloud.com","name":"öğrenci ismi","surname":"öğrenci soyadı","serverTime":1609242428643,"studyTime":{"id":"3fe6650cf67c32f9ee0fcd3d700f6ce3bafc6bb4555ede9d1e8e001353cc11b2","studyTimeId":"3fe6650cf67c32f9ee0fcd3d700f6ce3","studyTimeTitle":"ders ismi","studyTimeCurrNodeId":"63f2d6301e2fdc8bc2a1432ea6c63d82","ownerId":"öğretmen id'si","ownerName":"öğretmen ismi","deleted":false,"term":"2020-2021","schoolId":"okul id'si","classroom":kaçıncı sınıf,"startDate":1609241400000,"endDate":1609243800000,"createDate":1609088082000,"typeId":2,"courseName":null,"meetingId":"giriş id'si","meetingPassword":"giriş şifresi","meetingDuration":40,"meetingStartUrl":"başlatma linki","meetingJoinUrl":"giriş linki","registrantId":null,"registrantJoinUrl":null,"modifiedDate":null,"courseCode":"tur","currNodeName":"hangi sınıf"},"schoolName":"okul ismi","corporation":{"id":"kurum id'si","name":"kurum ismi","createDate":1525878888817,"deleted":false}}}

@bytescreator
Copy link
Contributor

Aynen bunun düzgün çalışması lazım bir sıkıntı gözükmüyor. Çalıştırmayı denediğinizde sıkıntı oldu mu bu sefer?

@rahmanlar
Copy link
Author

Hata 122. satırda, null'un çözümü için orayı değiştirmiştim. Şimdi fark ettim, birden çok window.location satırı var.
Yanlış şeyi değiştirmiş olabilirim.

@bytescreator
Copy link
Contributor

image
Sizde buna benzer bir sayfa çıkıyor mu?(muhtemelen çıkıyor, getlivelessoninfo adresi bu sayfa için) Çıkıyorsa adresi nedir, betik adresten bakıyor çünkü. Yanlış sayfa için çalışıyor olabilir. Bu durumda Uncaught TypeError: resp.liveLessonInfo is undefined bu hatayı vermesinin sebebi bu olabilir.

@rahmanlar
Copy link
Author

rahmanlar commented Dec 29, 2020

image
Sizde buna benzer bir sayfa çıkıyor mu?(muhtemelen çıkıyor, getlivelessoninfo adresi bu sayfa için) Çıkıyorsa adresi nedir, betik adresten bakıyor çünkü. Yanlış sayfa için çalışıyor olabilir. Bu durumda Uncaught TypeError: resp.liveLessonInfo is undefined bu hatayı vermesinin sebebi bu olabilir.

Evet, çıkıyor. 3 dakika sonra ders başlayacak. O zaman bakabilirim.

Böyle yapınca da https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join adresinden 403 hatası aldım.

@bytescreator
Copy link
Contributor

bytescreator commented Dec 29, 2020

Böyle yapınca da https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join adresinden 403 hatası aldım.

Başka bir adres daha var o zaman dediğim gibi (ya da VCloudFrontEndService//livelesson olması lazım), normal ve bu sayfadaki adresler farklı. Derse girerken F12 den bakabilirsiniz.

Ders için nonce tokeni alınan adres (Bulunmuş ancak hangi sayfada kullanılıyor bu da lazım, ebadaki bildirim adresleri farklı)
https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join
https://uygulama-ebaders.eba.gov.tr/ders/FrontEndService//livelesson/inpage/instudytime/start (ebadaki)

@rahmanlar
Copy link
Author

https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start
Network kısmından baktığımda bunu buldum.

@bytescreator
Copy link
Contributor

https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start

Aynen, adres farklı. Bu sayfada bunu kullanın.

@rahmanlar
Copy link
Author

@bytescreator
Copy link
Contributor

bytescreator commented Dec 29, 2020

burda birden fazla hata var, hem /null hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız
sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz

/null için resp2.meeting.url 'i "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId olarak değiştirin

Ayrıca ek olarak console.log(resp3,resp2) eklemeniz iyi olabilir görmek için, window.location=...'nın üstüne

Bundan ötürü oldu muhtemelen window.location satırını atabilirmisiniz? meeting id yok sadece onun dışında herşey iyi gözüküyor

@rahmanlar
Copy link
Author

rahmanlar commented Dec 29, 2020

Bundan ötürü oldu muhtemelen window.location satırını atabilirmisiniz? meeting id yok sadece onun dışında herşey iyi gözüküyor

window.location = "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId + "?tk=" + resp3.substring(1).split('|')[0];

Sanırsam dersin son 10 dakikasında bahsettiğiniz giriş ekranı çıkmıyor, denemek için bir dahaki derse kadar beklemem lazım.

@bytescreator
Copy link
Contributor

bytescreator commented Dec 29, 2020

Sanırsam dersin son 10 dakikasında bahsettiğiniz giriş ekranı çıkmıyor, denemek için bir dahaki derse kadar beklemem lazım.

Sıkıntı değil.

https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start Bu adresten gelen JSON'u da atabilirmisiniz gelince, orada giriş adresi olması lazım. Normalde onunla birleştiriyoruz EBA'da ama Sebit'te farklımıdır bilmiyorum. Ona bakmak lazım. Varsa direk birleştirip girebilirsiniz.

Yoksa da resp.liveLessonInfo.studyTime.studyTimeId 'olan kısmı meeting id yi bulup eklemek lazım.

@rahmanlar
Copy link
Author

rahmanlar commented Dec 29, 2020

Invalid Meeting ID (-1) hatası aldım, https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start adresi bad request veriyor ancak meeting id'nin gelmesi gereken yerde fb921fe34ce46f06ba5d705146a66429 yazıyor

@bytescreator
Copy link
Contributor

bytescreator commented Dec 29, 2020

Invalid Meeting ID (-1) hatası aldım, https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start adresi bad request veriyor ancak meeting id'nin gelmesi gereken yerde fb921fe34ce46f06ba5d705146a66429 yazıyor

resp.liveLessonInfo.studyTime.studyTimeId bu yanlış, sebit tarafındaki id bu. start'dan dönenin içinde ekstradan zoom için meeting id ve join url gelmesi lazım

Bad Request in sebebi POST body'si olabilir, ama önceki isteklerde çalıştı. F12 den yakaladıklarınızda start adresine yapılan POST'ta ne vardı. Bazen sapıtıp hata verebiliyor onları bakmayın 😄

meeting id'nin gelmesi gereken yerde fb921fe34ce46f06ba5d705146a66429 yazıyor

Bu normal, EBA'da zoom için de meeting id geliyor ve join url de birleştirilmiş olarak bulunuyor. Ancak herhangi bir zoom id si bulamadıysanız nonce tokenini sorguladığımız adresten geliyor olabilir.

Bir de reponuzu güncelleyebilir misiniz mümkünse? Ne kullandığınızı görelim. Hem ekleme çıkarma yapmak daha kolay olur PRlar ile.

@rahmanlar
Copy link
Author

PR açtığınızı fark etmemiştim, şimdi merge ettim. Ders olduğu zaman deneyeceğim.

@rahmanlar
Copy link
Author

rahmanlar commented Jan 5, 2021

PR'ı merge ettiğimde null hatası geri döndü. O kalmış sanırsam. Düzelttim.

Invalid Meeting ID (-1) hatası aldım.

Bu devam ediyor bu arada.

@bytescreator
Copy link
Contributor

PR'ı merge ettiğimde null hatası geri döndü. O kalmış sanırsam. Düzelttim.

Tam olarak düzeltilmedi aslında 😄, onu tam olarak düzeltmek için start adresinden gelen JSON lazım, Gereken ID ve adresler buradamı diye bakmak lazım.
Bunu çözünce Invalid Meeting ID hatasıda gidecek, düzelttiğiniz halde meeting id olmadan gönderiyor olması lazım. O yüzden hata veriyor.

yönlendirildiğiniz adresi atabilirmisiniz bir de, belki id ile beraber herşey vardır ancak encoding ile ilgili bir problem olabilir.

@rahmanlar
Copy link
Author

PR'ı merge ettiğimde null hatası geri döndü. O kalmış sanırsam. Düzelttim.

Tam olarak düzeltilmedi aslında , onu tam olarak düzeltmek için start adresinden gelen JSON lazım, Gereken ID ve adresler buradamı diye bakmak lazım.
Bunu çözünce Invalid Meeting ID hatasıda gidecek, düzelttiğiniz halde meeting id olmadan gönderiyor olması lazım. O yüzden hata veriyor.

yönlendirildiğiniz adresi atabilirmisiniz bir de, belki id ile beraber herşey vardır ancak encoding ile ilgili bir problem olabilir.

GitHub'a çok bakmıyorum, yazınızı görmemiştim. Umarım hafta içi dev tool'un bağlantı kısmından bakacağım.

@rahmanlar
Copy link
Author

rahmanlar commented Jan 11, 2021

Start'ın JSON'unu almak için başka bir yöntem gerekiyor, Bad Request alıyorum, Bad Request sayfasında mesaj olarak da "Required String parameter 'studytimeid' is not present" yazıyor.

Ayrıca uygulamanın açılması için sbtzoom:o=join&m=84439488675&t=5dc542226d766d8b6ff5b728e5559f60 şeklinde bir veri geliyor. Bu linki tek başına açmayı denediğimde uygulama çöküyor, sadece Sebit'in sitesinden açılınca çalışıyor. Büyük ihtimal "start" ile ilgili ama ona da şuan erişemiyorum dediğim gibi.

@sh4dowb
Copy link
Owner

sh4dowb commented Jan 11, 2021

sebit hesabı olan birisi ders olduğu bir zaman https://t.me/cagri üzerinden benimle hesap bilgilerinizi paylaşabilirse inceleyip gerekli düzenlemeleri yapıp yeni bir repo açabilirim

@bytescreator
Copy link
Contributor

Start'ın JSON'unu almak için başka bir yöntem gerekiyor, Bad Request alıyorum, Bad Request sayfasında mesaj olarak da "Required String parameter 'studytimeid' is not present" yazıyor.

Bad Request'in sebebi resp.liveLessonInfo.studyTime.studyTimeId 'nin tanımsız olması muhtemelen.

Ayrıca uygulamanın açılması için sbtzoom:o=join&m=84439488675&t=5dc542226d766d8b6ff5b728e5559f60 şeklinde bir veri geliyor. Bu linki tek başına açmayı denediğimde uygulama çöküyor, sadece Sebit'in sitesinden açılınca çalışıyor. Büyük ihtimal "start" ile ilgili ama ona da şuan erişemiyorum dediğim gibi.

Adres doğru ancak garipmiş, start ile ilgisi yok ama normalde tarayıcıya direk yazıldığında açması lazım. Ancak daha önce bununla uygulama açıldıysa çökmesi normal 5dc542226d766d8b6ff5b728e5559f60 tokeni tek kullanımlık çünkü ikinciye kullanıldığında bir şey dönmüyor.

@sh4dowb 'nin dediği gibi bir erişim çok yardımcı olabilir. Mümkün değilse normal bir derse girerken F12 den kaydedip HAR dosyası olarak özelden atmanızda iyi olabilir.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants