Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    Lihonosov

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужно написать прогу, которая мониторит обращение к программам.
     
    Например, пользователь пытается запустить "прога_1.ехе", а программа проверяет имя проги со своей базой и если ее в базе нет, то блокирует выполнение.
     
    У кого есть мысли по этому поводу?

    Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 18:26 18-09-2007 | Исправлено: Lihonosov, 18:30 18-09-2007
    BattleMage

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо большое, все заработало. Голову особо не забивал и сортировал обычным методом "пузырька" ;)

    Всего записей: 26 | Зарегистр. 16-11-2006 | Отправлено: 18:27 18-09-2007
    distance

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lihonosov
    API Spying Techniques for Windows 9x, NT and 2000

    Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 19:18 18-09-2007
    Mickey_from_nsk

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lihonosov
    По-моему, такие вещи проще решаются ACL. Запрети запуск программы, человек хоть семи пядей во лбу, без извратов просто не сможет ее запустить.
    Ну и все эти ACL, есессно, можно выставлять программно.

    Всего записей: 636 | Зарегистр. 21-10-2002 | Отправлено: 06:45 19-09-2007
    Lihonosov

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Некоторые запрещают запуск программ в реестре.
    Параметр RestrictRun и добавление списка разрешенных программ.
     
    Я пошел от этого метода.
    Написал программу, которая сканирует диск на наличие файлов с определенными расширениями (какие укажешь) и может добавлять прямо в реестр или формировать *.reg файл.
     
    Но запуск запрещенных (точнее в данном случае "неразрешенных") программ обходится простым переименованием файла на имя разрешенной программы.
     
    Сейчас идея такая:
    - просканировать диск на наличие файлов и создать таблицу хешей этих файлов
    - написать программу мониторинга запуска файлов, которая бы сравнивала запускаемую программу со своей таблицей хешей.
     
    Застрял на программе мониторинга.
     
    Еще кто-то что-нибудь сказать может по этому поводу?
     
    Если у кого есть Example буду очень благодарен если напишете
     
    P.S. Пишу на VC++.net || C#

    Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 11:18 19-09-2007 | Исправлено: Lihonosov, 11:23 19-09-2007
    Qraizer



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Lihonosov
    Ну что за мания такая, лазать по реестру, когда есть стандартные средства. Во-первых, RestrictRun настраивается через политики безопасности. Во-вторых, не нравится возможность переименовать - теми же ACLями не разрешай переименование.

    ----------
    Одни с годами умнеют, другие становятся старше.

    Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 14:12 19-09-2007 | Исправлено: Qraizer, 14:12 19-09-2007
    Lihonosov

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это нужно в учебное заведение.
    Где ученики учатся "Создавать", "Переименовывать", "Удалять" и т.л.
     
    И просто, хочется написать свое и пользоваться своим.

    Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 14:25 19-09-2007 | Исправлено: Lihonosov, 14:28 19-09-2007
    TeXpert



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Qraizer
    Цитата:
    ...не нравится возможность переименовать - теми же ACLями не разрешай переименование
    Но могут ведь создать копию под другим именем! Так что способ
    Цитата:
    - просканировать диск на наличие файлов и создать таблицу хешей этих файлов  
    - написать программу мониторинга запуска файлов, которая бы сравнивала запускаемую программу со своей таблицей хешей
    самый гибкий.  
    Lihonosov  
    По ссылке distance есть интересный способ.
     


    ----------
    Майкудук, Пришахтинск не предлагать!:)
    А на Пирогова приходит снова весенний гомон...

    Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 21:02 19-09-2007
    Mickey_from_nsk

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    TeXpert

    Цитата:
    Но могут ведь создать копию под другим именем!

    Закрой его нафиг на чтение. Если не поможет - закрой каталог на просмотр. Не поможет - закрой пользователя нафиг.
     
    Все должно решаться подходящими инструментами. Если есть ACL, не надо их выдумывать по новой. Вообще, реши, что тебе больше хочется - проблему решить или по программировать с извратами.

    Всего записей: 636 | Зарегистр. 21-10-2002 | Отправлено: 08:13 20-09-2007
    topotuno



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как сделать чтобы Microsoft Visual C++ 6.0 запускался из под пользователя под XP SP2 . А то

    Цитата:
    Compiling...                     Error spawning cl.exe



    ----------
    Кто виноват в Донбасской бойне!
    Кто виноват в Войне (мнение иноагента)

    Всего записей: 315 | Зарегистр. 28-10-2006 | Отправлено: 09:51 20-09-2007 | Исправлено: topotuno, 10:51 20-09-2007
    Lihonosov

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Все должно решаться подходящими инструментами. Если есть ACL, не надо их выдумывать по новой. Вообще, реши, что тебе больше хочется - проблему решить или по программировать с извратами.

     
    Я хочу написать такую программу. Хотя бы для себя!

    Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 10:05 20-09-2007
    TeXpert



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mickey_from_nsk  
    Глупо одними такими запретами пользоваться, а потом, они всегда хромают. Да и потом, я не стал подчёркивать полезность программирования для автора поста, что он лишний раз подтверждает:
    Цитата:
    Я хочу написать такую программу. Хотя бы для себя!


    ----------
    Майкудук, Пришахтинск не предлагать!:)
    А на Пирогова приходит снова весенний гомон...

    Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 11:41 20-09-2007 | Исправлено: TeXpert, 11:42 20-09-2007
    Steriosux

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Взываю к помощи посетителей этого топа )
    Вопрос конечно ламерозный, но что поделаешь..., а вдруг кто поможет
    Наткнулся я тут на днях на однин исходник и вспомнил, что и самому такая прога давно уже нужна, и самое главное - искал раньше, нигде не мог найти готовой.
    Собсно прога должна выдирать автоматом с сохраненных eml писем аттачи и складывать в другую папку их, в исходнике вроде как раз то, что надо.
    Ну, не знаю я С++, ладно еще это.., скомпилить не слишком существенная проблема, компилил и на c++, когда сильно нужно было, но с этим (
    Пришел в итоге здесь к выводу, что используется NET Framework, этой гадости для разработчиков у меня не имеется.
    Тут есть еще ошибки видимо, насколько я понял.
    #using <mscorlib.dll> - это вообще хз что..  
    CLSC TX_SERVER - это должно по идее слитно писаться...
    Посмотрите, плз, кто в этом разбирается )
    Мож кто поможет скомпилить эту софтину?
    Цитирую, как было в оригинале:
     
     

    Цитата:
     
    Компилировалось в Visual C++ v7.0,Win 2000Pro. Проверено работает... Успехов
    // This is the main project file for VC++ application project
    // generated using an Application Wizard.
     
    #include "stdafx.h"
    #import "c:\program files\common files\system\ado\msado15.dll" no_namespace raw_interfaces_only
    #import <cdosys.dll> no_namespace raw_interfaces_only
    #include <iostream.h>
    #include <wchar.h>
     
     
    #using <mscorlib.dll>
    #include <tchar.h>
     
    using namespace System;
     
    // This is the entry point for this application
    int _tmain(int argc,char* argv[])
    {
    // TODO: Please replace the sample code below with your own.
    CoInitialize(NULL);
     
    IDropDirectory* pDropDir = NULL;
    IMessages* pMsgs = NULL;
    IMessage* pMsg = NULL;
    IBodyParts* pBodys = NULL;
    IBodyPart* pBody = NULL;
    _Stream* pStream = NULL;
    long msgs_cnt = 0;
    long attach_cnt = 0;
    BSTR msg_name;
    BSTR fname;
    BSTR path_sav;
     
    CoCreateInstance(__uuidof(DropDirectory),NULL,CLSC TX_SERVER,
    __uuidof(IDropDirectory),(void**)&pDropDir);
     
    pDropDir->GetMessages(L"c:\\mailroot",&pMsgs);
    pMsgs->get_Count(&msgs_cnt);//кол-во сообщений в папке
    cout << "message count: " << msgs_cnt << endl;
     
     
    //проходим последовательно по всем письмам
    for(long i=1;i<=msgs_cnt;i++)
    { pMsgs->get_Item(i,&pMsg);//берем очередное письмо в каталоге
    pMsg->get_Attachments(&pBodys);//ссылка на тело приаттаченных файлов
    pBodys->get_Count(&attach_cnt);//количество приаттаченных файлов в мессаге
    for(long j=1;j<=attach_cnt;j++)//перебираем последовательно файлы и сохраняем их на диске
    {
    pBodys->get_Item(j,&pBody);
    pBody->get_FileName(&fname);
    cout << "Saved attached file " << _bstr_t(fname) << endl;
    pBody->GetDecodedContentStream(&pStream);
    path_sav = _bstr_t("c:\\mailroot\\")+fname;
    pStream->SaveToFile(path_sav,adSaveCreateOverWrite);//сохраняем файл
    }//end for j
     
    }//end for i
     
    CoUninitialize();
    return 0;
    }
     
     


    Всего записей: 913 | Зарегистр. 18-07-2006 | Отправлено: 13:57 20-09-2007
    distance

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Steriosux

    Цитата:
    #using <mscorlib.dll> - это вообще хз что..  

    это означает использование Managed-расширений. К слову, не понял, зачем оно здесь надо - по коду не используются, да и без онного нормално компилируется.
    программа конечно кривая до жути - нет вообще ни каких проверок, сплошные утечки ресурсов... у меня вылетает потому что нет такого каталога c:\mailroot... как будто писал какой-то ламер  В общем, пользуй на свой страх и риск.
    лови линк (Release, MD, No Managed)
    h**p://r***d****e.com/files/56970523/saveattach.zip.html

    Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 14:31 20-09-2007
    Steriosux

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    distance
    Спасибо!
    Все работает норм!
    То, что прога криво написана - пофиг, главное, чтобы она вообще работала )
    Только можно еще, если не трудно, скомпилить с одной маленькой доработкой...
    В: path_sav = _bstr_t("c:\\mailroot\\")+fname;
    изменить название папки хотя бы на mailroot1, а то мешанину устраивать не очень хочется в одной папке...

    Всего записей: 913 | Зарегистр. 18-07-2006 | Отправлено: 16:11 20-09-2007
    distance

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    путь подправил, лови
    hxxp://r***d****e.com/files/56988599/saveattach-solution-vc7.1.zip.html
    это полностью рабочий и компилируемый солюшен для студии 7.1 (7.0 у меня нет,да и глючное оно). прогу ищи в каталоге Release
    если захочешь внести изменения то сможешь сам скомпилировать.
    убедись только что каталог c:\mailroot1 создан перед началом работы, а то наверное опять вылетит

    Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 16:21 20-09-2007 | Исправлено: distance, 16:23 20-09-2007
    Steriosux

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    distance
    Огромное спасибо.
    Вроде достаточно простая прога, а нигде не мог ничего готового найти... На рнр написать не сложно, так как там есть прямая функция работы с base64, но скрипт юзать не всегда целесообразно..., а уже под винду - сложнее всё это описать, здесь тоже готовые либы юзались, а, если всю работу с base64 описывать на том же дельфи :\
     

    Всего записей: 913 | Зарегистр. 18-07-2006 | Отправлено: 16:33 20-09-2007
    k0s



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    господа кто может подсказать или чем помочь, вот задание:
    Генерация случайной величины, нормально распределенной на интервале [a,b]

    Всего записей: 5 | Зарегистр. 03-06-2007 | Отправлено: 02:49 23-09-2007
    Mr Nobody



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    k0s
    Возьмите стандартную функцию rand(), которая дает равномерное распределение, сделайте, чтобы она дала равномерное распределение на интервале [a,b]. Потом просумируйте результаты равномерного распределения, например 16 раз будет достаточно, потом сумму поделите на 16 и полученные таким образом числа дадут вам нормальное распределение.

    Всего записей: 350 | Зарегистр. 19-09-2007 | Отправлено: 23:12 23-09-2007
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    k0s
    А ещё можно воспользоваться преобразованием Бокса-Мюллера.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 23:47 23-09-2007
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru