Где Инженерный анализ используется? [закрытый]

Я думаю, что это все еще актуально.

Вы можете использовать этот пакет NuGet: https://www.nuget.org/packages/Bitoxygen.Testing.Pane/

Вызвать собственный метод WriteLine из этой библиотеки. Он создает тестовую панель внутри окна вывода и всегда размещает сообщения (во время каждого тестового прогона независимо от флагов DEBUG и TRACE).

Чтобы сделать трассировку более легкой, я могу рекомендовать создать базовый класс:

[TestClass]
public abstract class BaseTest
{
    #region Properties
    public TestContext TestContext { get; set; }

    public string Class
    {
        get { return this.TestContext.FullyQualifiedTestClassName; }
    }
    public string Method
    {
        get { return this.TestContext.TestName; }
    }
    #endregion

    #region Methods
    protected virtual void Trace(string message)
    {
        System.Diagnostics.Trace.WriteLine(message);

        Output.Testing.Trace.WriteLine(message);
    }
    #endregion
}

[TestClass]
public class SomeTest : BaseTest
{
    [TestMethod]
    public void SomeTest1()
    {
        this.Trace(string.Format("Yeah: {0} and {1}", this.Class, this.Method));
    }
}

19
задан Jeff Atwood 15 February 2009 в 10:12
поделиться

8 ответов

Инженерный анализ является наиболее часто используемым для [1 111] форматы файлов дешифровки для улучшения совместимости. Например, много популярных коммерческих Приложений Windows не работают на Linux, который требует перепроектировать файлов, произведенных теми приложениями, так, чтобы они могли использоваться в Linux. Хорошим примером этого были бы различные форматы, поддерживаемые Калекой, OpenOffice, Inkscape, и т.д.

, Другое общее использование инженерного анализа протоколы дешифровки . Хорошие примеры включают Samba, поддержка DAAP во многих приложениях не-iTunes, кросс-платформенных клиентах IM как Гибридный язык , и т.д. Для инженерного анализа протокола, общие инструменты торговли включают Wireshark и libpcap.

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

, по моему скромному мнению, инженерный анализ является очень мощным и полезным навыком, чтобы иметь. Не говоря уже о, это обычно - забава и захватывающий. Как упомянутый hmemcpy, я не уверен, что использовал бы термин "инженерный анализ" на моем CV, только навыки/знание, связанные с ним.

18
ответ дан 30 November 2019 в 03:12
поделиться

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

2
ответ дан 30 November 2019 в 03:12
поделиться

Инженерный анализ обычно - что-то, что Вы делаете, потому что Вы имеете к, не потому что Вы хотите. Например, существуют юридические вопросы с простым инженерным анализом продукта! Но существуют необходимые случаи - куда (например), поставщик пошел и больше не существует или не contactable. Хорошим примером был бы редактор WMD, в которого Вы ввели свой вопрос. ТАКИМ ОБРАЗОМ, команда/сообщество должна была перепроектировать это из запутываемого источника для применения некоторых исправлений ошибок.

8
ответ дан 30 November 2019 в 03:12
поделиться

Одно из полей, по-моему, где инженерный анализ навыков мог бы быть полезным, является антивирусной промышленностью, например. Однако я не поместил бы "инженерный анализ" в свой CV, а скорее я запишу опыт в Ассемблере, с помощью разных дизассемблеров/отладчиков (таких как IDA, SoftIce или OllyDbg) и другие соответствующие навыки.

8
ответ дан 30 November 2019 в 03:12
поделиться

Работа со странными аппаратными средствами часто вынуждает Вас перепроектировать. Например, я однажды работал со старой картой приобретения сигнала, которая вела себя странно; включение красивой синусоидальной волны произвело данные, которым ужасно наносят вред. Оказалось, что любой байт был дополнительным и любым поразрядным дополнением до единицы two - или по крайней мере при интерпретации тот путь данные стали довольно красивыми. Конечно, это не было зарегистрировано нигде, и карта работала отлично при использовании с ее собственным программным обеспечением.

1
ответ дан 30 November 2019 в 03:12
поделиться

Я работал над инженерным анализом проектов, и они, конечно, не имели никакого отношения к взламыванию. У нас был исходный код для всех таких проектов (законно), но для одного из проектов никто на самом деле не знал то, что код сделал негласно, и как он взаимодействовал с другими системами. Та информация долго терялась. В другом проекте у нас были исходный код и некоторая документация, но документация не была актуальна, таким образом, мы должны были перепроектировать источник для обновления документации.

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

4
ответ дан 30 November 2019 в 03:12
поделиться

Очень распространено (по моему опыту), встретиться с более старым кодом, который имеет дефекты, стал устаревшим из-за изменяющихся требований или обоих. Часто имеет место, что существует несоответствующая документация, и исходный разработчик (разработчики) больше не доступен. Инженерный анализ того кода, чтобы понять, как это работает (и иногда принимать решение восстановления-или-замены) является важным навыком.

, Если у Вас есть источник, часто разумно сделать небольшую, тщательно запланированную, строго ограниченную по объему сумму очистки. (Я подсказываю вслух, что этому нельзя позволить стать обрушением грунта в течение ценного времени разработчика!)

также очень полезно смочь осуществить код в испытательном стенде, или проверить, что это делает то, что ожидалось или определить, зарегистрировать, изолировать и восстановить дефекты.

Выполнение так безопасно требует тщательной работы. Я настоятельно рекомендую книгу Michael Feathers, Работающую с Унаследованным кодом для его практического руководства в получении такого кода под тестом.

1
ответ дан 30 November 2019 в 03:12
поделиться

RCE является большим навыком для парней безопасности (исследование, эксплуатация, IDS, IPS, AV и т.д.), но также и оказывается, что у Вас есть понимание глубокого уровня и низкого уровня предмета.

Нахождение Вашим путем пути вокруг более легкого при работе со сторонними библиотеками также.

, Если Вы не работаете в промышленности безопасности, если Вы не хороши в ASM, не потрудились изучать это, обычно трудно учиться.

Книги

Взламывание искусства эксплуатации переговоры о предмете с точки зрения безопасности.

Также Вы могли бы хотеть прочитать книги о Ollydbg и IDA Pro

0
ответ дан 30 November 2019 в 03:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: