ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

01.07.2007, 22:09
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме: 1089794
Репутация:
134
|
|
Код:
strcpy(batfile,tempdir);
strcat(batfile,"\\");
strcat(batfile,"delself.bat");
strcpy(batlines,"@echo off\n:try\ndel ");
strcat(batlines,modulename);
strcat(batlines,"\nif exist ");
strcat(batlines,modulename);
strcat(batlines," goto try\n");
strcat(batlines,"del ");
strcat(batlines,batfile);
Вместо этого лучше wsprintf/sprintf сделать.
|
|
|

01.07.2007, 22:17
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме: 1941233
Репутация:
2726
|
|
> А как ты объяснишь работу Windows, когда в нее подгружено программ больше, чем это позволяет себе оперативная память?
Есть такое понятие, как динамическое распределение памяти
А как ты обьяснишь мне при чем тут динамическое распределение памяти, если дело в файле подкачки (сбросе части памяти на диск)?
Код:
char szPath[256] ; GetModuleFileName(NULL, szPath, sizeof(szPath)); SHFILEOPSTRUCT sh; sh.hwnd = GetSafeHwnd(); sh.wFunc = FO_DELETE; sh.pFrom =szPath; sh.pTo = NULL; sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT; sh.hNameMappings = 0; sh.lpszProgressTitle = NULL; SHFileOperation (&sh);
Вынесет наш .ехе и даже не поперхнётся.
SHFileOpertion() твоя из shell32.dll с задаными sh.wFunc = FO_DELETE равна, грубо говоря, нажатию delete в explorer'е. так что ни о каком самоу удалении речи идти не может.
А ещё лучше по байту туда добавлять строки, что бы уж точно варнингов не было, да?
Последний раз редактировалось KEZ; 01.07.2007 в 22:20..
|
|
|

01.07.2007, 22:28
|
|
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме: 1777536
Репутация:
932
|
|
SHFileOpertion() твоя из shell32.dll с задаными sh.wFunc = FO_DELETE равна, грубо говоря, нажатию delete в explorer'е. так что ни о каком самоу удалении речи идти не может.
Таким образом удалял(и не раз) файлы занятые другими приложениями. Так что не одно и тоже.
|
|
|

01.07.2007, 22:51
|
|
Познающий
Регистрация: 26.11.2005
Сообщений: 32
Провел на форуме: 47872
Репутация:
20
|
|
А как ты обьяснишь мне при чем тут динамическое распределение памяти, если дело в файле подкачки (сбросе части памяти на диск)?
Одно другому не мешает
|
|
|

01.07.2007, 23:47
|
|
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме: 3372120
Репутация:
2565
|
|
Сообщение от KEZ
не очень круто. потому что это всем известные методы, и я не думаю что их придумал ты.
вот почему-то метода удаления через Com нету.
На авторство не претендую, а вот тему для этого и замутил, что бы остальные выкладывали различные методы, плюс различные вариации на др. ЯП.
ЗЫ
Может выложишь вариант через COM? Думаю народу интересно будет. 
|
|
|

01.07.2007, 23:58
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
>>А как ты объяснишь работу Windows, когда в нее подгружено программ больше, чем
>>это позволяет себе оперативная память?
ну хорошо, файл подгружается в память не полностью, используя при этом файл подкачки, но сути-то моего сообщения это не меняет - я говорю о том, что после системного вызова, например, CreateProcess исходное приложение никак не относится к соответствующему процессу... врядли ядро ловит все переименования приложения 
|
|
|

02.07.2007, 00:11
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Сообщение от ZaCo
я говорю о том, что после системного вызова, например, CreateProcess исходное приложение никак не относится к соответствующему процессу... врядли ядро ловит все переименования приложения 
Просто пока файл открыт и csrss удерживает его описатель, с ним ниче сделать нельзя. почему можно переименовывать - я сам хз... видно, там не описатель удерживается открытым, а что-то другое, науке не известное. Однако, все же, насколько я помню, так используется File Mapping, поэтому почему можно переименовывать - хз. не разбирался
|
|
|

02.07.2007, 00:23
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
забыли упомянуть такой изврат как инжект в чужой процесс функции удаляющей наш файл
|
|
|

02.07.2007, 00:25
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме: 4610226
Репутация:
1332
|
|
и чем это будет отличаться от удаления через батник\проводник\прямой вызов del?
|
|
|

02.07.2007, 00:49
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
и чем это будет отличаться от удаления через батник\проводник\прямой вызов del?
Тем то что нас удолит другой процесс и все
Ni0x
Можно создать батник удоляющий нас и запустить его вот тебе что-то наподобе инжекта. можно использовать к примеру AUTOEXEC.BAT
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|