Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240

Инжектор dll, не выполняется вызов MessageBox

19.02.2016, 15:25. Показов 3644. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
имеется код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <windows.h>
#include <TlHelp32.h>
#include <iostream>
using namespace std;
DWORD func(const char *ProcessName){
    DWORD ProcessId=0;
    PROCESSENTRY32 process;
    HANDLE Snapsot;
    Snapsot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    process.dwSize = sizeof(PROCESSENTRY32);
    if(Process32First(Snapsot,&process)){
        while(Process32Next(Snapsot,&process)){
            if(!strcmp(process.szExeFile,ProcessName)){
                ProcessId=process.th32ProcessID;
                break;
            }
        }
    }
    CloseHandle(Snapsot);
    return ProcessId;
}
bool inject(DWORD ProcessId,const char *dllName){
    HANDLE process;
    LPVOID a;
    LPVOID b;
    DWORD c;
    process=OpenProcess(PROCESS_ALL_ACCESS,false,ProcessId);
    if(process==NULL)return false;
    a=(LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"),"LoadLibraryA");
    if(a=NULL)return false;
    b=(LPVOID)VirtualAllocEx(process,NULL,strlen(dllName),MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE);
    WriteProcessMemory(process,b,dllName,strlen(dllName),NULL);
    CreateRemoteThread(process,NULL,c,(LPTHREAD_START_ROUTINE)a,b,c,NULL);
    CloseHandle(process);
    return true;
}
int main(){
    cout<<inject(func("CrackMe.exe"),"dll.dll");
    system("pause");
}
и собственно dll:
C++
1
2
3
4
5
6
7
8
9
10
11
#include<windows.h>
#define DllExport extern"C" __declspec(dllexport)
DWORD APIENTRY DllMain(HMODULE hinstDLL,DWORD fdwReason,LPVOID lpvReserved){
    switch (fdwReason){
        case DLL_PROCESS_ATTACH:{
            MessageBox(NULL, "Inject!", "Inject!", MB_ICONERROR);
            break;
            }
    }
    return true;
}
программа выводит true(функция inject),но в CrackMe.exe MessageBox не выполняется.
Где ошибка?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2016, 15:25
Ответы с готовыми решениями:

Перехват MessageBox в dll
Недавно нашёл исходник dll перехватывающей ф-цию MessageBoxW: #include &lt;Windows.h&gt; #include &lt;string&gt; #define SIZE 6 typedef...

Инжектор dll
Всем привет, помогите пожалуйста с инжектором. Суть такая инжектор инжектит dll в игру, но сама dll не работает мне нужно чтобы dll...

Инжектор DLL
Напишите пожалуйста простой инжектор DLL для Windows Form(Проект оконное приложение) Наподобие вот...

31
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
21.02.2016, 14:55  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от jupman Посмотреть сообщение
Ни и вы практически так ничего и не поправили в коде, о чем вам здесь говорили
это тестовая прога)

Добавлено через 17 минут
прога не вылетает,но messagebox не срабатывает
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
21.02.2016, 15:08
А dll в папке с Crackme01.exe лежит?
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
21.02.2016, 15:10  [ТС]
нет,скопировал dll,но результат тот же
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
21.02.2016, 15:21
Amir_05_05, ну тогда не знаю. Я испытал ваш инжект (с исправлением a==NULL), у меня все сработало. Только dll свою использовал. В общем отладчик вам в помощь.
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
21.02.2016, 16:08  [ТС]
а можете свою dll кинуть?

Добавлено через 1 минуту
Цитата Сообщение от jupman Посмотреть сообщение
В общем отладчик вам в помощь.
ollydbg-ом можно?
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
21.02.2016, 16:24
Прикрепил dll
Вложения
Тип файла: zip dll.zip (500 байт, 15 просмотров)
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
21.02.2016, 16:35
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
ollydbg-ом можно?
Можно, но пройдитесь сначала встроенным в студию отладчиком (по вашему коду). Если все норм, то делаете аттач к Crackme01.exe и ставте бряк на LoadLibraryA. Затем запускаете инжект.
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
21.02.2016, 17:01  [ТС]
я работаю не в studio

Добавлено через 5 минут
попробовал с вашей dll:появляется messagebox с заголовком "ошибка" и текстом "DLL PROCESS ATTACH"
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
21.02.2016, 17:16
Amir_05_05, да да. Так и должно быть.

Добавлено через 50 секунд
Так что разбирайтесь, что-то с вашей dll'кой.
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
21.02.2016, 17:39  [ТС]
ок,спс

Добавлено через 1 минуту
а можете скинуть код вашей dll?
0
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
22.02.2016, 14:59
Цитата Сообщение от Amir_05_05 Посмотреть сообщение
а можете скинуть код вашей dll?
Она не на c++, да и не имеет смысла. Там все тривиально, как у вас почти.
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 240
22.02.2016, 20:20  [ТС]
понятно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2016, 20:20

Как создать инжектор Dll в exe
Хочу сделать такой инжэктор: Помогите.... Скачайте, расмотрите, И помогите... Пожалуйста!!

При использовании самописного DLL-инжектора программа(не инжектор) вылетает
Хелп! Я решил написать dll инжекторЗачем? Ну... Я один из разработчиков игры в стиле &quot;Реалистичный симулятор хакера&quot;(Сейчас...

Не выполняется без MessageBox::Show()
Уже не в первый раз замечаю, что в некоторых случаях MessageBox &quot;заставляет&quot; работать код: вывожу видео с камеры в форму, если есть...

Вызов MessageBox в цикле
Всем привет! Вопрос конечно смешной... но как сделать чтоб при нажатии на ОК в messagebox появлялся другой messagebox потом 3-й, 4-й.... и...

Вызов messagebox в функции
Добрый день, такой вопрос , есть функция которая выполняет ряд задач а в конце должна выдать messagebox с результатом. Только когда мы...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru