2010-03-07 16 views
15

Ücretsiz bir bytecode editörü nedir? Ben bir editör, bir GUI ile bir şey istiyorum ...Java bytecode editörü?

Hiç şansla jbe-0.1b denedim (bayt kodu değişikliklerini kaydedemiyorum).

+0

Sadece indirilen ve JBE-0.1b test edilmiş ve bu benim için iyi çalıştı. 'Save method''a basıldıktan sonra sınıf değiştirildi (diskte). –

+0

Evet, işe yaramadı ama kaydetme sırasında bir konsol hatası alıyorum ve hiçbir şey kaydetmiyor ... belki de bir çok çizgiye sahip bir yöntemle ilgili bir şey ... Gerçekten istediğim sadece bir alternatif olan – AlfaTeK

+0

jb kopuşlarını içeren invokeinterface komutu. Arabirim yöntemi adını, öngörülebilir sonuçlarla Integers olarak ayrıştırmaya çalışır. Kaynağı içerir, bu yüzden teoride düzeltilebilir. – yatima2975

cevap

9

Kullanıcı arayüzü ile iyi bir şey yok, ancak herhangi bir Java sınıfını ASM koduna dönüştürmek, düzenlemek ve değiştirilen sınıfı üretmek için Eclipse Bytecode Outline eklentisini kullanabilirsiniz. Muhtemelen şu anda en acısız yoldur.

http://asm.ow2.org/eclipse/index.html

0

Sadece emin olmak için. Sınıf dosyalarını derlemeyi denediniz mi? Tam olarak ne yapmaya çalıştığını bilmiyorum, fakat önce sınıfları derleyip kaynakları yeniden düzenleyip yeniden derlemelisin.

JAD oldukça çirkin bayt kodu işleyen ve ondan okunabilir kaynaklar üretebilen çok iyi bir decompilerdir.

+2

bağımlılıklar eksik ve karmaşık şeyler nedeniyle kaynakları yeniden derleyemiyorum. Yani sadece bazı aptal dizeleri bytecode gerekir :) – AlfaTeK

+0

Sadece dizeleri değiştirmeniz gerekiyorsa, herhangi bir editör ince olmalı :-). Cidden, sanki orada dizeler gibi saklandıklarına inanıyorum. – pajton

3

Jasmin ve jasper'ın, bayt kodu ve birebir dil temsili arasında çeviri yapmak için kullanılan alışılmış çift olduğunu anlıyorum.

IIRC, Apache BCEL sınıf dosyalarını BCEL ile sınıf dosyasını oluşturan kodlara ayırmak için bir araç ile birlikte gelir.

vi. :)

0

Java bayt kodu oluşturmak için, eclipse eklentileri de sunan ASM'u kullanabilirsiniz.

ASM, tüm amaçlı bir Java bayt kodu işleme ve analiz çerçevesidir. Mevcut sınıfları değiştirmek veya dinamik olarak sınıfları doğrudan ikili biçimde oluşturmak için kullanılabilir.

+1

ASM, manuel düzenleme için gerçekten tasarlanmamıştır. – Antimony