Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 03.02.2018
Сообщений: 32

Модуль strcmp

19.02.2018, 21:48. Показов 1423. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
В каком модуле(название DLL) находиться функция strcmp?
В интеренете об этом информации не нашел, только лишь о том в header файле string.h.
Хочу осуществить перехват данной функции с подменой на свою, но уже какую неделю не удается это сделать.
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2018, 21:48
Ответы с готовыми решениями:

Перехват функции strcmp
Добрый день, подскажите, пожалуйста, как перехватить функцию strcmp? В каком модуле она находиться? Как получить адрес этой функции?

Strcmp не правильно сравнивает строки
strcmp не правильно сравнивает строки (текст из контрола Edit Сontrol с константой PASSWORD ) #include <Windows.h> #include...

Найти модуль скорости; модуль тангенциального ускорения; модуль нормального ускорения; модуль полного ускорения
1. Материальная точка движется по плоскости. Движение точки в векторном виде описывается уравнением r(t)=i * A * t^3 + j * B * t (r —...

8
Software Developer
 Аватар для fastb1t
315 / 229 / 113
Регистрация: 03.05.2017
Сообщений: 1,336
20.02.2018, 11:21
Цитата Сообщение от _Vine_ Посмотреть сообщение
Хочу осуществить перехват данной функции с подменой на свою
Для этого не обязательно знать где функция находится)
Цитата Сообщение от _Vine_ Посмотреть сообщение
В каком модуле(название DLL) находиться функция strcmp?
А это смешной вопрос) вы спрашиваете в разделе винапи где находится стандартная функция языка программирования)
Отвечу: она не находится в модуле)
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
20.02.2018, 12:50
а такое нельзя сделать? и не надо перехватывать
C++
1
2
3
4
5
6
7
bool mystrcmp(const char* str1, const char* str2)
{
    for(int i=0; str1==str2!=0; i++)
        if(str1==0) return true;
 
    return false;
}
или
C++
1
2
3
4
5
6
7
bool mystrcmp(const char* str1, const char* str2)
{
    for(int i=0; *(str1+i)==*(str2+i)!=0; i++)
        if(*(str1+i)==0) return 0;
 
    return *(str1+i)-*(str2+i);
}
или
C++
1
2
3
4
int compstr (const char* a, const char* b)
{
    return (*a == *b) ? ((*a || *b) ? compstr(a+1, b+1) : 0) : ((*a > *b) ? 1 : -1);
}
или
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int MyStrcmp(const char *s1, const char *s2)
{
    while (*s1 && *s2)
    {
        if (*s1 < *s2)
            return -1;
        else if (*s1 > *s2)
            return 1;
        s1++;
        s2++;
    }
    if (!*s1 && *s2)
        return -1;
    else if (*s1 && !*s2)
        return 1;
    else
        return 0;
}
0
Software Developer
 Аватар для fastb1t
315 / 229 / 113
Регистрация: 03.05.2017
Сообщений: 1,336
20.02.2018, 12:57
Цитата Сообщение от Antikl Посмотреть сообщение
а такое нельзя сделать? и не надо перехватывать
Antikl, мыслите шире) раз перехватывать то в чужой программе) ну или в своей в учебных целях) вот только функцию странную для этого избрали) возможно _Vine_ ищет, нет ли переполнения буфера??
0
0 / 0 / 0
Регистрация: 03.02.2018
Сообщений: 32
20.02.2018, 14:45  [ТС]
Мне нужно осуществлять перехват не в свой же программе, а перехватывать функцию strcmp из сторонней программы методом инжекта DLL с подменой.
Для того, что бы это сделать, нужно получить адрес функции, и далее уже сама подмена.
Проблема с получением адреса, так как нужно знать название DLL в котором функция находиться, kernel32.dll, msvcrt.dll, многие пробовал, но никак не получалось.
0
841 / 350 / 68
Регистрация: 20.11.2012
Сообщений: 824
20.02.2018, 16:08
_Vine_, посмотри таблицу импорта нужной программы. Делов то.
Вообще strcmp есть в модуле msvcrt (в моей версии ординал 0x4С3).
Однако статическую компоновку и другие библиотеки с реализацией функции никто не отменял.
0
0 / 0 / 0
Регистрация: 03.02.2018
Сообщений: 32
20.02.2018, 20:38  [ТС]
WhiteP, а если программа под протектором?
Таблица импорта там чутка побитая, вряд ли я оттуда что то достану..
0
139 / 139 / 53
Регистрация: 14.06.2016
Сообщений: 467
20.02.2018, 22:38
во первых, экспортируется из ntdll по имени.
во вторых, она может быть прилинкована статически.
в третьих, она может вообще не использоваться - сравнение строк может производиться и своими методами (как в stl, например).
0
841 / 350 / 68
Регистрация: 20.11.2012
Сообщений: 824
21.02.2018, 16:01
Цитата Сообщение от _Vine_ Посмотреть сообщение
а если программа под протектором?
Таблица импорта там чутка побитая, вряд ли я оттуда что то достану..
Смотря какой протектор. Смотря как собираешься инжектить DLL и что делать дальше (патчинг, detours, модификация IAT и т.д.). В PEB модули можно подглядеть, по сигнатуре функцию поискать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.02.2018, 16:01
Помогаю со студенческими работами здесь

strcmp
Хочу сравнить две строки функцией strcmp, получается какая-то лажа. Код: System::Void button1_Click(System::Object^ sender,...

Strcmp
Доброго времени суток! Возникла проблема: стоит задача создать массив структур (3 структуры) и набор функций. Пользователи телефонной сети....

STRCMP
Как работает функция strcmp? strncmp? while(L&lt;R) { m=(L+R)/2; ...

strcmp()
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; int main() { ...

strcmp
Не могу понять, как правильно прировнять два слова. КОгда компилирую и ввожу слово, програма самостаятельно закрываеться, точне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru