Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.57
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
#1

Извлечение .exe из ресурса - C++

31.12.2012, 00:45. Просмотров 1880. Ответов 48
Метки нет (Все метки)

Помогите извлеч екзешку на компютер пожалуста.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2012, 00:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Извлечение .exe из ресурса (C++):

Создание ресурса - C++
Вопрос такой. Нужно создать какой-то ресурс, который будет хранить в себе текст распиханный по переменным, либо по строчкам. При...

Копирование изображения с Интернет-ресурса - C++
В программировании я новичок, поэтому задачу могу изложить не по-человечески) Надеюсь поимете. Задача: Вобщем...

Непонятки с Пингом модема и ресурса - C++
Всем привет. написал программу которая проверяет пинг и написав она полностью не работоспособна) т.к. пинг не совсем мне понятно...

html-страница с картинками в качестве ресурса приложения. - C++
Доброй ночи всем! Делаю прогу на VC++ (среда VS.NET 2003). Основа-диалоговое окно на классе CHtmlDialog.Хотела отображать в нем...

Извлечение EXE Файла из ресурса .dres - Delphi
Решил написать простенький, свой первый проект - но столкнулся с проблемой (Не извлекает запакованный Файл) 1. Я загрузил EXE файл в...

Извлечение строк из ресурса - Visual Basic
Не могу понять как вытащить из файла ресурсов строку из таблицы frmAbout.Caption = LoadResString(101) Вытаскивает "О программе". А как...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
31.12.2012, 02:40 #2
можно подробнее, откуда её извлечь и зачем?
0
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
31.12.2012, 13:31  [ТС] #3
У меня одна програма вшыта в другую через ресурсы. И мне нужно ее скопировать на диск с типа установки
0
nonedark2008
909 / 648 / 134
Регистрация: 28.07.2012
Сообщений: 1,760
31.12.2012, 14:40 #4
Я бы с этим не мучался. Ведь хрен знает как она там зашита. Но есть один подход, которым меня часто спасал в такой ситуации. Просто, чтобы запустить этот exe его нужно сначало куда-то извлечь. Обычно это пихается в temp. Но пожно посмотреть путь к файлу через диспетчер задач и оттуда его тырнуть.
0
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
31.12.2012, 20:21  [ТС] #5
Ето я вшыл одну прогу в другую и мне нужно ту прогу которая в етой проге закинуть на диск С
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.01.2013, 00:43 #6
WinApi в помощь
0
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
01.01.2013, 01:00  [ТС] #7
та я то вкурсе а какие функции то брать?
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.01.2013, 14:22 #8
Вот проект смотри - запускаешь Project1 и на диск "С" извлекается программа с именем - "1" .
0
Вложения
Тип файла: rar Project1.rar (22.6 Кб, 29 просмотров)
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
01.01.2013, 16:14  [ТС] #9
А в FindResource первым оператором что давать? Я пробовал NULL неработает?
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.01.2013, 16:23 #10
Вот это надо передавать - HINSTANCE hInstance – дескриптор экземпляра приложения. Этот дескриптор содержит адрес начала кода программы в ее адресном пространстве. Дескриптор hInstance чаще всего требуется функциям, работающим с ресурсами программы.
1
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
01.01.2013, 16:39  [ТС] #11
а что передать? У меня консольное приложениебез кнопок?
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.01.2013, 16:56 #12
Цитата Сообщение от slavikg Посмотреть сообщение
а что передать? У меня консольное приложениебез кнопок?
Найди свой дескриптор приложение HWND по нему найди HINSTANCE и его передавай
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.01.2013, 17:11 #13
Вот сделал для вас консольное приложение с извлечением программы на диск С
0
Вложения
Тип файла: rar Project1.rar (121.6 Кб, 15 просмотров)
slavikg
0 / 0 / 0
Регистрация: 03.04.2012
Сообщений: 71
01.01.2013, 17:38  [ТС] #14
У меня еррор можете посмотреть что не так? Может неправильно .exe добавляю или не тот проект создал?
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// setup.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "setup.h"
#include<Windows.h>
#include <windowsx.h>
#include <cstdlib>
 
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
 
 
// Единственный объект приложения
 
CWinApp theApp;
 
using namespace std;
 
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    ShowWindow(GetConsoleWindow(),SW_HIDE);
    int nRetCode = 0;
 
    HMODULE hModule = ::GetModuleHandle(NULL);
 
    if (hModule != NULL)
    {
        // инициализировать MFC, а также печать и сообщения об ошибках про сбое
        if (!AfxWinInit(hModule, NULL, ::GetCommandLine(), 0))
        {
            // TODO: измените код ошибки соответственно своим потребностям
            _tprintf(_T("Критическая ошибка: сбой при инициализации MFC\n"));
            nRetCode = 1;
        }
        else
        {
            // TODO: Вставьте сюда код для приложения.
        }
    }
    else
    {
        // TODO: Измените код ошибки соответственно своим потребностям
        _tprintf(_T("Критическая ошибка: неудачное завершение GetModuleHandle\n"));
        nRetCode = 1;
    }
 
 
    HKEY hkey1;//hkey2;
    //m_dwMaxFileSize = 16 * 1024;
    //LPCWSTR subkey;
    //unsigned char windir[100];
    //unsigned char szStr[10]={'"','C',':'};
    //szStr[0]='"'; szStr[1]='\0'; 
    //strcat((char*)windir,"C:\Windows\Starter.exe /minimized /regrun");
    //strcat((char*)windir,'\0');
    _TCHAR szTestString[] = _T("C:\\Windows\\Starter.exe /minimized /regrun");
    if(RegOpenKeyEx(HKEY_CURRENT_USER,TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"),0,KEY_ALL_ACCESS | KEY_WOW64_64KEY,&hkey1)== ERROR_SUCCESS)
        //RegSetValueEx(hkey1,L"Slavikg2",0,REG_SZ,(PBYTE)"C:\Windows\Starter.exe /minimized /regrun",200);//(PBYTE)
        RegSetValueEx(hkey1,L"Slavikg",0,REG_SZ,(BYTE*)szTestString,sizeof(szTestString)+1);
    RegCloseKey(hkey1);
    
    ///////////////////////////////////////////////////////////////////////
    //      Пробуєм вивести екзешку
    //HINSTANCE hInst=NULL;
    int Error = 0 ;
    
    HWND hwnd;
 
HINSTANCE hInst;
    
    hwnd = GetForegroundWindow();
    
   hInst = GetWindowInstance(hwnd);
    
 
HRSRC hResInfo = ::FindResource(hInst, MAKEINTRESOURCE(IDR_EXE3), RT_RCDATA);
                HGLOBAL hRes = ::LoadResource(hInst, hResInfo);
                LPVOID memRes = ::LockResource(hRes);
                DWORD sizeRes = ::SizeofResource(hInst, hResInfo);
 
                HANDLE hFile = ::CreateFile(TEXT("C:\\1.exe"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
                DWORD dwWritten = 0;
               Error = ::WriteFile(hFile, memRes, sizeRes, &dwWritten, NULL);
                ::CloseHandle(hFile);
    
    if(Error!=0){
                 cout<<"Ok\n";
                 
                 }
                 
else{
     
     cout<<"Error\n";
     
     }
     
     system("PAUSE");
 
 
    //////////////////////////////////////////////////////////////////////
    return nRetCode;
}
0
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
01.01.2013, 19:01 #15
что за ошибка , я же не телепат !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2013, 19:01
Привет! Вот еще темы с ответами:

Замена ресурса в *.EXE и т.д. - Delphi
Всем привет! Помогите решить такой вопрос, как заменить ресурс в скомпилированном приложении? Например есть ресурс типа Bitmap с...

Запуск файла exe из ресурса - C#
Привет, возможно запустить файл в формате .exe из ресурса или аналогичным способом, но не выгружая из программы? нахожу варианты только...

.NET 4.x Ошибки при запуске EXE из ресурса - C#
Имеется WinForms приложение (Test.exe) у которого в ресурсах &quot;WindowsFormsApplication1.exe&quot;. Ресурс помечен как &quot;Внедренный&quot;. Программа в...

Удаление ресурса из Агент Mail.Ru exe - Софт
Есть файл EXE Агента Mail.Ru, но при установке помимо агента ставиться ещё куча ненужных дополнений, возможно ли отредактировать файл EXE...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.01.2013, 19:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru