Для решения этой задачи вам нужно будет использовать рефлексию. Рефлексия - это способность программы исследовать и модифицировать свою структуру и поведение во время выполнения.
Вот пример того, как это можно реализовать:
using System;
using System.Reflection;
namespace ReflectExample
{
class Program
{
static void Main(string[] args)
{
// Путь к файлу exe.
string filePath = @"C:\path\to\file1.exe";
// Строка, которую нужно найти в коде файла.
const string searchString = "нужная вам строчка";
if (File.Exists(filePath))
{
try
{
Assembly assembly = Assembly.LoadFrom(filePath);
Type type = assembly.GetTypes()[0]; // Предполагаем, что класс всего один.
MethodInfo methodInfo = type.GetMethod("Main");
object[] parameters = methodInfo.GetParameters();
foreach (ParameterInfo parameter in parameters)
{
if (
parameter.Name == searchString)
{
Проверяет исходник файл1.ехе и ЕСЛИ в этом исходнике есть нужная мне строчка1, ТО выполняется действие