2010-07-22 12 views
26

düzenleme java sınıfı dosyaları için düzenleme yardımcı programı (veya eclipse eklentisi) var mı? Bir java sınıf dosyasının bayt kodunu yeniden derlemeden veya tam bir yapı yoluna sahip olmadan işlemek istiyorum.Talimatları düzenlemek için bir java classfile/bytecode editörü var mı?

E.g.

  • classeditor ama çok işlevsellik açısından sınırlı olması (şeylerden örneğin yeniden adlandırma ve manipüle talimatları değil mi: buldum

    sadece yardımcı programları vb sabitleri değiştirmek talimatları ekleme/silme yöntemleri yeniden adlandırmak mümkün değil.

  • jbe

    değişiklikleri kaydetmiyor (sınıf doğrulanıncaya başarısız belki - sınıf mükemmel çalışır rağmen, herhangi bir değişiklik yapmadan önce)

    (JBE başlangıçta JBE sınıf yolunu ekleyerek, bir sınıf yolu sorunu vardı. yarasa dosyası yardımcı oldu)

+0

_jbe_ ile ilgili sorun nedir? Java, bu yüzden herhangi bir yerde çalışmalı. – musiKk

+0

@musikk bir istisnası atılır: iplik "ana" java.lang.NoClassDefFoundError içinde İstisna: ee/ioc/cs/JBE/tarayıcı /BrowserApplication – MRalwasser

+3

bir istisna bir çarpışma değil. Bir sınıf yolu sorununuz var. –

cevap

8

Herhangi bir bayt kodu görmedim -> bayt kodu öncelikleri, ancak bol arka planlar.

javassist gibi bayt kodu yükleme, bayt kodu yükleme, işleme ve diske geri kaydetme gibi birçok bayt kodlama kütüphanesine bir göz atmanızı öneririm ve daha sonra bunu yapan küçük bir ana yazmayı öneririm.

1

this numaralı bayt kod işleme/kod oluşturma kitaplıkları listesini buldunuz?

+1

Çalışma araçlarına ihtiyacım var, böyle bir aracı kendi başıma kodlamak için zamanım yok (ne bu kütüphanelerin yardımıyla). – MRalwasser

19

Sınıf dosyalarını düzenlemek için reJ kullanıyorum.

Bir hex editörü ile yönergeleri, yöntemleri, sabit havuzu, farklı sınıfları ve bölünmüş görünümü düzenlemenizi sağlar.

Gülünç müthiş.

+0

reJ ölü gibi görünüyor (son sürüm 2007'de gerçekleşti) – MRalwasser

+0

reJ, eğer çalışmışsa harika olurdu. Bir parametre gerektiren bir "ifne" komutu eklemeyi denedim, bir NullPointerException alıyorum çünkü grafiksel kullanıcı arayüzü bitmemiş, beklenen şube ofsetini geçmesine izin vermiyor. Aslına bakarsanız, yönergeleri görüntülemek için reJ'i kullanmamızı tavsiye ederim, Java Decompiler, değişikliklerin anlaşılıp anlaşılmadığını ve sınıf dosyalarını (dosyalarını) düzenlemek için basit bir onaltılık editör olup olmadığını kontrol etmek için. – gouessej

+0

Bu arada, JByteMod işe yarıyor, reJ'nin yapamadığı şeyi yapıyor: https://grax.info/ JOGL 2.3.2'yi yamalamak için kullandım :) – gouessej

6

Yararlı bulabileceğiniz bir open source Java assembler and dissasembler yazdım.

Bir sınıf dosyasını insan tarafından okunabilir bir düzeneğe ayırmanıza, düzenlemenize ve daha sonra bir sınıfa yeniden yerleştirmenize izin verir. Başlangıçta gizlenmiş crackmes yazmak için tasarlandı, bu yüzden birçok diğer araçların desteklemediği pek çok belirsiz özellik var. Şu anda desteklemediği herhangi bir özelliğe ihtiyacınız varsa, benimle iletişime geçmekten çekinmeyin ve neler yapabileceğimi göreceğim.

İlgili konular