Сейчас на форуме: tyns777, cppasm, dutyfree, asfa (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Странное поведение VS при отключении CRT.
Посл.ответ Сообщение

Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 14 апреля 2017 22:26
· Личное сообщение · #1

Отключаем в настройках проекта использование CRT. Затем пытаемся вызвать strcmp, Естественно это не правильно, поскольку надо использовать lstrcmpA из WINAPI. Если теперь запустить сборку в Debug, то все логично(выскакивает ошибка strcmp не определена). Однако при сборке Release все работает без ошибок! Все перепроверил флаги выставлены идентично для обеих сборок, CRT нет однако Release ее использует? Подскажите в чем прикол, специалисты.




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 14 апреля 2017 22:37
· Личное сообщение · #2

Программа не может использовать то, чего нет. Посмотрите через ollydbg, что там вызывается.

Добавлено спустя 2 минуты
Там что-то связанное с инлайном. Встраивается код прямо в место вызова

http://www.drdobbs.com/avoiding-the-visual-c-runtime-library/184416623

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 14 апреля 2017 23:27 · Поправил: rmn
· Личное сообщение · #3

Crawler пишет:
Там что-то связанное с инлайном. Встраивается код прямо в место вызова

Не просто встраивается код, а используются интринсики вместо библиотечных функций (для многих простых функций типа strlen, strcpy, memcmp и т.п.)

zombi-vadim
Тебе нужно явно указать компилятору использовать интринсик даже в debug-сборке директивой:
Code:
  1. #pragma intrinsic (strcmp)




Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 15 апреля 2017 00:10
· Личное сообщение · #4

rmnrmn пишет:
Не просто встраивается код, а используются интринсики вместо библиотечных функций (для многих простых функций типа strlen, strcpy, memcmp и т.п.)
Вы правы спасибо! ОпятьVS могучая и умная на шаг впереди меня! А есть ли какие то ограничительные флаги? Допустим мне вообще не нужно использовать strcmp потому как у меня есть свой аналог..




Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 15 апреля 2017 00:23
· Личное сообщение · #5

zombi-vadim пишет:
Подскажите в чем прикол

подскажи, в чём прикол отрезать проекту ноги и заставлять его танцевать?



Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 15 апреля 2017 00:26 · Поправил: zombi-vadim
· Личное сообщение · #6

-=AkaBOSS=-Простая любознательность!Я не пишу какой то проект, я пытаюсь понять что и с чем связанно.



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 15 апреля 2017 01:36
· Личное сообщение · #7

zombi-vadim пишет:
Допустим мне вообще не нужно использовать strcmp потому как у меня есть свой аналог

Тогда:
Code:
  1. #pragma function (strcmp)

И свою функцию аналогично назвать.



Ранг: 80.6 (постоянный), 194thx
Активность: 0.10.04
Статус: Участник

Создано: 15 апреля 2017 14:00 · Поправил: v00doo
· Личное сообщение · #8

-=AkaBOSS=-, сам же знаешь, что crt не отключают просто так, ибо функциональность в разы упадет, если не больше, тем более не наверчивают костыли поверх, цель явно сделать что-то "грязное", чтобы код был мал и не палился паттернами или типо того.

| Сообщение посчитали полезным: -=AkaBOSS=-

Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 15 апреля 2017 16:51
· Личное сообщение · #9

Это было понятно еще по предыдущим тредам ТС.Он юный одепт малварства и говнопроггерства.

-----
TEST YOUR MIGHT




Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 15 апреля 2017 21:54 · Поправил: zombi-vadim
· Личное сообщение · #10

unknownproject пишет:
юный одепт малварства и говнопроггерства.
Интересно, а вас забанят на недельку, за не в чем необоснованные оскорбления?



Ранг: 27.8 (посетитель), 13thx
Активность: 0.030
Статус: Участник

Создано: 15 апреля 2017 22:01 · Поправил: microxa
· Личное сообщение · #11

zombi-vadim тут тематика больше даже крякерская.. так например этим доставал intel c++ пихая свои убер оптимизированые __ftol2_sse2 /atan_sse2 и вот memcpy туда куда его не просят.. Так что пришлось дорабатывать mcpcom.exe v8.0, занулять строки.. и чего то еще, менять по названиям .text1/.data1 поскольку обжи с него были негодные посли компиляции ml.exe и обработаные OMF утилитой( а углубляцо в изучение особо магических прагм, както обломно.) Так что проще обнулить в бинаре это дело.

-=AkaBOSS=-
>>подскажи, в чём прикол отрезать проекту ноги и заставлять его танцевать?
так с такими нагло приделаными яйцами как раз и не попляшешь же же..

не говоря про богомерзкие печати баала в этом rich (вот с какой целью там оно делает а? )



Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 15 апреля 2017 22:05 · Поправил: zombi-vadim
· Личное сообщение · #12

v00doo пишет:
цель явно сделать что-то "грязное", чтобы код был мал и не палился паттернами или типо того.
Я не пойму у всех паранойя какая то, что ли, если человек что то спрашивает, то обязательно он гнусный писатель вирусов. В результате ответов на мой пост, я узнал про интринсики, узнал про инлайн, узнал что параметры С++ - оптимизация (минимальный размер или скорость), как раз и служат для создания интринсиков и как работают эти флаги. Ну теперь я получил запретные знания и пойду напишу гнусную малварь..
P.S У меня создается стойкое ощущение, что на каждом форуме сидит пяток другой агентов мелкомягких, которые начинают тролить того, кто по их мнению лезет не в те сферы знаний..

| Сообщение посчитали полезным: microxa

Ранг: 80.6 (постоянный), 194thx
Активность: 0.10.04
Статус: Участник

Создано: 16 апреля 2017 00:10 · Поправил: v00doo
· Личное сообщение · #13

zombi-vadim, я не один год юзаю студию друг мой, так же как и пишу код, и прежде всего я основываюсь на своих знаниях.
И методы, обсуждаемые сейчас, в 75% используются там, где я написал, и под "грязные вещи" подходят не только вирусы и малварь, про которую я не писал даже, это так же инлайны исполнительного кода, хуки системных функций, прокси и т.п..
zombi-vadim пишет:
узнал про инлайн, узнал что параметры С++ - оптимизация

Все это итак узнается в процессе написания любого кода, рано или поздно приходит момент\задача в которой нужно будет заглянуть под капот, но большинство сюда приходит ничего не прочитав, и конечно же хочет на ложечке все скушать, я долгое время наблюдал за разными ветками подобных вопросов.

| Сообщение посчитали полезным: sefkrd

Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 16 апреля 2017 00:25 · Поправил: zombi-vadim
· Личное сообщение · #14

v00doo пишет:
, но большинство сюда приходит ничего не прочитав, и конечно же хочет на ложечке все скушать
Если вы не хотите помогать, то не помогайте, просто молчите, а не навешивайте ярлыки, форум для того и создан, что бы люди делились знаниями, а раз вы такой умный и ни с кем делиться не хотите, то что вы здесь делаете?
v00doo пишет:
долгое время наблюдал за разными ветками подобных вопросов
Для чего, я вот не наблюдаю и многие я думаю тоже.

Добавлено спустя 17 минут
Вообщем прошу модератора закрыть тему, потому что смысл утерян.




Ранг: 77.2 (постоянный), 74thx
Активность: 0.190.15
Статус: Участник

Создано: 16 апреля 2017 01:14
· Личное сообщение · #15

Вам правильно ответили.. Написано на форуме много, читайте, а главное анализируйте.. С такими вопросами, которые не относятся к "к гнусному написанию вирусов, etc" вам лучше обратиться на киберфорум, стаковер, etc..
А если постоянные правы(угадали) посыл вопроса - то вы точно не по адресу..



Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 16 апреля 2017 01:22
· Личное сообщение · #16

sefkrdПрошу модератора закрыть тему, потому что смысл утерян




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 16 апреля 2017 01:24
· Личное сообщение · #17

Автор сам может закрыть свою тему, кнопка "Закрыть тему" находится внизу страницы, под кнопкой "Отправить сообщение".

| Сообщение посчитали полезным: zombi-vadim
 eXeL@B —› Вопросы новичков —› Странное поведение VS при отключении CRT.
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати