Не по машинному коду: одинаковый текст, собранный разными версиями среды, даёт разный результат, а разный текст может дать похожий. Сравнивают то, что сборка сохраняет в узнаваемом виде.
Главный объект — экранные формы: совпадение расположения элементов, их имён и свойств у двух независимо написанных программ практически исключено. К нему добавляют перечень классов и модулей, текстовые строки и сообщения, а также структуру базы вместе с текстами хранимых процедур — по ней совпадения видны нагляднее всего. Из сравнения сначала вычитают общее основание: код сторонних компонентов, заготовки, которые среда создаёт сама, стандартные конструкции языка.
Направление заимствования само совпадение не показывает: кто у кого, устанавливают по датам и истории изменений, а вывод о нарушении прав делает суд. Развёрнуто задача разобрана на странице экспертизы плагиата исходного кода.