Soru:
Bir SWF dosyası nasıl tersine mühendislik uygular?
user1354557
2013-03-22 03:09:36 UTC
view on stackexchange narkive permalink

Bir SWF dosyasındaki bayt kodunu çözmek veya analiz etmek için hangi araçlar ve teknikler vardır? SWF dahili bileşenleri hakkında daha fazla bilgi edinmek için ters mühendisin kullanabileceği kaynaklar nelerdir?

Hangi ActionScript sürümü? AS için tamamen farklı iki sanal makine var. Belirtmelisiniz. Yeni başlayanlar için standardı okumanızı tavsiye ederim, gerçekten yardımcı oluyor ama saç çekmeye ve diğer garip reflekslere de neden olabilir.
İlginç soru. Herhangi biri Flash RE konusunda mevcut bilgilere genel bir bakış sunabilir mi? Makaleler ve bu çok takdir edilecektir.
Dokuz yanıtlar:
#1
+13
Anton Kochkov
2013-03-22 12:37:55 UTC
view on stackexchange narkive permalink

Açık kaynak olan ve hem flash assembler hem de disassembler içeren iyi bir araç flasm var. Ve ücretsiz, ancak kapalı kaynak olan ve flash decompiler içeren flare. Görünüşe göre her ikisi de terk edilmiş (2007'deki son güncelleme) ve ActionScript 3 desteği yok, ancak belki birileri bunları genişletebilir.

Güncellenmemiş olduğu gibi, Flare for Mac'in mevcut sürümü yalnızca PowerPC içindir.
`apt-get install flasm` çalışır ve programın kullanımı kolaydır. Tavsiye ederim.
#2
+11
alexanderh
2013-05-09 23:11:50 UTC
view on stackexchange narkive permalink

Öncelikle, SWF dosya formatı ve ActionScript spesifikasyonlarını okumanızı tavsiye ederim. Hepsini okumanızı tavsiye etmem (sıkıcı oluyor). Sadece ilk üç veya dört bölüm. Bu, yapı ve anahtar kelimeler için bir bilgi temeline sahip olmaya yardımcı olacaktır. İşte tavsiye edebileceğim ikisi.

SWF Dosya Biçimi PDF, ActionScript Virtual Machine 2'ye (AVM2) Genel Bakış PDF

Bilgi kontrolünün temelini aldıktan sonra Flash İstismarları ile ilgili bazı yayınları inceleyin. Belirli bir sıraya veya değere sahip olmayan yayınların listesi burada 1, 2, 3, 4, 5, 6, 7. RE Reddit 'te arama yapmak da SWF / Flash analizi için iyi bir kaynaktır.

Exploit topluluğu tarafından tersine mühendislik SWF / ActionScript / Flash / vb. için daha iyisi ya da daha kötüsü için çok sayıda harika çalışma yapılmıştır. Google'ın çalışmalarını takip etmesini tavsiye edeceğim birkaç araştırmacı var. Haifei Li kayda değer bir bireydir. Filetype için hızlı bir Google araması: PDF + "Haifei Li" birçok harika kaynağı ortaya çıkaracaktır. Örnek: bağlantı.

Okumaktan bıktıysanız, bazı örnekleri indirmenizi tavsiye ederim. Contagiodump numune almak için iyi bir yerdir. Tipik olarak numunenin uygun CVE numarası vardır. Bu yararlı olabilir çünkü CVE-numarası + "analizinin" hızlı bir google'ı, sürümü takip ederek evde yapmanıza izin verir. Elbette aletlere ihtiyacınız olacak. Ben şahsen Lenny Zeltser'den REMnux 'u tavsiye ederim. Bu iş parçacığında listelenen hemen hemen tüm araçlar zaten içinde yüklü. Belgelere gömülü SWF'lerle çalışıyorsanız, bunları ayıklamak için xxxswf.py öneririm. Kaynak kodu o kadar kötü yorumlanmamıştır, bu nedenle size dosya yapısı hakkında bazı temel bilgiler verecektir. Sorumluluk reddi: benim aracım.

Listelenmeyen birkaç araç, Trillix ve Yogoda tarafından hazırlanan Flash Decompiler'dır.. Bu araçların her ikisi de Windows içindir.

#3
+8
samuirai
2013-03-22 06:00:33 UTC
view on stackexchange narkive permalink

Bir flash oyundan AES anahtarını çıkarmak için bir kez SWFWire Debugger kullanıldı. Yürütme sırasında işlevleri ve parametrelerini izleyebilir. Bunu son derece yararlı buluyorum.

Web sitesinde Adobe Flash oynatıcının gerekli olduğunu belirtiyor. Bu bana uygulamanın flaşı gerçekten oluşturduğunu / oynattığını söylüyor, bu da tehlikeli olabilir. SWF'yi oluşturup oluşturmadığını biliyor musunuz?
Evet öyle. Bu bir hata ayıklayıcı, statik bir analiz aracı değildir, bu nedenle SWF'yi çalıştıracaktır. Ama dinamik analiz için gerçekten güzel.
@Lizz Aynı web sitesinde, SWFWire [bir statik analiz çözümleyicisi] (http://www.swfwire.com/decompiler) sağlar. SWF'leri daha önce de derlemek için büyük bir başarıyla kullandım.
#4
+6
Rolf Rolles
2013-03-22 03:53:56 UTC
view on stackexchange narkive permalink

Sebastian Porst'un [1] adlı çalışmasına bakın (genel bir bakış için özellikle / slides dizinine bakın ve ardından kodun geri kalanı kökten bulunabilir).

[1] https://github.com/sporst/SWFREtools

#5
+3
Martin
2013-05-09 18:46:06 UTC
view on stackexchange narkive permalink

SWF dosyalarını tıpkı diğer yürütülebilir dosyalar gibi parçalarına ayırmanıza olanak tanıyan bir IDA Pro eklentisi var.

#6
+2
cb88
2013-03-22 03:45:49 UTC
view on stackexchange narkive permalink

Bunu yapmak için hızlı bir google araması yapmak için halihazırda pek çok araç var.

Örnek asdec

Ayrıca burada ilgili bir soru var "do-an-actionscript-decompiler-get-actionscript-from-dynamically-linked-as-file"

Ayrıca Gnash ve Lightspark, ilginç olması gereken açık kaynaklı flash uygulamalarıdır.

#7
+2
rev
2013-03-24 17:21:37 UTC
view on stackexchange narkive permalink

Geçmişte swf dosyaları analizi için SWFTools ( http://www.swftools.org) paketini kullandım.

Bu paketteki swfextract aracı şunları yapmanızı sağlar bir swf dosyasından her tür yapıyı ayıklayın.

Aynı paketteki swfdump aracı, ActionScript'in (v1-3) tüm sürümlerini parçalarına ayırabilir. Swfdump ile ilgili güzel olan şey, çıktıyı analize çok yardımcı olan, insan tarafından okunabilir p-kod biçiminde göstermesidir.

Ayrıca, Sothink SWF Decompiler ve Flash Decompiler Trillix gibi ticari kod çözücüler de vardır. Bunları kullanma deneyimim yok ve ne kadar iyi çalıştıklarını da tavsiye edemiyorum.

#8
+2
Carraway
2016-10-31 04:18:26 UTC
view on stackexchange narkive permalink

Çoğunlukla ham kodu önemsiyorsanız, size RABCDAsm'i önerebilirim

https://github.com/CyberShadow/RABCDAsm

Bu çok çalışılabilir Actionscript bayt kodu oluşturur ve ayrıca yamalamanıza da olanak tanır.

#9
+1
NirIzr
2016-10-30 03:14:49 UTC
view on stackexchange narkive permalink

Sothink’in Flash Decompiler’ını gerçekten beğeniyorum. Ticari olsa da, ara sıra flash dosyalarında ters mühendislik yaparsanız gerçekten buna değer.

Tam sürüm (sahip olduğum ve kullandığım) tüm SWF dosyalarını FLA'ya geri derleyebilir, AS'nin en son sürümlerini destekler (diğerleri ücretsiz olduğunda araçlar değildi), SWF dosyalarını değiştirmenize ve çalıştırmanıza ve değiştirilmiş bir SWF sürümü oluşturmanıza olanak tanır, tüm kaynak türlerini (yalnızca kod değil) düzenlemeye olanak tanır ve zengin özelliklere sahip tam gelişmiş bir GUI'ye sahiptir.



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...