Как определить исполняемые файлы окон зависимости DLL программно?

    You can try this   

 @auth
     @isset($quote)
        @if($quote->userLike->count() > 0)
            @foreach($quote->userLike as $like)
                @if($like->pivot->user_id == $id) //passing user  id from controller here
                <li class="list-inline-item">
                    <form  method="POST" action="{{route('likequote')}}" class="likequote">
                        @csrf
                        <input type="hidden" class="form-control col-md-4" name="likequote" id="likequote" value='{{$quote->id}}'>
                        <button type="submit" class="btn btn-danger shadow-lg " id="savelike"><i class="fas fa-heart"></button></i>
                    </form>
                </li>
                @endif
            @endforeach 
        @else
        <li class="list-inline-item">
            <form  method="POST" action="{{route('likequote')}}" class="likequote">
                @csrf
                <input type="hidden" class="form-control col-md-4" name="likequote" id="likequote" value='{{$quote->id}}'>
                <button type="submit" class="btn btn-primary shadow-lg " id="savelike"><i class="fas fa-heart"></button></i>
            </form>
        </li>
        @endif  
     @endisset
    @endauth
12
задан Cœur 4 January 2019 в 04:12
поделиться

4 ответа

Смотрите на IMAGE_LOAD_FUNCTION API. Это возвратит указатель на a LOADED_IMAGE структура, которую можно использовать для доступа к различным разделам файла PE.

Можно найти некоторые статьи, которые описывают, как структуры положены здесь, и здесь. Можно загрузить исходный код для статей здесь.

Я думаю, что это должно дать Вам все, в чем Вы нуждаетесь.

Обновление:

Я просто загрузил исходный код для статьи. Если Вы открываетесь EXEDUMP.CPP и смотрите на DumpImportsSection это должно иметь код, в котором Вы нуждаетесь.

10
ответ дан 2 December 2019 в 05:56
поделиться

Это не возможно определить. По крайней мере, не без большой работы. Любой двоичный файл может назвать LoadLibrary для загрузки DLL. Даже если бы необходимо было просканировать код для всех вызовов к LoadLibrary, то необходимо было бы определить, какие строки привыкли к идентификатору библиотека. Разыскивание, куда в динамической памяти строка была помещена, будет более трудным, чем Вы хотите заняться.

7
ответ дан 2 December 2019 в 05:56
поделиться

Короче говоря необходимо просканировать раздел импорта файла PE для каждого DLL, используемого исполняемым файлом. Затем рекурсивно найдите и просканируйте каждый dll, пока Вы не нашли все зависимости.

Конечно, приложения могут использовать семейство LoadLibrary функций для необходимой или дополнительной функциональности. Это не будет обнаружено с этим методом.

1
ответ дан 2 December 2019 в 05:56
поделиться

Как насчет библиотеки DLL, которую можно вызвать для вычисления всей этой информации и передачи ответа в виде массива CStrings?

Библиотека DLL в формате PE. может сделать это за вас. Поставляется с исходным кодом, без ограничений GPL. PE File Explorer - это приложение с графическим пользовательским интерфейсом, которое использует DLL, также поставляемую с исходным кодом (без GPL).

0
ответ дан 2 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

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