yan12125 / iqiyi-hack

Scripts to hack iQiyi and Letv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

如何为其他swf编写类似的patch?

cnbeining opened this issue · comments

我有点get到概念了。

但是这个patch文件是怎么写的?用什么程序生成?

Beining

Dear Beining,

我是用ffdec將SWF decompile之後,輸入要inject的ActionScript,重新編譯後將新增的ActionScript對應的p-code貼到RABCDasm產生出來的檔案並稍做修改(主要是兩邊的p-code格式有些許差異),經驗證正確後就可做成patch。

關於農曆春節提到的Douyu,由於他們用了CrossBridge,雖然約略可以看出是用了MD5,但是很難trace到key的位置。目前我這個repo裡面的douyu.patch是無法使用的。

Best Regards,

Yen Chi Hsuan

我使用ffdec修改swf保存后 整个文件直接不能使用了。不知道为什么...

2016年4月29日星期五,Yen Chi Hsuan notifications@github.com 写道:

Dear Beining,

我是用ffdec https://github.com/jindrapetrik/jpexs-decompiler將SWF
decompile之後,輸入要inject的ActionScript,重新編譯後將新增的ActionScript對應的p-code貼到
RABCDasm https://github.com/CyberShadow/RABCDAsm
產生出來的檔案並稍做修改(主要是兩邊的p-code格式有些許差異),經驗證正確後就可做成patch。

關於農曆春節提到的Douyu,由於他們用了CrossBridge
https://github.com/crossbridge-community/crossbridge
,雖然約略可以看出是用了MD5,但是很難trace到key的位置。目前我這個repo裡面的douyu.patch是無法使用的。

Best Regards,

Yen Chi Hsuan


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#2 (comment)

ffdec的修改功能目前還是experimental,可能會有bug。我是存檔後取出修改後的p-code,套用到RABCDasm的p-code,再用RABCDasm的compiler還原成SWF。

我的理解是:

  • 使用ffdec对swf进行修改,保存
  • 使用rabcdasm对新旧swf进行反编译
  • 进行diff
  • 使用rabcdasm重新编译为swf

请问我的步骤和每步使用的工具是否正确?

Many thanks,
Beining

2016年4月29日星期五,Yen Chi Hsuan notifications@github.com 写道:

ffdec的修改功能目前還是experimental,可能會有bug。我是存檔後取出修改後的p-code,套用到RABCDasm的p-code,再用RABCDasm的compiler還原成SWF。


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#2 (comment)

我的步驟略有不同:

  1. 使用ffdec对swf进行修改,保存
  2. 將ffdec右欄的p-code改過的地方複製出來,這步是手動的
  3. 在RABCDasm decompile出來的檔案中找出對應的.asasm檔,將新增的p-code貼到相應的位置
  4. 用RABCDasm的compiler將*.asasm compile成SWF
    在瀏覽器中使用的就是第四步產生出來的SWF

另外在瀏覽器我有裝debug版的flash player,SWF有錯誤會跳錯誤訊息,對debug興許有幫助。

OK 受教了。

顺便问一句 您制作的patch中 有很多将key POST到一个假地址的代码。请问这些p-code的原始actionscript是怎样写的?

Yours,

P.S:在firefox中使用插件 可以直接看到打印的log等。虽然需要付费,但解压开强行修改认真相关的变量即可。

2016年4月29日星期五,Yen Chi Hsuan notifications@github.com 写道:

我的步驟略有不同:

  1. 使用ffdec对swf进行修改,保存
  2. 將ffdec右欄的p-code改過的地方複製出來,這步是手動的
  3. 在RABCDasm decompile出來的檔案中找出對應的.asasm檔,將新增的p-code貼到相應的位置
  4. 用RABCDasm的compiler將*.asasm compile成SWF
    在瀏覽器中使用的就是第四步產生出來的SWF

另外在瀏覽器我有裝debug版的flash player,SWF有錯誤會跳錯誤訊息,對debug興許有幫助。


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#2 (comment)

letv.patch為例:

         var req:URLRequest = new URLRequest("http://yuntv.letv.com/fake_proxied_post");
         req.data = EmbedConfig.KEY;
         req.method = "POST";
         (new URLLoader()).load(req);

EmbedConfig.KEY就是欲得知的資料。

感谢不尽!

这几天略忙 进入五月我继续做一些测试。

Thanks again!

2016年4月29日星期五,Yen Chi Hsuan notifications@github.com 写道:

以letv.patch為例:

     var req:URLRequest = new URLRequest("http://yuntv.letv.com/fake_proxied_post");
     req.data = EmbedConfig.KEY;
     req.method = "POST";
     (new URLLoader()).load(req);

EmbedConfig.KEY就是欲得知的資料。


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#2 (comment)

不會,很高興能在這個領域貢獻一些心力。祝事事順利。

尝试在Bilibili的播放器中插入trace,没什么效果。甚至没看出来他是怎么加密的。

不知道我们能否进一步研究?

請問BiliBili是何處有加密?剛剛我用youtube-dl和you-get都能正常運作。

appkey都会被封,这个办法不长久了。

还是需要把swf中interface api的sign生成逆向出来的。但是我用trace没什么结果..

2016年5月13日星期五,Yen Chi Hsuan notifications@github.com 写道:

請問BiliBili是何處有加密?剛剛我用youtube-dl和you-get都能正常運作。


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#2 (comment)

貌似Bilibili和Douyu一樣用了FlasCC,要破解恐怕有點困難

今天Wireshark了一下,看到Android client用的appkey: f3bb208b3d081dc8,這個估計比較不容易被封吧

Update: f3bb208b3d081dc8 現在需要sign。