Двумя путями, и оба дают проверяемый результат. Если исходный текст есть, состав компонентов виден прямо в файле проекта и в списке используемых модулей. Если текста нет, компоненты опознают по самой программе: многие известные наборы оставляют в исполняемом файле узнаваемые имена классов и строки, а их формы попадают в ресурсы вместе с остальными.
Метод не исчерпывающий, и эксперт разделяет опознанное надёжно и предположительно. Часть компонентов следов не оставляет, поэтому вывод строят как «использованы такие-то», а не «использованы только такие-то».
Дальше начинается вопрос условий: у каждого набора свой лицензионный документ, и встречаются условия, привязанные к числу разработчиков. Эксперт устанавливает, какой набор какой версии подключён и каким документом сопровождается, и приводит его текст; толкование условий — за судом.