2011-12-18 20 views
9

Geçmişte java obfuscators kullandım ve bazıları tersine mühendislik yapmak için kolay. Belki de yeterince şaşırmadığını düşündüm.Obstrüktif kodun yeniden gizlenmesi yanlış mı?

iki aşamalı kandırma başvuru için yanlış veya sorunlu mı? ticari bir ürüne Zelix Klassmaster

ile ProGuard

  • Finish kapalı olan

    1. Obfuscate -

      Ya kötü bir yaklaşım bu? Sadece bir obfuscator kullanılmalı mı?

  • +0

    Kötü hiçbir şey olmayacak anlamında "Tamam" bu. –

    +4

    Bence bu iyi bir soru. Neden "yakın" bir oy aldığını bilmiyorum. Belki biraz düşünülmelidir. – MByD

    +0

    Kapatmaya oy verdim, çünkü objektif anlamda "iyi" ve "kötü" nin ne anlama geldiği net değil. –

    cevap

    4

    sürece kod yine de düzgün, daha sonra olursa olsun kullanmak Gizleyiciyi hangi numaralar çalışırken, Tamam olmalıdır. Obfuscator kullanmanın temel endişesinin, kodu doğruluğunu koruyarak mümkün olduğu kadar okunamaz kılması olduğunu unutmayın.

    2

    yeniden şaşırtma karartılmış kod unobfuscating kod çok iyi bilinen bir yöntemdir. , ör. Geçerli bir pencere dosya adı değil COM1.java adlı bir dosyada, neden olacaktır

    class COM1 { ... } 
    

    decompiling gibi geçerli Windows dosya adları oluşturmayan adlara sahip sınıflar karartmak ve böylece birçok decompilerlar kırar olabilir.

    çözeltisi daha sonra kaynak koda Class1 Class2 Method1, Method2, alan1, alan2 ve benzeri isimleri bir sözlük kullanılarak birinci yeniden karartmak olacaktır. Decompiled kodu şimdi sadece decompile için daha geçerli değil, aynı zamanda daha okunabilir. seri içinde

    kullanma obfuscators genellikle kullanılan son Gizleyiciyi kadar güçlü Karartılmış kodunda neden olacaktır. (yani zincir son bağlantı kadar güçlüdür)

    Bir obfuscator'a takılmanızı öneririm, ancak gizleme sürecindeki her seçeneği ve geri almanın ne kadar kolay olduğunu anladığınızdan emin olun.

    +0

    Son obfüscüsün sadece kodu kopyaladığını düşünün. Bu, önceki gizleme adımlarını nasıl daha az etkili hale getirebilir? Bence en güçlü bağlantı kadar güçlü. –

    +0

    @IraBaxter Neyi kastettiğinizi anlıyorum, yine de çok şaşırtma teknikleri yeniden gizleme ile geri alınabilir. – Matiaan

    +0

    'Obfüsörlerin seri olarak kullanılması genellikle, kullanılan son obfüsör kadar güçlü gizlenmiş kodla sonuçlanır. (yani zincir son bağlantı kadar güçlüdür) Neden? – EJP

    İlgili konular