Java декомпилятор написан в Соединенных Штатах - PullRequest
10 голосов
/ 14 сентября 2009

Я работаю на правительственного подрядчика, который очень разборчив в том, какое программное обеспечение устанавливается на их машины (законы правительства США). В рамках процесса обратного инжиниринга мне нужно выяснить, что делает определенный набор .class файлов. Декомпилятор был бы действительно полезен, но я не могу найти тот, который соответствует стандартам, установленным здесь. По сути, мне нужно найти декомпилятор, который был разработан в Соединенных Штатах. Кто-нибудь знает что-нибудь? Бесплатно предпочтительнее, но коммерческий будет делать.

FYI, JAD и JD отсутствуют, поскольку они не разработаны в США.

Ответы [ 10 ]

5 голосов
/ 15 сентября 2009

Я бы проинформировал вашего работодателя о том, что предварительные условия о том, откуда поступает программное обеспечение, не защитят их, и они не получат того, чего хотят. США конкурируют в глобальной экономике и в глобальном Интернете. Для них звучит немного по-детски, что они думают, что они получают какое-то преимущество или безопасность от неустановки работающего программного обеспечения. То, что вы хороший работник, дизайнер или программист, помогает вашему клиенту осознать их ограничения и преодолеть их . Вы должны помочь им добиться большего успеха.

2 голосов
/ 25 октября 2009

Я подумал, что должен ответить на этот вопрос, так как ничто из предложенного не сработало. В итоге я решил выполнить требования, используя javap, много догадываясь и стуча головой о стол, пока он не сработал. javap не дал мне много того, что мне было нужно, так как он вызывал много нативного кода. В конце концов, я получил то, что мне было нужно, используя проверенный метод угадывания и проверки.

Там действительно должен быть декомпилятор. Может быть, Sun (Oracle) может сделать один ...

2 голосов
/ 15 сентября 2009

Меня пугает, когда я слышу эту чепуху, исходящую от моего собственного правительства.

Запустите jad -p, перекомпилируйте исходный код и сравните скомпилированный класс с файлом класса оригинала.

Вы можете запустить jad на одноразовом компьютере / экземпляре виртуальной машины. Если есть разумное согласие относительно скомпилированного класса, вы знаете, что программное обеспечение функционировало должным образом.

2 голосов
/ 15 сентября 2009

А как насчет установки "неутвержденного" программного обеспечения на ВМ?

1 голос
/ 10 июня 2013

Procyon является полностью американским, разработано Майком Штробелем. Согласно странице профиля Майка , он на Манхэттене.

1 голос
/ 14 сентября 2009

Я предполагаю, что вы не можете переместить файлы .class с компьютера на лабораторный компьютер, где вы можете установить JAD?

Я также работаю с правительством, и если определенное программное обеспечение имеет решающее значение для успеха вашего проекта, вам необходимо сообщить об этом своему менеджеру, который затем сообщит об этом своему правительственному коллеге. После этого должен быть контрольный список для ваших экспертов по ВА, чтобы одобрить это программное обеспечение.

0 голосов
/ 15 сентября 2009

Вот идея, можете ли вы отправить файлы кому-то другому для декомпиляции, а затем просто отправить вам декомпилированный источник?

0 голосов
/ 14 сентября 2009

mmmh довольно иронично, вы не можете использовать декомпилятор, потому что декомпилятор создан в США, но вы все равно можете декомпилировать код?

Если вам нужно узнать, что делает класс, спросите людей, которые его создали, для источника

Если они отказываются предоставить источник, то я не считаю законным его декомпилировать в любом случае

0 голосов
/ 14 сентября 2009

Однажды я использовал cavaj (бесплатное программное обеспечение), но я не знаю, сделано ли оно в США.

0 голосов
/ 14 сентября 2009

Полагаю, для вас законно декомпилировать их, верно? В большинстве пользовательских соглашений, которые я читал, говорится, что вы не имеете права что-либо реконструировать ... Если это законно, почему выходят JAD и JD?

У меня был успех с DJ Java Decompiler , хотя он не так хорош, как JD. Есть также SoThink Java Decompiler , но я никогда не использовал его лично.

Есть несколько других, но большинство из них, похоже, основаны на JAD, поэтому я думаю, что они тоже отсутствуют.

...