• XSS.stack #1 – первый литературный журнал от юзеров форума

extern asm function

goingHeavenTogether

HDD-drive
Пользователь
Регистрация
28.11.2024
Сообщения
41
Реакции
16
как в ##ной Visual Studio добавить асм функцию. У меня короче листинг с асм кодом написан. Он даже компилируется. Но когда я в условном main.c объявляю exrern NTSTATUS FunctionAAAA() { ... } то пишет ошибку что для функции мол не найдено определение. В данном конкретном случае надо именно в вижле все делать. Вопрос как эту проблему решить.
1761924925432.png
 
Ни как ,в vs просто так не вставишь код асм ,надо шаманить с линкором и т.д ... Как вариант функцию на асм перекодировать в массив байтов. Дальше всё банально ( типа работаешь как с шелкодом)

П С в ЛС скину кошелёк,в то чай пью без сахара и без заварки .
 
Ни как ,в vs просто так не вставишь код асм ,надо шаманить с линкором и т.д ... Как вариант функцию на асм перекодировать в массив байтов. Дальше всё банально ( типа работаешь как с шелкодом)

П С в ЛС скину кошелёк,в то чай пью без сахара и без заварки .
я тоже понял что кал этот вс. быстрее оказалось вручную все скомпилировать и слинковать в терминале
 
я тоже понял что кал этот вс. быстрее оказалось вручную все скомпилировать и слинковать в терминале
ты просто не умеешь ее готовить. Студия одна из лучших IDE. А по поводу асма - ассемблерные вставки чем не решение? Ну и не видя кода сложно что-то более конкретное сказать.
P.S. - переведи студию на английский. Тем более, если собираешься писать каку-всяку.
 
как в ##ной Visual Studio добавить асм функцию. У меня короче листинг с асм кодом написан. Он даже компилируется. Но когда я в условном main.c объявляю exrern NTSTATUS FunctionAAAA() { ... } то пишет ошибку что для функции мол не найдено определение. В данном конкретном случае надо именно в вижле все делать. Вопрос как эту проблему решить. Посмотреть вложение 111066
там где то в настройках надо MASM включить в проекте, загугли на эту тему и вопрос решится
 
как в ##ной Visual Studio добавить асм функцию. У меня короче листинг с асм кодом написан. Он даже компилируется. Но когда я в условном main.c объявляю exrern NTSTATUS FunctionAAAA() { ... } то пишет ошибку что для функции мол не найдено определение. В данном конкретном случае надо именно в вижле все делать. Вопрос как эту проблему решить.
Не еби мозг, через консольку делай все
Если плюсы а не цэ, то нужно дописать extern "С"

А по поводу асма - ассемблерные вставки чем не решение?
x64 не поддерживается

Студия одна из лучших IDE
Тяжелая, не комфортная в целом и не особо нужная
 
x64 не поддерживается
согласен.
Тяжелая, не комфортная в целом и не особо нужная
возможно, но тем не менее, когда у тебя двадцатилетний проект, который разрабатывают одновременно несколько команд - тут без вариантов. Особенно если там и шарп, и плюсы. Вывозит. Да и с потреблением памяти у нее сильно лучше, чем у тех же JetBrains и CLion в частности. Да, по поводу интерфейса согласен - он не модно-современный. Но я работал и в 2005 студии и в 2022. Так вот - по интерфейсу - отличия минимальные. А вообще, самая крутая у них была 2010 студия. Легкая и удобная. С 2012 студии они всё сломали. Точнее испортили.
Вообще сам давно уже пользуюсь neovium+clang. Статью что ли написать? так на хабре подобного дерьма полно
 
согласен.

возможно, но тем не менее, когда у тебя двадцатилетний проект, который разрабатывают одновременно несколько команд - тут без вариантов. Особенно если там и шарп, и плюсы. Вывозит. Да и с потреблением памяти у нее сильно лучше, чем у тех же JetBrains и CLion в частности. Да, по поводу интерфейса согласен - он не модно-современный. Но я работал и в 2005 студии и в 2022. Так вот - по интерфейсу - отличия минимальные. А вообще, самая крутая у них была 2010 студия. Легкая и удобная. С 2012 студии они всё сломали. Точнее испортили.
Вообще сам давно уже пользуюсь neovium+clang. Статью что ли написать? так на хабре подобного дерьма полно
Шарп - да, там иных вариантов то и нет
Для плюсов есть CMake + vs code, гораздо более легкая IDE
 
Шарп - да, там иных вариантов то и нет
Для плюсов есть CMake + vs code, гораздо более легкая IDE
есть то оно есть. Но, еще раз, если у тебя проект с тех времен, когда альтернатив студии и не было особо и вообще огромные проект - по типу автокада, например - тут без вариантов.
 
есть то оно есть. Но, еще раз, если у тебя проект с тех времен, когда альтернатив студии и не было особо и вообще огромные проект - по типу автокада, например - тут без вариантов.
В таком случае да, с легаси проектами не иначе
 
Собирай свой асм код в *.lib, хоть МАСМ'ом, хоть ФАСМ'ом, потом вот так:
C:
#pragma comment (lib, "moyahueta.lib")
extern "C" NTSTATUS Suka();
Это по памяти, могу ошибиться в запятой, но смысл в общем то такой и есть.
Моя IDE это блокнот++ и батники. Ибатники 🤣
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх