Просто интересно, есть ли у кого-нибудь опыт работы с java (как appose to c/C++) в цифровой криминалистической среде, и если бы они могли мне посоветовать о проблемах или преимуществах, с которыми они могли столкнуться ? CheersJava как цифровая криминалистическая среда
ответ
Да, вы можете сделать все это на Java, если есть что-то, что нужно сделать на C, у вас есть пакет JNI, через который вы можете вызвать «опасные» процедуры. Java предоставляет вам надежность, модель безопасности, масштабируемость - это не большая проблема ... вам не нужно справляться с 64-битной ОС или оптимизировать свой код, чтобы воспользоваться преимуществами нескольких процессоров, вы найдете это странным, но верно: ваш программное обеспечение может работать быстрее на Java, чем на C. Если вы не являетесь средним разработчиком, если вы знакомы с структурой процессора, строго понимайте машинный код и обработку с регистрами, затем забудьте свой текст, вы можете сделать это лучше в C.
Мы перемещались наш криминалистической код из C++ и Python на Java по следующим причинам:
- Мы обеспокоены тем, как коррумпированные данные могут повлиять на наши инструменты; с Java это не проблема.
- Отдельная Java-бинарная система будет работать на 32-битных и 64-битных системах
- Лучшая эксплуатация потоков.
Наши первоначальные результаты весьма перспективны: bulk_extractor, перенесенный с C++ на Java, выполнялся в 3 раза быстрее! Мы были поражены. Мы считаем, что это связано с тем, что jflex производит более быстрый FSM, чем flex.
Основная проблема заключается в том, что нет надежных Java-криминалистических файловых систем с открытым исходным кодом, и нет никаких привязок JNI для SleuthKit. Одним из наших обходных решений является извлечение всех метаданных из образа диска с использованием флекса в XML-блок, а затем обработка XML в java.
Чтобы скачать эти инструменты, проверить http://afflib.org/
Работы с двоичным разборе и произвольной строкой разбором действительно труден в Java и совершенно ненужный. Отсутствие целых чисел без знака в Java также вызывает раздражение.
Мы используем python для всего, что является его тривиальным кодом (особенно по сравнению с объемностью java), struct.pack/unpack делает синтаксический анализ двоичных данных простым, встроенными структурами данных/объектами и тем фактом, что они являются библиотеки для почти все, что нужно
Я действительно не мог бы рекомендовать Java для судебно-медицинской экспертизы обработки
редактировать:
также ряд судебно-медицинской экспертизы инструментов либо уже в питона или иметь питона привязок (летучести, слюткиты и т. д.)
Спасибо за комментарии. Мне интересно, почему вы не могли создать struct.pack и struct.unpack в Java ... – vy32
Комплект Sleuth теперь имеет привязки JNI. Они официально не выпущены, но вы можете найти их в филиале github. База данных SQLite заполняется кодом C++ с метаданными файловой системы, а затем код Java запрашивает базу данных и создает соответствующие объекты Java. JNI используется для получения содержимого файла на стороне Java. Autopsy 3 (это приложение Java NetBeans RCP) использует привязки.
- 1. цифровая пирамида в java.
- 2. Цифровая подпись в java
- 3. Цифровая длина (длина) в Java
- 4. Java Swing Буквенно-цифровая клавиатура
- 5. Java EE среда разработки?
- 6. Практическая Java - среда разработки
- 7. Java среда Exec
- 8. Цифровая подпись для веб-служб Java
- 9. Как среда выполнения Java использует встроенную память?
- 10. Как определить, установлена ли среда выполнения Java
- 11. Java среда pg_dump с журналом
- 12. chroot-подобная среда в Java?
- 13. среда разработки на основе Java
- 14. Java Цифровая подпись отличается от C#
- 15. Java EE 5 Среда разработки
- 16. цифровая подпись
- 17. Цифровая клавиатура
- 18. Предпочитаемая среда разработки Windows Java
- 19. Java среда Exec PSQL каротаж
- 20. Java-процесс: что такое среда?
- 21. Лучшая/простейшая среда для java
- 22. Цифровая ошибка
- 23. Цифровая подпись форм XFA
- 24. Lisp как мета-среда
- 25. Цифровая функция
- 26. Как цифровая подпись PDF (или другого документа) в Java?
- 27. Как обеспечивается цифровая подпись JWT?
- 28. Цифровая интеграция - как ее распараллелить?
- 29. Интеллектуальная среда IDE WebGL/среда/парсер
- 30. Цифровая подпись с открытым ключом
Вы имеете в виду делать экспертизу на Java-приложениях или использовать приложения Java для проведения экспертизы других данных? – leonm
Привет, leonm. Я полагаю, что я действительно использую java для проведения экспертизы по другим данным. Подобно набору или набору сыщика.Я знаю, насколько это известно в C/C++/Perl, и я пытаюсь посмотреть на возможность выполнения чего-то подобного на Java и пытаюсь выяснить ограничения или преимущества ... Пример) Возьмите образ диска (возможно бит для бит), а затем проанализируйте приложение, разработанное и запрограммированное на Java. Надеюсь, что это clarifys. – Nick
Основываясь на вашем пояснении, в целом вы, как правило, обладаете большей гибкостью при сходе на «голый металл» с такими языками, как C, но кто знает, кто-то может написать подобные вещи на Java. – phoebus