Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10653
∙ повысить рейтинг »
Micren
Статус: Профессор
Рейтинг: 1763
∙ повысить рейтинг »
Александр Чекменёв
Статус: Академик
Рейтинг: 1355
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Microsoft .NET : C#

Номер выпуска:250
Дата выхода:16.10.2013, 17:00
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:43 / 23
Вопросов / ответов:3 / 6

Консультация # 186010: Здравствуйте, уважаемые эксперты! У меня возникли сложности с таким вопросом: Трeбуeтся нaписaть прoгрaмму нa C#, кoтoрaя oргaнизуeт прoвeрку нeсaнкциoнирoвaннoй мoдификaции exe-фaйлa слeдующим oбрaзoм: считывaeт чeтырeхбaйтoвoe слoвo в кoнцe фaйлa, сoдeржaщee сумму всeх бaйтoв этoгo фaйлa пo mоd 232 и срaвнивaeт eгo сoдeржимoe с рeaл...


Консультация # 82044: Зддравствуйте, существует ли способ обращаться к элементам формы, с помощью операции индексирования, как это делается в HTML. Например, существует форма, на которой имеется, 100 компонентов Checkbox можно ли обращаться к их значекниям в цикле?...
Консультация # 175454: Здравствуйте,эксперты!Необходима ваша помощь! Решая задачу по системному и прикладн.прогр-нию на Microsoft Visual Studio 2008 при отладке вылетает сообщение: Необработанное исключение System.MissingMethodException.Дополнительные сведения :Метод не найден "BooleanSystem.Threading.WaitHandle.WaitOne(Int32). В приложении код программы .<...

Консультация # 186010:

Здравствуйте, уважаемые эксперты! У меня возникли сложности с таким вопросом:
Трeбуeтся нaписaть прoгрaмму нa C#, кoтoрaя oргaнизуeт прoвeрку нeсaнкциoнирoвaннoй мoдификaции exe-фaйлa слeдующим oбрaзoм: считывaeт чeтырeхбaйтoвoe слoвo в кoнцe фaйлa, сoдeржaщee сумму всeх бaйтoв этoгo фaйлa пo mоd 232 и срaвнивaeт eгo сoдeржимoe с рeaльнoй суммoй.

Дата отправки: 12.05.2012, 12:38
Вопрос задал: Eurelio (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Micren (Профессор):

Здравствуйте, Alex12!
Программа. Без проверки корректности структуры самого .exe файла.

Код :
using System;
using System.IO;
using System.Reflection;

namespace Application
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			// Имя файла для проверки передается в качестве аргумента коммандной строки
			// Если ничего не передано - вывести информацию об использовании
			if (args.Length == 0) {
				usage ();
			} else {
				// Перебор аргументов коммандной строки
				foreach (string file in args) {
					try {
						// Проверка файла
						checkFile (file);
					} catch (Exception ex) {
						Console.WriteLine ("При проверке файла({0}) возникло исключение: {1}", file, ex.Message);
					}
				}
			}
		}

		// Имя исполняемого файла сборки
		private static readonly string programFile = Path.GetFileName (Assembly.GetEntryAssembly ().Location);

		// Выводит информацию об использовании
		private static void usage ()
		{
			Console.WriteLine ("Использовать: {0} [имя файла] [имя файла] ...", programFile);
		}

		private const short sumLength = 4;

		// Проверка файла
		private static void checkFile (string path)
		{
			// Открытие потока в режиме чтения двоичных данных
			using (Stream stream = new FileStream (path, FileMode.Open, FileAccess.Read))
				using (BinaryReader binaryReader = new BinaryReader (stream)) {
					long length = stream.Length;
					if (length < 4) {
						throw new Exception (string.Format ("Длина файла менее {0}х байт", sumLength));
					}
					// Установим указатель на контрольную сумму
					stream.Seek (-sumLength, SeekOrigin.End);
					// Читаем контрольную сумму
					UInt32 orig = binaryReader.ReadUInt32 ();
					Console.WriteLine ("Сохраненная сумма(последние {1} байта файла): 0x{0:X8}", orig, sumLength);
					// Установим указатель на начало
					stream.Seek (0, SeekOrigin.Begin);
					// Сумма
					UInt32 sum = 0;
					Console.WriteLine ("Длина файла:{0}", length);
					try {
						while (length-- > sumLength) {
							// Читаем и суммируем
							sum += binaryReader.ReadByte ();
						}
					} catch (EndOfStreamException) {
					}
					Console.WriteLine ("Посчитана сумма: 0x{0:X8} (суммы {1}совпадают)", sum, sum == orig ? "" : "не ");
				}
		}
	}
}

Имя проверяемого .exe файла должно передаваться программе в виде параметра коммандной строки.
Пример работы:
Код :
>186010.exe C:\Windows\System32\csrss.exe 
Сохраненная сумма(последние 4 байта файла): 0x00000000
Длина файла:7680
Посчитана сумма: 0x0005CC66 (суммы не совпадают)

Консультировал: Micren (Профессор)
Дата отправки: 12.05.2012, 22:10

5
нет комментария
-----
Дата оценки: 13.05.2012, 12:26

Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 82044:

Зддравствуйте, существует ли способ обращаться к элементам формы, с помощью операции индексирования, как это делается в HTML.

Например, существует форма, на которой имеется, 100 компонентов Checkbox можно ли обращаться к их значекниям в цикле?

Дата отправки: 11.04.2007, 09:34
Вопрос задал: Svanshe
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Menand:

Здравствуйте, Svanshe!
Сделайте массив из чекбоксов.

Консультировал: Menand
Дата отправки: 11.04.2007, 09:49
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Fisher:

Здравствуйте, Svanshe!
Попробуйте использовать список Controls в классе System.Windows.Forms. Он содержит все контролы размещенные на форме.

Консультировал: Fisher
Дата отправки: 11.04.2007, 10:46
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Necrostaz:

Здравствуйте, Svanshe! Если вы имеете в виду HTML Form, т.е. объектную модель DOM html, то необходимо подключить COM - компонент Microsoft HTML Object Library, из файлика mshtml.tlb. Там есть все необходимые объекты и интерфейсы. В частности IHTMLInputElement - для чекбокса и IHTMLFormElement - для формы. У объектов определены все стандартые методы, в т.ч и getElementById()

Консультировал: Necrostaz
Дата отправки: 11.04.2007, 15:29
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Reflective:

Здравствуйте, Svanshe!
Да, можно. У формы есть колекция контролов (Form.Controls), у это коллекции есть индексатор.

Приложение:

Консультировал: Reflective
Дата отправки: 11.04.2007, 17:18
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 175454:

Здравствуйте,эксперты!Необходима ваша помощь!
Решая задачу по системному и прикладн.прогр-нию на Microsoft Visual Studio 2008 при отладке вылетает сообщение:
Необработанное исключение System.MissingMethodException.Дополнительные сведения :Метод не найден "BooleanSystem.Threading.WaitHandle.WaitOne(Int32).
В приложении код программы .
(условие задачи тоже в приложении )
С нетерпением жду ответа!

Дата отправки: 20.12.2009, 12:39
Вопрос задал: РАИ
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Асмик Гаряка (Советник):

Здравствуйте, РАИ.

Вот что пишет MSDN

© Цитата:
Note that this overload was added in 2.0 SP2. If running against 2.0 RTM or 2.0 SP1, use WaitOne(millisecondsTimeout, false) to avoid a MissingMethodException.

В переводе - если у вас нет Service Pack 2, используйте WaitOne(millisecondsTimeout, false)

Приложение:

Консультировал: Асмик Гаряка (Советник)
Дата отправки: 20.12.2009, 16:44
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное