如何为其他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)
我的步驟略有不同:
- 使用ffdec对swf进行修改,保存
- 將ffdec右欄的p-code改過的地方複製出來,這步是手動的
- 在RABCDasm decompile出來的檔案中找出對應的.asasm檔,將新增的p-code貼到相應的位置
- 用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 写道:
我的步驟略有不同:
- 使用ffdec对swf进行修改,保存
- 將ffdec右欄的p-code改過的地方複製出來,這步是手動的
- 在RABCDasm decompile出來的檔案中找出對應的.asasm檔,將新增的p-code貼到相應的位置
- 用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。