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
Смотрите на IMAGE_LOAD_FUNCTION
API. Это возвратит указатель на a LOADED_IMAGE
структура, которую можно использовать для доступа к различным разделам файла PE.
Можно найти некоторые статьи, которые описывают, как структуры положены здесь, и здесь. Можно загрузить исходный код для статей здесь.
Я думаю, что это должно дать Вам все, в чем Вы нуждаетесь.
Обновление:
Я просто загрузил исходный код для статьи. Если Вы открываетесь EXEDUMP.CPP
и смотрите на DumpImportsSection
это должно иметь код, в котором Вы нуждаетесь.
Это не возможно определить. По крайней мере, не без большой работы. Любой двоичный файл может назвать LoadLibrary для загрузки DLL. Даже если бы необходимо было просканировать код для всех вызовов к LoadLibrary, то необходимо было бы определить, какие строки привыкли к идентификатору библиотека. Разыскивание, куда в динамической памяти строка была помещена, будет более трудным, чем Вы хотите заняться.
Короче говоря необходимо просканировать раздел импорта файла PE для каждого DLL, используемого исполняемым файлом. Затем рекурсивно найдите и просканируйте каждый dll, пока Вы не нашли все зависимости.
Конечно, приложения могут использовать семейство LoadLibrary функций для необходимой или дополнительной функциональности. Это не будет обнаружено с этим методом.
Как насчет библиотеки DLL, которую можно вызвать для вычисления всей этой информации и передачи ответа в виде массива CStrings?
Библиотека DLL в формате PE. может сделать это за вас. Поставляется с исходным кодом, без ограничений GPL. PE File Explorer - это приложение с графическим пользовательским интерфейсом, которое использует DLL, также поставляемую с исходным кодом (без GPL).