HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 22.10.2009, 18:08
StriplOol
Новичок
Регистрация: 14.10.2009
Сообщений: 8
С нами: 8723506

Репутация: 0
По умолчанию

такой вопрос уважаемые:
каким образом осуществляется изменение приложения (ехе файла)?
Опишу в кратце что мне надо сделать:
сделать лоудер который бы изменял ехе файл ( а именно пакеты с которыми он будет работать, но не суть)
 
Ответить с цитированием

  #2  
Старый 22.10.2009, 19:02
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

в подфорум Реверсинг загляни. Делается все обычно в два этапа - сначала руками с помощью ollydbg или другого отладчика получаешь нужный результат, потом кодируешь изменение нужных байт в программе своей через WriteProcessMemory или инжект длл. Ну и все.
 
Ответить с цитированием

  #3  
Старый 22.10.2009, 19:07
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
С нами: 9087590

Репутация: 70
По умолчанию

Подскажите что я не так делаю?


Код:
int WriteToAutoRun(char * path, char * name)
{
	HKEY hKey;
	long iRet;
	long iRetOpen;
	
	iRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE,(LPCWSTR)"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey);

	if ( iRet == 0)
	{
		long set = RegSetValueEx(hKey,(LPCWSTR)name,NULL,REG_SZ,(BYTE *)path ,sizeof(path)+1);
		printf(" - %d",set);
	}
	RegCloseKey( hKey );
	return 0;
}
Ошибка = 2...
 
Ответить с цитированием

  #4  
Старый 22.10.2009, 19:14
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

error C2664: 'RegOpenKeyExA' : cannot convert parameter 2 from 'LPCWSTR' to 'LPCSTR'

как вообще удалось заставить код выполниться, если он банально не комплиируется? =)
 
Ответить с цитированием

  #5  
Старый 22.10.2009, 20:31
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
С нами: 9087590

Репутация: 70
По умолчанию

Цитата:
Сообщение от Ra$cal  
error C2664: 'RegOpenKeyExA' : cannot convert parameter 2 from 'LPCWSTR' to 'LPCSTR'

как вообще удалось заставить код выполниться, если он банально не комплиируется? =)
error C2664: 'RegSetValueExW' : cannot convert parameter 2 from 'LPCSTR' to 'LPCWSTR'
=), Вот почему компилится. ВОт тогда в чем ошибка?
 
Ответить с цитированием

  #6  
Старый 22.10.2009, 21:06
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

Цитата:
Сообщение от Ra$cal  
error C2664: 'RegOpenKeyExA' : cannot convert parameter 2 from 'LPCWSTR' to 'LPCSTR'

как вообще удалось заставить код выполниться, если он банально не комплиируется? =)
WinReg.h:
Код:
#ifdef UNICODE
#define RegOpenKeyEx  RegOpenKeyExW
#else
#define RegOpenKeyEx  RegOpenKeyExA
#endif // !UNICODE
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием

  #7  
Старый 22.10.2009, 20:59
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

sizeof(path)+1

как минимум это не правильно. это применимо только для статических массивов.
 
Ответить с цитированием

  #8  
Старый 22.10.2009, 21:00
[n]-c0der
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
С нами: 9087590

Репутация: 70
По умолчанию

Цитата:
Сообщение от Ra$cal  
sizeof(path)+1

как минимум это не правильно. это применимо только для статических массивов.
Уже понял))), спс.
ВОт рабочий вариант:

int WriteToAutoRun(char * path, char * name)
{
HKEY hKey;
long iRet;
long iRetOpen;

iRet = RegOpenKeyExA(HKEY_LOCAL_MACHINE,(LPCSTR)"SOFTWARE \\Microsoft\\Windows\\CurrentVersion\\Run\\", 0, KEY_SET_VALUE, &hKey);
printf("%d",iRet);
if ( iRet == 0)
{
long set = RegSetValueExA(hKey,(LPCSTR)name,NULL,REG_SZ,(BYTE *)path ,strlen(path)+1);
printf(" - %d",sizeof(path));
}
RegCloseKey( hKey );
return 0;
}
 
Ответить с цитированием

  #9  
Старый 22.10.2009, 21:42
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

просто не упомянуто что студия видимо 2008, а я в 2003 работаю =)
 
Ответить с цитированием

  #10  
Старый 23.10.2009, 10:08
ZEXEL
Постоянный
Регистрация: 07.01.2008
Сообщений: 591
С нами: 9653789

Репутация: 549


По умолчанию

7zip API для C++ ?
Кто подскажет ?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.