VideoHelp Forum



Support our site by donate $5 directly to us Thanks!!!

Try StreamFab Downloader and download streaming video from Netflix, Amazon!



+ Reply to Thread
Results 1 to 20 of 20
  1. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Hi, I have an intranet based iptv service through an android app from my isp. I would like to stream the same through external players. Captured the MPD from the app but couldn't able to find the license url for the same. The mpd has pssh and kid.
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <MPD id='dash' type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011"
      xmlns:cenc="urn:mpeg:cenc:2013"
      xmlns:mspr="urn:microsoft:playready"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd"
      profiles="urn:mpeg:dash:profile:isoff-live:2011"
      minBufferTime="PT13S"
      suggestedPresentationDelay="PT13S"
      availabilityStartTime="2023-08-28T11:45:22Z"
      publishTime="2024-04-14T19:28:06Z"
      minimumUpdatePeriod="PT4.2S"
      maxSegmentDuration="PT7S"
      timeShiftBufferDepth="PT24S">
        <Period id='1693223122' start="PT0S" >
            <AdaptationSet id="2" mimeType="video/mp4" contentType="video" maxWidth="1280" maxHeight="720" par="1280:720"  maxFrameRate="4167/100" segmentAlignment="true" startWithSAP="1" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
                <!-- Common Encryption -->
                <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="069ffc15-0443-49a5-b337-236a8e82ce87"/>
                <!-- widevine -->
                <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" value="Widevine">
                  <cenc:pssh>AAAAYXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEEIARIQBp/8FQRDSaWzNyNqjoLOhxoFQ29uYXgiJDQ2MjQ5YmU4LTI4MjgtNDcwNS04NTk5LTBiNmMwYTU2ZGY2Mw==</cenc:pssh>
                </ContentProtection>
                <!-- playready -->
                <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="Microsoft PlayReady">
                  <cenc:pssh>AAAEWHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABDg4BAAAAQABAC4EPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AdgBpAGUAdwB3AGEAeQAuAGEAcAAtAHMAbwB1AHQAaAAtADEALgBjAG8AbgBhAHgALgBjAGwAbwB1AGQALwBjAHgAcABsAGEAeQByAGUAYQBkAHkALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AdgBpAGUAdwB3AGEAeQAuAGEAcAAtAHMAbwB1AHQAaAAtADEALgBjAG8AbgBhAHgALgBjAGwAbwB1AGQALwBjAHgAcABsAGEAeQByAGUAYQBkAHkALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABVAEkAXwBVAFIATAA+ADwASwBJAEQAPgBGAGYAeQBmAEIAawBNAEUAcABVAG0AegBOAHkATgBxAGoAbwBMAE8AaAB3AD0APQA8AC8ASwBJAEQAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMAbwBuAHQAZQBuAHQAUgBlAGYAPgA0ADYAMgA0ADkAYgBlADgALQAyADgAMgA4AC0ANAA3ADAANQAtADgANQA5ADkALQAwAGIANgBjADAAYQA1ADYAZABmADYAMwA8AC8AQwBvAG4AdABlAG4AdABSAGUAZgA+ADwALwBDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTAD4APABDAEgARQBDAEsAUwBVAE0APgB0AGcASABJADcATwBXAGsAVgBmADAAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</cenc:pssh>
                  <mspr:pro>OAQAAAEAAQAuBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAHYAaQBlAHcAdwBhAHkALgBhAHAALQBzAG8AdQB0AGgALQAxAC4AYwBvAG4AYQB4AC4AYwBsAG8AdQBkAC8AYwB4AHAAbABhAHkAcgBlAGEAZAB5AC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAQQBfAFUAUgBMAD4APABMAFUASQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAHYAaQBlAHcAdwBhAHkALgBhAHAALQBzAG8AdQB0AGgALQAxAC4AYwBvAG4AYQB4AC4AYwBsAG8AdQBkAC8AYwB4AHAAbABhAHkAcgBlAGEAZAB5AC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAVQBJAF8AVQBSAEwAPgA8AEsASQBEAD4ARgBmAHkAZgBCAGsATQBFAHAAVQBtAHoATgB5AE4AcQBqAG8ATABPAGgAdwA9AD0APAAvAEsASQBEAD4APABDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTACAAeABtAGwAbgBzAD0AIgAiAD4APABDAG8AbgB0AGUAbgB0AFIAZQBmAD4ANAA2ADIANAA5AGIAZQA4AC0AMgA4ADIAOAAtADQANwAwADUALQA4ADUAOQA5AC0AMABiADYAYwAwAGEANQA2AGQAZgA2ADMAPAAvAEMAbwBuAHQAZQBuAHQAUgBlAGYAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AdABnAEgASQA3AE8AVwBrAFYAZgAwAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro>
                </ContentProtection>
                <Representation id="tracks-v1" width="1280" height="720" sar="1:1" frameRate="25" bandwidth="3494000" codecs="avc1.4d401f">
                  <SegmentTemplate initialization="$RepresentationID$/init.m4v" media="$RepresentationID$/seg-1693223122-$Number$.m4v?t=$Time$" timescale="1000"  startNumber="3091905">
                     <SegmentTimeline>
       <S t="19899740169" d="6000" r="3"/>
                     </SegmentTimeline>
                  </SegmentTemplate>
                </Representation>
            </AdaptationSet>
            <AdaptationSet id="1" mimeType="audio/mp4" contentType="audio"
     segmentAlignment="true" startWithSAP="1">
                <!-- Common Encryption -->
                <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="069ffc15-0443-49a5-b337-236a8e82ce87"/>
                <!-- widevine -->
                <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" value="Widevine">
                  <cenc:pssh>AAAAYXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEEIARIQBp/8FQRDSaWzNyNqjoLOhxoFQ29uYXgiJDQ2MjQ5YmU4LTI4MjgtNDcwNS04NTk5LTBiNmMwYTU2ZGY2Mw==</cenc:pssh>
                </ContentProtection>
                <!-- playready -->
                <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value="Microsoft PlayReady">
                  <cenc:pssh>AAAEWHBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAABDg4BAAAAQABAC4EPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwATABBAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AdgBpAGUAdwB3AGEAeQAuAGEAcAAtAHMAbwB1AHQAaAAtADEALgBjAG8AbgBhAHgALgBjAGwAbwB1AGQALwBjAHgAcABsAGEAeQByAGUAYQBkAHkALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AEwAVQBJAF8AVQBSAEwAPgBoAHQAdABwAHMAOgAvAC8AdgBpAGUAdwB3AGEAeQAuAGEAcAAtAHMAbwB1AHQAaAAtADEALgBjAG8AbgBhAHgALgBjAGwAbwB1AGQALwBjAHgAcABsAGEAeQByAGUAYQBkAHkALwByAGkAZwBoAHQAcwBtAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABVAEkAXwBVAFIATAA+ADwASwBJAEQAPgBGAGYAeQBmAEIAawBNAEUAcABVAG0AegBOAHkATgBxAGoAbwBMAE8AaAB3AD0APQA8AC8ASwBJAEQAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAIAB4AG0AbABuAHMAPQAiACIAPgA8AEMAbwBuAHQAZQBuAHQAUgBlAGYAPgA0ADYAMgA0ADkAYgBlADgALQAyADgAMgA4AC0ANAA3ADAANQAtADgANQA5ADkALQAwAGIANgBjADAAYQA1ADYAZABmADYAMwA8AC8AQwBvAG4AdABlAG4AdABSAGUAZgA+ADwALwBDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTAD4APABDAEgARQBDAEsAUwBVAE0APgB0AGcASABJADcATwBXAGsAVgBmADAAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</cenc:pssh>
                  <mspr:pro>OAQAAAEAAQAuBDwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAHYAaQBlAHcAdwBhAHkALgBhAHAALQBzAG8AdQB0AGgALQAxAC4AYwBvAG4AYQB4AC4AYwBsAG8AdQBkAC8AYwB4AHAAbABhAHkAcgBlAGEAZAB5AC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAQQBfAFUAUgBMAD4APABMAFUASQBfAFUAUgBMAD4AaAB0AHQAcABzADoALwAvAHYAaQBlAHcAdwBhAHkALgBhAHAALQBzAG8AdQB0AGgALQAxAC4AYwBvAG4AYQB4AC4AYwBsAG8AdQBkAC8AYwB4AHAAbABhAHkAcgBlAGEAZAB5AC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAVQBJAF8AVQBSAEwAPgA8AEsASQBEAD4ARgBmAHkAZgBCAGsATQBFAHAAVQBtAHoATgB5AE4AcQBqAG8ATABPAGgAdwA9AD0APAAvAEsASQBEAD4APABDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTACAAeABtAGwAbgBzAD0AIgAiAD4APABDAG8AbgB0AGUAbgB0AFIAZQBmAD4ANAA2ADIANAA5AGIAZQA4AC0AMgA4ADIAOAAtADQANwAwADUALQA4ADUAOQA5AC0AMABiADYAYwAwAGEANQA2AGQAZgA2ADMAPAAvAEMAbwBuAHQAZQBuAHQAUgBlAGYAPgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwAQwBIAEUAQwBLAFMAVQBNAD4AdABnAEgASQA3AE8AVwBrAFYAZgAwAD0APAAvAEMASABFAEMASwBTAFUATQA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A</mspr:pro>
                </ContentProtection>
                <Representation id="tracks-a1" audioSamplingRate="44100" bandwidth="131000" codecs="mp4a.40.2">
                  <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
                  <SegmentTemplate initialization="$RepresentationID$/init.m4v" media="$RepresentationID$/seg-1693223122-$Number$.m4v?t=$Time$" timescale="1000"  startNumber="3091905">
                     <SegmentTimeline>
       <S t="19899740169" d="6000" r="3"/>
                     </SegmentTimeline>
                  </SegmentTemplate>
                </Representation>
            </AdaptationSet>
        </Period>
        <UTCTiming schemeIdUri="urn:mpeg:dash:utc:direct:2014" value="2024-04-14T19:28:06Z" />
    </MPD>
    Used PCAPdroid for capturing

    How to proceed with this?
    Quote Quote  
  2. Member
    Join Date
    Jul 2022
    Location
    israel
    Search PM
    You can't find LIC / WIDEVINE because your connection is not secure, you need to perform Cert Pinning to the application and create a secure connection.
    After that you can find the LIC
    Quote Quote  
  3. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Originally Posted by orenn16 View Post
    You can't find LIC / WIDEVINE because your connection is not secure, you need to perform Cert Pinning to the application and create a secure connection.
    After that you can find the LIC
    okay will try that. In the meanwhile, since it is not secure is there any way to capture the licence using postman or something similar? Sorry if this a noob question.
    Quote Quote  
  4. Originally Posted by Kratos View Post
    Originally Posted by orenn16 View Post
    You can't find LIC / WIDEVINE because your connection is not secure, you need to perform Cert Pinning to the application and create a secure connection.
    After that you can find the LIC
    okay will try that. In the meanwhile, since it is not secure is there any way to capture the licence using postman or something similar? Sorry if this a noob question.
    You can use Burpsuite or HTTPToolkit instead postman.
    Quote Quote  
  5. You'll have to install a custom CA certificate for HTTPToolkit
    Quote Quote  
  6. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Used HTTPCanary Root with CA certificate to find license, fortunately I was able to find the license url. https://cms.cinesoft.live/api/getAuthToken

    It has the request as below,

    Code:
    POST /api/getAuthToken HTTP/1.1
    timestamp: 1713183827397
    key: +JWKCzUkNzOuvAicx8IxxxxikvK71bBgA2e0sxxxxxxLGm9JeLx9RvM9P+
    Content-Type: application/json
    Content-Length: 18
    Host: cms.cinesoft.live
    Connection: Keep-Alive
    Accept-Encoding: gzip
    User-Agent: okhttp/3.8.0
    
    {"mediaId":"1189"}
    and response as below.

    Code:
    {
      "preAuthToken": "eyJraWQiOiIxNWUxYzU4ZS05NGFmLTRlNjUtOTFhZS1mYjMyMzNlNmJlNjUiLCJ0eXAiOiJKV1QiLCJleHAiOjE3MTMxODM4ODk2NjAsIm9wZXJhdG9ySWxxxxxx0IiwiYWxnIjoiSFMyNTYifQ.eyJtb2RlIjoiU1RSRUFNSU5HIiwic2NvcGUiOiJsaWNBdXRoIiwiZXhwIjoxNzEzMTgzODg5LCJvcGVyYXRvcklkIjoiMzEwNCIsImp0aSI6IkFCMzRCMkE1MUE1OUIzRDMyQkU0RDBEOTk4NDBDODQ5IiwiY29udGVudFJlZiI6IjQ2MjQ5YmU4LTIxxxxxDcwNS04NTk5LTBiNmMwYTU2ZGY2MyIsImxpY2Vuc2VEdXJhdGlvbiI6Ixxxxxxx.3LZCBBNxT4d3a-T1PM2RpfzacF6FUx5w2az8hORm4GM",
      "status": 200
    }
    what is the correct key in this?
    Last edited by Kratos; 28th May 2024 at 04:00. Reason: scrambling auth key
    Quote Quote  
  7. Banned
    Join Date
    Apr 2022
    Location
    Hong Kong
    Search Comp PM
    What's the name of the app?
    And is there any free content to test?
    Quote Quote  
  8. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Originally Posted by CrymanChen View Post
    What's the name of the app?
    And is there any free content to test?
    Its an intranet based subscription app provided by my isp, it doesnt work over internet .

    I also found this license link through capturing
    Code:
    https://viewway.ap-south-1.conax.cloud/widevine/license
    Last edited by Kratos; 28th May 2024 at 03:55.
    Quote Quote  
  9. Yes and no. They keys are more or less inside that challenge response. To actaully get to the keys you'll need to use pywidevine to recreate that key retrieval process.
    More help can be found in the forum (sticky threads).
    Quote Quote  
  10. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Originally Posted by larley View Post
    Yes and no. They keys are more or less inside that challenge response. To actaully get to the keys you'll need to use pywidevine to recreate that key retrieval process.
    More help can be found in the forum (sticky threads).
    I tried using wks-key, its throwing the unable to parse - check protobuff error. I guess its something related to the headers.

    This are the headers from HTTPToolkit.
    Image
    [Attachment 78434 - Click to enlarge]


    Headers used in wks-key.
    Image
    [Attachment 78435 - Click to enlarge]


    There seems to be Request Body for header, how to include this in wks-key?
    Image
    [Attachment 78436 - Click to enlarge]
    Quote Quote  
  11. That's what WKS-KEYS should replace with it's own challenge.
    In your WKS script there should be a line like:
    Code:
    requests.post(url=lic_url, data=challenge, headers=headers.headers)
    That's what is requesting the challenge response from the license server.
    If you know that your license server only takes a byte-like input and gives a byte-like output then you can leave it like that
    If you see your challenge being sent to server in a json format you'll have to edit your request and response respectively to include your data as base64.
    If that's not the case then you can add a print statement below the line above to print:
    Code:
    print(response.text)
    to see what the server replied so you can check if it needs any specific data.
    Quote Quote  
  12. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Originally Posted by larley View Post
    That's what WKS-KEYS should replace with it's own challenge.
    In your WKS script there should be a line like:
    Code:
    requests.post(url=lic_url, data=challenge, headers=headers.headers)
    That's what is requesting the challenge response from the license server.
    If you know that your license server only takes a byte-like input and gives a byte-like output then you can leave it like that
    If you see your challenge being sent to server in a json format you'll have to edit your request and response respectively to include your data as base64.
    If that's not the case then you can add a print statement below the line above to print:
    Code:
    print(response.text)
    to see what the server replied so you can check if it needs any specific data.
    I have tired the changes as suggested, but still getting the same unable to parse license error. Its only taking a byte like input and responding with a byte like output.

    I tried sending the post request using the byte request data with preauthorization and the server is responding back only with
    Code:
    Error 500: {"status":"UNGRANTED_REQUEST","code":500,"errorCode":6001,"message":"Internal error"}
    I used the preauthorization as soon as its generated, pssh is from the mpd itself. The request byte body is the only reused one. Any suggestion?
    Quote Quote  
  13. Originally Posted by Kratos View Post
    The request byte body is the only reused one. Any suggestion?
    The request body is the challenge, you can't (re)use the challenge from your PC browser or Android app, you have to generate the challenge with pywidevine like larley already said. Show us the script you're using.
    Quote Quote  
  14. If 'copy as requests format' wasn't an http toolkit premium feature you wouldn't have to do this trial and error stuff because in most cases you can re-send the challenge to get the response again, you just arent able to retrieve the keys from that response but it will be good enough to test whether your script is working correctly
    Quote Quote  
  15. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Originally Posted by white_snake View Post
    Originally Posted by Kratos View Post
    The request byte body is the only reused one. Any suggestion?
    The request body is the challenge, you can't (re)use the challenge from your PC browser or Android app, you have to generate the challenge with pywidevine like larley already said. Show us the script you're using.
    My CDM is broken, that's the issue. Script is working now. And one more thing the preauthorization is expiring pretty fast.
    Quote Quote  
  16. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Originally Posted by larley View Post
    If 'copy as requests format' wasn't an http toolkit premium feature you wouldn't have to do this trial and error stuff because in most cases you can re-send the challenge to get the response again, you just arent able to retrieve the keys from that response but it will be good enough to test whether your script is working correctly
    Thanks for your help again and again, Is it possible to generate preauthorization token instead of using the captured response one from httptoolkit?

    The post request for getting preauth token is
    Code:
    POST /api/getAuthToken HTTP/1.1
    key: +JWKCzXXXXXuvAicx8IzLAQikvXXXXBgA2e0sopkUjidI4AbXflX9uqxNoEnlQVt
    timestamp: 1713198795324
    Content-Type: application/json
    Content-Length: 18
    Host: cms.cinesoft.live
    Connection: Keep-Alive
    Accept-Encoding: gzip
    User-Agent: okhttp/3.8.0
    The request body has the mediaid which is an integer.
    Only the last part of the request key is changing for getting every preauth token.
    Code:
    idI4AbXflX9uqxNoEnlQVt
    What is this last section, is it possible to generate the last section of the key on my own?
    Last edited by Kratos; 28th May 2024 at 04:07. Reason: scrambling auth key
    Quote Quote  
  17. It's not base64, you can look around in other requests to see if you can get the key from some other request.
    Quote Quote  
  18. Originally Posted by larley View Post
    It's not base64, you can look around in other requests to see if you can get the key from some other request.
    Check other requests to find the key; it's not in base64. Inspect surrounding requests for clues and you might uncover the necessary key. Happy hunting and good luck.
    Quote Quote  
  19. Member
    Join Date
    Apr 2024
    Location
    India
    Search Comp PM
    Fortunately, I am still using the last generated auth key and its working perfectly till now. It didn't expire yet.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!