Closed Soulfly1984 closed 2 years ago
galiba gene websiteyi güncellediler ve script bozuldu doğal olarak
Büyük ihtimalle yine öyle oldu
bu arada kendi repomda düzeltilmiş hali var, geckodriver yerine chromedriver kullanıyor biraz unstabil gibi ama istersen dene
bir bakayım dedim ama çalıştıramadım seçip yeniden başlatmama rağmen bu ekranda kalıyor
chromedriver dizinde var mı, bide google chrome yüklü mü (bir de chromedriver sürümüyle chrome sürümü aynı olmalı)
tamamdır halletim python güncel değilmiş teşekkürler <3
Beyler bende başka bir hata var
bu arada kendi repomda düzeltilmiş hali var, geckodriver yerine chromedriver kullanıyor biraz unstabil gibi ama istersen dene
senin reponu da denedim başta bir site açıyor turkanime de anonim diye birini sonra bir hata gösteriyor ama izle dedikten sonra çalışıyor indirme bölümü ise hiç çalışmıyor
tarayıcıyı kapatmıyorsun değil mi , sürekli açık olması lazım
yarın el atacağım, gecikme için üzgünüm. Birilerinin kullanıyor olması sevindirdi
tarayıcıyı kapatmıyorsun değil mi , sürekli açık olması lazım
owner zaten bakcakmış onu beklemen daha mantıklı olur muhtemelen
yarın el atacağım, gecikme için üzgünüm. Birilerinin kullanıyor olması sevindirdi
bakabildin mi brom 😊
Önceden videoların gerçek url'leri turkanime.co/iframe/ endpoint'inden edinliyordu. Şimdiyse turkanime.co/embed/ diye bir endpointe geçmişler. Ayrıca yeni embed javascriptleri de her zamanki gibi obfuscated ve http talepleri daha "strict" modda.
GET /embed/#/url/eyJjdCI6IjFMc0UzajdqbFNIdThUOVg4S3dQMHhCcVJRZEprOUxVeExXa2JpUllubDhZQ2VjRFlJVEZ0Nmg5Y0pNbWdaN1FtZXpxR1AzdDZFbTkrTmZERWR5ZU43K0JlQlh4azlSS2dyM0o4S2JBV3JtY0VvWmlhelRyMXQ5eit0YWhkS2N6VnJ3d1dtUHdsanNcL0NcL1M5dkRFd3krU3MrQ0dnXC9KYWxtS0xKT0Z0OEtINmFcL1YxYlBmR1cyWlFhYWRaY2NsdVRjM05MYmQ4Q3UxRlNIRk9FVGZ4NVdDUFNqZVNzXC9DQTlHbkpEWE1aUHpFYTh1dGEzS0hDeG8ydFo4SlBHNnlaa0FNZTltZk5DK1BqZDY0RHk0aDRiQVdyTG54R1FESlJ2ZXVGRUtPRkk1bm9QQmhGS05BTGRKTFBiOWx2bTBKMzAiLCJpdiI6IjQ3MzQ2NDlmODFjODdhYjIxNmJhMDEyNGMwMmRhY2Y2IiwicyI6IjU2NzhhYjM2YjZjMzZlZDQifQ==?status=0
Host: www.turkanime.co
Şimdi /url/XXXXXXX==?status kısmını base64 ile decryptleyince CryptoJSAesJson formatındaki şifreli json objesine ulaşıyoruz
{"ct":"1LsE3j7jlSHu8T9X8KwP0xBqRQdJk9LUxLWkbiRYnl8YCecDYITFt6h9cJMmgZ7QmezqGP3t6Em9+NfDEdyeN7+BeBXxk9RKgr3J8KbAWrmcEoZiazTr1t9z+tahdKczVrwwWmPwljs\/C\/S9vDEwy+Ss+CGg\/JalmKLJOFt8KH6a\/V1bPfGW2ZQaadZccluTc3NLbd8Cu1FSHFOETfx5WCPSjeSs\/CA9GnJDXMZPzEa8uta3KHCxo2tZ8JPG6yZkAMe9mfNC+Pjd64Dy4h4bAWrLnxGQDJRveuFEKOFI5noPBhFKNALdJLPb9lvm0J30","iv":"4734649f81c87ab216ba0124c02dacf6","s":"5678ab36b6c36ed4"}
Bu obje turkanime_api/players.py scriptinin şu satırındaki var_iframe
değişkeni. Geriye yalnızca pass
değişkeni parolayı bulmak kalıyor.
Önceki versiyondaki obfuscate algoritması, ya da parola neydi hatırlıyor musun @gokaybiz . Bu yeni endpoint'i deobfuscate edemedim
Bro bu repodaki izle bölümü çalışıyor yani burdaki parola doğru olabilir mi,, burdan alamaz mısın? https://github.com/mantikafasi/turkanime-indirici
Bu dilden anlamıyom ama https://github.com/mantikafasi/turkanime-indirici/blob/master/turkanime_api/players.py#L61 https://github.com/mantikafasi/turkanime-indirici/blob/master/turkanime_api/players.py#L106 https://github.com/mantikafasi/turkanime-indirici/blob/master/turkanime_api/players.py#L114 bu bölümlerde senin repondaki " var_iframe = re.findall(r'{"ct".*?}',iframe_src)[0]" kısmına benzeyen şifremsi bölgeler var belki burda aradaıoğın vardır.
Bi de desteklenen Playerlar bölümüne Fembed Alucard Hdvid gibi genel playerlar eklense çalışmaya devam eder mi
benim repodakinde şifreyle falan uğraşmıyor, embed urlsini alıp açık olan sekmede ifame oluşturup içine koyuyor URL yi , ardından iframe e geçip izleme urlsini çekiyor. obfuscated js ile aram pek iyi olmadığı için kolaydan gittim
ehe dediğim gibi bu dilden pek anlamıyom. Özür o zmn
Önceden videoların gerçek url'leri turkanime.co/iframe/ endpoint'inden edinliyordu. Şimdiyse turkanime.co/embed/ diye bir endpointe geçmişler. Ayrıca yeni embed javascriptleri de her zamanki gibi obfuscated ve http talepleri daha "strict" modda.
GET /embed/#/url/eyJjdCI6IjFMc0UzajdqbFNIdThUOVg4S3dQMHhCcVJRZEprOUxVeExXa2JpUllubDhZQ2VjRFlJVEZ0Nmg5Y0pNbWdaN1FtZXpxR1AzdDZFbTkrTmZERWR5ZU43K0JlQlh4azlSS2dyM0o4S2JBV3JtY0VvWmlhelRyMXQ5eit0YWhkS2N6VnJ3d1dtUHdsanNcL0NcL1M5dkRFd3krU3MrQ0dnXC9KYWxtS0xKT0Z0OEtINmFcL1YxYlBmR1cyWlFhYWRaY2NsdVRjM05MYmQ4Q3UxRlNIRk9FVGZ4NVdDUFNqZVNzXC9DQTlHbkpEWE1aUHpFYTh1dGEzS0hDeG8ydFo4SlBHNnlaa0FNZTltZk5DK1BqZDY0RHk0aDRiQVdyTG54R1FESlJ2ZXVGRUtPRkk1bm9QQmhGS05BTGRKTFBiOWx2bTBKMzAiLCJpdiI6IjQ3MzQ2NDlmODFjODdhYjIxNmJhMDEyNGMwMmRhY2Y2IiwicyI6IjU2NzhhYjM2YjZjMzZlZDQifQ==?status=0 Host: www.turkanime.co
Şimdi /url/XXXXXXX==?status kısmını base64 ile decryptleyince CryptoJSAesJson formatındaki şifreli json objesine ulaşıyoruz
{"ct":"1LsE3j7jlSHu8T9X8KwP0xBqRQdJk9LUxLWkbiRYnl8YCecDYITFt6h9cJMmgZ7QmezqGP3t6Em9+NfDEdyeN7+BeBXxk9RKgr3J8KbAWrmcEoZiazTr1t9z+tahdKczVrwwWmPwljs\/C\/S9vDEwy+Ss+CGg\/JalmKLJOFt8KH6a\/V1bPfGW2ZQaadZccluTc3NLbd8Cu1FSHFOETfx5WCPSjeSs\/CA9GnJDXMZPzEa8uta3KHCxo2tZ8JPG6yZkAMe9mfNC+Pjd64Dy4h4bAWrLnxGQDJRveuFEKOFI5noPBhFKNALdJLPb9lvm0J30","iv":"4734649f81c87ab216ba0124c02dacf6","s":"5678ab36b6c36ed4"}
Bu obje turkanime_api/players.py scriptinin şu satırındaki
var_iframe
değişkeni. Geriye yalnızcapass
değişkeni parolayı bulmak kalıyor.Önceki versiyondaki obfuscate algoritması, ya da parola neydi hatırlıyor musun @gokaybiz . Bu yeni endpoint'i deobfuscate edemedim
load olan js packleri inspect ediyoruz, url adresinde base64 oldugu icin atob ariyoruz. bulduk
https://www.turkanime.co/embed/js/embeds.54daf10152c2295b.js
Biraz kurcaliyoruz, ve bir json objesine rastliyoruz, ciphertext anahtar kelimesini de gordukten sonra biraz daha irdeliyoruz ve decipher fonksiyonuna rastliyoruz. Ilk parametresi verdigin json objesi olduguna gore ikinci parametresi pass olmali,
_0x36a1b4(0x2fd)
biraz daha kurcalayalim,
function(_0x4ec579, _0x306ba0) {
_0x4ec579 = _0x4ec579 - 0xa2;
var _0x36713b = _0x209411[_0x4ec579];
return _0x36713b;
}
0x2fd = 765,
0xa2 = 162;
var _0x48b668 = ['478150656', '^postrank', 'HmacSHA384', 'processBlock', 'supercleaner', '^mozilla/\x5cd\x5c.\x5cd\x20\x5cw*$', '2147483660', 'indexOf', 'iterations', '808832HBkVyG', '2147483656', '75497472', 'Utf16BE', 'iframe', 'AnsiX923', 'words', 'client', '280', '125829120', '3355443201', '_prevBlock', '1114112', 'call', '27262976', 'charAt', '6016', 'websitemetadataretriever', 'Iso10126', 'NotSupportedError', 'sigBytes', 'div', '^perimeterx', 'INVALID_CHARACTER_ERR', '360', '^shareaza', '^zoom\x20marketplace/', '^blocknote.net', '1744830464', 'INUSE_ATTRIBUTE_ERR', '//www.turkanime.co/imajlar/kontrol.png?v1', 'SHA384', '9437184', '1152', '20971520', '1073741824', 'apply', 'spider', '2147483678', 'warn', '1507328', 'chromeframe', 'probe', '3355443200', '2176', '81920', '22544384', 'Uint32Array', 'NO_MODIFICATION_ALLOWED_ERR', '122880', 'NamespaceError', '234881024', 'join', '45056', 'TYPED_ARRAY_CONSTRUCTOR', '293601280', 'img', '34816', 'library', 'dareboost', '^space\x20bison', '491520', '884736', '77824', 'images', '100352', '6144', 'google', 'enc', '^cf-uc\x20', 'length', '2147483659', 'random', '168', '_lBlock', '^facebook', '^sprinklr', '6400', '84610baQOYq', 'extend', '786432', 'SecurityError', '4224', '1342177280', '38912', 'reduce', 'ValidationError', '427819008', '8192', 'ZeroPadding', '4MEHXdm', '1933312', 'slice', '(?<!\x20(ya|yandex))search', '_des3', '224', '6291456', '2147483673', 'charCodeAt', 'DATA_CLONE_ERR', 'IE_PROTO', 'RabbitLegacy', 'update', '^request-promise$', 'toStringTag', '1343488', 'rigor', '5632', '18432', '4736', '369098752', '2147483667', 'sin', 'Int16Array', '_doCryptBlock', '32768', '^discourse', '_counter', 'min', 'high', 'NAMESPACE_ERR', 'get', 'BigInt64Array', '5888', '4096', '14336', '117440512', '251658240', '^invision', '_key', '917504', 'NetworkError', 'Wrong\x20offset', 'TripleDES', 'Error', 'userAgent', 'Word', '24641536', '184', 'BlockCipherMode', '2415919104', 'find', '201326592', 'Ansix923', '402653184', 'function', 'TIMEOUT_ERR', 'Native\x20crypto\x20module\x20could\x20not\x20be\x20used\x20to\x20get\x20secure\x20random\x20number.', 'Opera', '7424', '4160749569', '1900544', 'table', '2147483649', 'exception', '123536sEqnTt', 'TypedArrayPrototype', '159383552', '3892314112', '242022ieUNRj', 'Uint16Array', '950272', 'CBC', '1736704', '2147483676', 'InvalidModificationError', 'TimeoutError', '805306368', '^traackr.com', 'abs', 'defineProperties', '^t-online\x20browser', '1476395008', 'dangerbot', '2147483663', '30932992', '6784', 'finalize', 'IndexSizeError', 'Wrong\x20length', 'byteOffset', 'value', '504', '7864320', '_keyPriorReset', '671088640', '3328', '\x20deusu/', 'SHA256', '^apple-pubsub/', 'hasOwnProperty', 'SHA1', 'bot', '1998848', '5767168', '^python', '4992', '_rBlock', '318767104', 'INVALID_ACCESS_ERR', '28672', '23592960', '511705088', '^swcd\x20', '_mode', '671088641', 'info', 'defineProperty', '14155776', '^captivenetworksupport', 'datanyze', '2147483662', 'object', '15204352', 'ECB', '136', '4026531841', 'firephp', 'synapse', '^active', 'lastIndexOf', '310378496', '16384', '{}.constructor(\x22return\x20this\x22)(\x20)', 'BlockCipher', 'webglance', '285212672', '_state', '^clamav[\x20/]', '31457280', '3456', '248', '2818572289', '1664', '_map', 'DOMException', '819200', '^hobbit', '392', '184549376', '4480', 'mixIn', '^anglesharp/', '2147483653', 'undefined', '^jigsaw', '_process', '524288', 'includes', '440', '464', 'RC4Drop', 'x64', '528482304', 'DOMStringSizeError', 'buffer', '142606336', '1310720', '^linkdex', '(?<!(lib))http', '^zdm/\x5cd', '110592', 'unpad', 'matches', '_doReset', '472', '_iv', 'torrent', 'ivSize', 'getPrototypeOf', 'spawn', '104', 'query', '^svn', '7296', '2147483671', 'sparkler/', '2147483679', 'MD5', 'webpackChunkiframe', '^avsdevicesdk/', '11534336', 'crypto', '3584', 'format', '416', 'Invalid\x20key\x20length\x20-\x203DES\x20requires\x20the\x20key\x20length\x20to\x20be\x2064,\x20128,\x20192\x20or\x20>192.', '2684354561', '436207616', '^node-superagent', '83968', '1703936', '22020096', '6656', 'home', '3968', 'prototype', '_minBufferSize', 'TypedArray', '494927872', 'capture', 'Utf16LE', '2031616', '109051904', '_des1', '983040', '240', '4160749568', '(?<!(mozac))fetch', '112', 'HmacSHA256', 'NoModificationAllowedError', 'Cipher', 'adbeat\x5c.com', '104448', 'twingly\x20recon', 'ips-agent', 'tracemyfile', '2684354560', '163840', '2013265920', '622592', '^w3c', 'exports', '1441792', 'error', 'create', 'map', 'feed', '112640', '424', '^www-mechanize', 'RIPEMD160', 'string', 'href', '10240', '\x20private\x20field\x20on\x20non-instance', '_append', 'mode', 'QUOTA_EXCEEDED_ERR', '384', 'daemon', 'stringify', '496', 'statuscake', 'pow', '2147483669', 'TypeError', 'Uint8Array', '79872', '150994944', 'Hex', 'evc-batch/', 'preview', '100%', '50331648', '216', '^fdm[\x20/]\x5cd', '312', '19922944', 'OpenSSL', 'readInt32LE', '29884416', 'filter', '452984832', '352321536', 'download', '_subKeys', 'Malformed\x20UTF-8\x20data', 'compute', 'EvpKDF', '6815744', 'NoDataAllowedError', 'AES', '^snapchat', '(?:^|\x20)site', 'NotFoundError', '360710144', '100663296', '25165824', '851968', '^navermailapp', '3670016', '3087007745', '232', '3623735dCDERx', '7168', 'browser!', '1572864', 'http', '_doProcessBlock', '1879048193', 'AbortError', 'init', '_invSubKeys', 'parse', 'headlesschrome/', '23068672', 'execute', 'HmacRIPEMD160', '12582912', 'InvalidCharacterError', '480', '419430400', 'webdriver', 'algo', '^infox-wisg', '2415919105', '_reverseMap', 'formatter', 'randomBytes', '536870913', '1015808', '67584', 'CFB', '^webcopier', 'OFB', 'appinsights', '17825792', '^vbulletin', 'CTR', '^whatsapp', '^hwcdn/', '5760', 'HIERARCHY_REQUEST_ERR', '272', 'Float64Array', '456', 'Base', 'blockSize', '114688', 'pagespeed', '^enigma\x20browser', 'NoPadding', '@[a-z]', '^lwp[-:\x20]', '94208', '400', '144', 'outputLength', '7040', 'key', '71680', 'splice', 'HMAC', '12058624', '^cobweb/', '262144', '^castro', '43008', 'has', '352', '229376', 'PBKDF2', '98304', '^pagething', '_xformMode', '(((.+)+)+)+$', 'RC4', '21495808', 'add', 'transcoder', '26738688', '^faraday', 'webkit2png', '1408', '2097152', 'Base64', '1638400', '1744830465', '_keySchedule', 'SHA3', 'src', '276824064', '167772160', '8912896', 'sogou', '264ikfRpS', 'Cannot\x20call\x20a\x20class\x20as\x20a\x20function', '2816', '1081344', '65536', '2013265921', '_safe_map', 'configurable', 'algorithm', '28835840', '15728640', '335544320', 'wordpress', 'hasher', '^biglotron', '3489660929', '5376', '377487360', '^wget', 'manager', '12288', 'exclude', 'TYPED_ARRAY_TAG', 'test', '41943040', 'Utf8', '131072', 'optimize', '1474560', '18350080', 'reset', '6912', '1476395009', '^xenu\x20link\x20sleuth', 'InvalidStateError', 'Uint8ClampedArray', '^thumbor/', 'HmacSHA224', 'NOT_SUPPORTED_ERR', '7936', '57344', '261PHFpYj', '1920', 'isTypedArray', 'params', '108544', '2048', '^astute\x20srm', '301989888', '1342177281', '2147483666', '55296', '^microsoft\x20windows\x20network\x20diagnostics', '128', '805306369', '29360128', 'clone', '3087007744', '^bidtellect/', 'msCrypto', '3758096385', 'Hasher', '243269632', '11010048', 'nofollow', '1610612736', '2560', 'isView', 'toString', '2147483675', '^metauri', '2147483677', 'trendsmapresolver', '520093696', '_ENC_XFORM_MODE', '_invKeySchedule', '4718592', 'SECURITY_ERR', 'SYNTAX_ERR', '458752', '^microsoft\x20office\x20existence', '2550136832', '_oKey', '_createHelper', 'createDecryptor', 'DOMSTRING_SIZE_ERR', '1867776', 'mail\x5c.ru/', '20447232', '^jetbrains', '^postman', '1265325ZURVro', 'ceil', 'Cannot\x20initialize\x20the\x20same\x20private\x20elements\x20twice\x20on\x20an\x20object', 'floor', '18874368', '^tumblr/', 'DataView', 'neustar\x20wpm', '^restsharp/', '_hash', 'RangeError', 'padding', 'search', 'ciphertext', '2147483648', '2432', 'SerializableCipher', 'assign', '536870912', '2147483674', 'chrome-lighthouse', '73728', '393216', '_data', 'INVALID_MODIFICATION_ERR', '^microsoft-cryptoapi', '753664', '10485760', '^braze\x20sender', '58720256', '402653185', '7340032', '^panscient', '288', 'INVALID_STATE_ERR', 'url', '1048576', '124928', 'offbyone', 'iframe-container', '_createHmacHelper', 'cfg', 'DES', 'exportTypedArrayMethod', 'aTypedArray', '_nDataBytes', '_nRounds', 'check', 'writable', '^jetty/', '2147483652', '1277952', '75776', '3072', '268435456', 'Encryptor', 'StreamCipher', '260046848', '^gozilla/', '_des2', 'burpcollaborator', 'Iso97971', '\x5c(at\x5c)[a-z]', '1879048192', '36864', 'byteLength', 'drop', '__creator', 'DataCloneError', '2147483668', 'decrypt', '134217728', '4352', '^yandex', 'createEncryptor', '2147483654', '1802240', '8388608', 'QuotaExceededError', 'WRONG_DOCUMENT_ERR', '1146880', 'Target\x20is\x20not\x20a\x20typed\x20array', '88064', '376', '^jeode/', 'WrongDocumentError', '134217729', '1207959552', 'status', 'Rabbit', '1179648', 'getOwnPropertyNames', '16252928', '^taringa', '67108864', '40960', '768', '28311552', 'not\x20iframe!', 'HmacSHA3', '^mozilla/\x5cd\x5c.\x5cd\x20\x5c(compatible;?\x5c)$', '^[\x5cw\x20\x5c.]+/v?\x5cd+(\x5c.\x5cd+)?(\x5c.\x5cd{1,10})?$', '^blackboard\x20safeassign', 'WordArray', '^reed', '4194304', '^duckduckgo', '1536', '1966080', '27787264', '^venus/fedoraplanet', '8064', 'TYPE_MISMATCH_ERR', 'Incorrect\x20invocation', '^webbandit/', '61440', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', '2304', '(?<!\x20cu)bot', '1212416', 'proxy', 'kdf', 'ptst[\x20/]\x5cd', '425984', '1792', '209715200', '3221225473', '320', '^[^\x20]{50,}$', '_doFinalize', 'set', '^movabletype', '92160', '1540096', '655360', 'console', '3221225472', '^ad\x20muncher', '13107200', 'morningscore/', '^email', 'catch', '51200', '22528', '(?<!\x20(channel\x5c/|google\x5c/))google(?!(app|\x5c/google))', '33030144', 'encrypt', '218103808', '96256', 'SHA224', 'NETWORK_ERR', 'synthetic', '16777216', 'Decryptor', '7424504gJCpNS', 'monitor', '336', '256', 'bot\x20useragent!', 'CipherParams', 'stack', '20480', '710^8A@3@>T2}#zN5xK?kR7KNKb@-A!LzYL5~M1qU0UfdWsZoBm4UUat%}ueUv6E--*hDPPbH7K2bp9^3o41hw,khL:}Kx8080@M', 'decryptBlock', '1280', '102400', '59392', 'attempted\x20to\x20', 'news', '192', '_parse', '^read', 'BufferedBlockAlgorithm', 'Base64url', '2147483670', '327680', 'nutch', '2281701376', 'forced', '200', 'scrape', '3840', '432', '_hasher', '557056', 'freesafeip', 'low', '^microsoft\x20office\x20protocol\x20discovery', 'concat', '25690112', 'max', 'replace', '1835008', '86016', '_keystream', 'return\x20(function()\x20', '3758096384', 'SHA512', '5504', '3712', '2147483657', 'whatcms/', 'toX32', 'getRandomValues', '2952790016', 'keySize', '688128', 'enumerable', '2281701377', 'default', '_cipher', '4608', '\x20daum[\x20/]', '2147483664', '2147483655', 'bind', '1073741825', 'lib', '$super', 'pad', '47104', 'attempted\x20to\x20get\x20private\x20field\x20on\x20non-instance', '176', 'constructor', '939524097', 'Int8Array', '461373440', '_blank', 'clamp', 'encryptBlock', '^microsoft\x20data', '^dispatch/\x5cd', 'salt', 'CTRGladman', '488', '118784', '^mailchimp\x5c.com$', 'httrack', 'scan', 'push', 'stumbleupon\x5c.com', 'hubspot\x20marketing\x20grader', 'substr', '^hatena'];
765-162=603
_0x48b668[603] ise...
...yok yok, oyle degil dalga geciyorum tamamen :D
actim debugger'i ciphertext gordugum yerlere birkac tane breakpoint koyup memorydeki variable'lara baktim.
710^8A@3@>T2}#zN5xK?kR7KNKb@-A!LzYL5~M1qU0UfdWsZoBm4UUat%}ueUv6E--*hDPPbH7K2bp9^3o41hw,khL:}Kx8080@M
_0x48b668[739]
_0x36a1b4(765)
Kolay gelsin.
@gokaybiz ben de dün debugger'da bu key'i fark ettim ama key'in bir türlü nasıl yaratıldığını anlayamadım. Örneğin attığın değişkenlerdeki data siliniyor bir kaç breakpoint daha ilerledikten sonra. Ama sonra fark ettim ki direk javascript dosyasının 5608.satırında (beautify eyledikten sonra)
Şimdi asıl merak ettiğim bu şifre statik mi acaba yoksa belirli periyotlarla cloudflare tarafından cache'leniyor mu. Şifreleri geçtim dosya isimleri de dinamikse farklı ilerlemek gerekiyor. Şansıma herşey randomsa bile şifreyi bulma algoritması şu kadar basit:
yarına deploy ederim artık
Belirli periyodlarla guncelleniyor olmasi muhtemeldir. Ve key'in guncellenmesi demek, malum player projesinin yeniden build edilmesi demek. Dolayisiyla dosyaya static link uzerinden erisimimiz olmayacak. Ihtiyac duydugumuz js dosyasi html icinden import edilen js dosyalari icinden import ediliyor cunku. Ve bunu otomatize etmek icin yapilabilecek pek bir sey yok. Selenium ile get request atilan js dosyalari yakalanabilir belki. Ustte yazdigim senaryoyu baz alirsak yazidigin flow'da listedeki en uzun item'in bizimki olacagina dair bir garanti yok.
Belirli periyodlarla guncelleniyor olmasi muhtemeldir. Ve key'in guncellenmesi demek, malum player projesinin yeniden build edilmesi demek. Dolayisiyla dosyaya static link uzerinden erisimimiz olmayacak. Ihtiyac duydugumuz js dosyasi html icinden import edilen js dosyalari icinden import ediliyor cunku. Ve bunu otomatize etmek icin yapilabilecek pek bir sey yok. Selenium ile get request atilan js dosyalari yakalanabilir belki. Ustte yazdigim senaryoyu baz alirsak yazidigin flow'da listedeki en uzun item'in bizimki olacagina dair bir garanti yok.
Yani bunun anlamı sürekli güncellemek dışında, bir yol olmayadığı ve otomatik bi şekilde olamıyacağı anlamına mı geliyor
Sorun giderildi. Sırtımı regex'e yasladım, değişken ve dosya adlarını dinamik varsaydım. Umarım sıkıntı çıkmaz, şuan biraz kirli oldu ama çalışacaktır. Komik olan önceki versiyona göre player başına 1 talep eksik gönderiyor, daha hızlı yüklenecektir.
@mantikafasi: benim repodakinde şifreyle falan uğraşmıyor, embed urlsini alıp açık olan sekmede ifame oluşturup içine koyuyor URL yi , ardından iframe e geçip izleme urlsini çekiyor. obfuscated js ile aram pek iyi olmadığı için kolaydan gittim
bu reponun geçen seneki versiyon da hemen hemen öyle çalışıyordu ama GET talepleri göndermeye kıyasla çok yavaş, muhtemelen iframe spawnlamak daha stabil olacaktır ama bu yol çok daha hızlı.
Animeyi ve bölümleri seçip indir dediğimde hata veriyor