All streams
Search
Write a publication
Pull to refresh
-2
-0.4
Пичугин Дмитрий @Dywar

веб программист

Send message
1) Человек из JetBrains.
www.youtube.com/watch?v=KbuJdkPLAjw

2) Windbg.
!dumpheap [-stat] [-mt <>] [-type <>] [-strings] [-min] [-max]
(What classes take space in managed heap)

!dumpgen <genNum> [-free] [-stat] [-type <>] [-nostrings]
(Dumps the contents of the specified generation (sosex))

!dumpdomain 	(сколько доменов.)
!EEVersion	(отображает версию GC.)
!threads		(отображает потоки. -special для специальных потоков)
!dumpheap 	(garbage collector heap.)
!dumpheap -type SpaceName.Type (покажет объект в куче.)
!dumpheap -type Free -stat	(поиск пустых объектов, показывает кол-во всего и пустые из них.)
!gcroot XXX		(отображает тех кто удерживает объект от сборки.)
!objsize XXX		(отображает размер объекта (и все объекты на которые он ссылается, включено в него.)


Если попытаться загрузить sos при старте приложения ничего не выйдет, надо аттачиться когда процесс уже прошел первичную инициализацию.
Если почитать два последних поста от Jet, то в них можно найти видео.
В одном из которых автор доклада бегает по куче и считает объекты используя C# unsafe.

Можно использовать windbg с расширением SOS.dll, SOSEX.dll.
Запускаем программу, цепляемся в нужном месте, и смотрим SOH (0,1,2) и LOH.
Список VM для поиска странный.
Странно что в подобных статьях нет бурного обсуждения :)
И обнаружение такого бага не похоже на случайность.
Не рассмотрены и думаю, лучше один раз бегло прочитать.
Сокровенные технологии, интересно что бы это могло быть. Таблица импортов которую спрашивали у тех поддержки (видео на Youtube) :)?
Шифрование:
«Второй закон Шамира: криптографию не сломают, ее обойдут.»

Вот с распознанием проблемы, и у тех кто уже десятилетия работает в этой сфере, иначе зачем нам постоянные обновления если и так все работало.
Microsoft 640, полет хороший. Только плавности не хватает при просмотре карты, но оффлайн это здорово, теперь не так плохо без Andriod.
Открывается быстро, закрывается быстро, не виснет, карта г. Самара без проблем скачалась, UI красивый.
Спасибо!
У AV VM не все хорошо со временем, об этом написано в других местах.
Но рассказывать об этом в подробностях в паблике не лучший способ защитить пользователей, т.к. они ничего не изменят, а те кто пишет малварь изменят очень многое.

Если вас интересует как работают AV, и не спрашивать одно и тоже несколько лет подряд, пройдите бесплатный курс www.intuit.ru/studies/courses/1042/154/info.

Сигнатуры хороший способ, но как говорил Евгений, будущее за другими системами.

Статья хорошая, в копилку, спасибо!
Очень понравился перевод.
Смотрел бы такие видео вместо популярных из ТОП на youtube.com, только подобные не так легко найти.
Это похоже на хороший сюжет для фильма.
Интересно, познавательно и легко написано.
Всегда хотел также легко писать ASM, и знать адреса, смещения, IAT и фокусы отладки (хотя прошел Рикардо до 40 главы, забывается когда не используешь повседневно). Но выбрал C#, а там свои чудеса.

Жду пост о «SmallTalk», интересно.
Как вы отличите файл присланный по почте, скаченный в «temp» и/или перемещенный на рабочий стол, от файла который там лежал месяц до этого?

P.S. В Linux практикуют запрет запуска из «temp» например, но это осложнит жизнь при обновлениях другого ПО для Windows.
Не тратьте время на разбор деталей с почтой, я знаком с тем на что способны/неспособны корпоративные AV для почтовых серверов.
Интересно, продолжение ждемс.

vah13*
Офисные документы и фото, доступ к которым не требует дополнительных прав.

Ti_Fix*
Имунка поддерживает питон, пофикшены некоторые баги ольки, и можно использовать плагины ольки, вроде как специально сделан для изучения малвари.
Правильно заметили выше «бета обновлений» нет.
Обкатать их на миллиарде устройств всех возможных конфигураций и установленным сторонним ПО (которое может и без того работать не корректно, использовать не рекомендуемые функции и т.д.) — нереально.
Баги были, есть и будут всегда.

Смысл сказанного в статье — простые пользователи стали получать обновления быстрее (ура), корпоративные остались на прежних условиях (нам удобно, ничего не надо менять).

Специально для таких случаев скопировал цитаты:
«Первый закон Шамира гласит: систем с абсолютной безопасностью не существует и никогда не будет существовать.»
Шамир — «Устранить все возможные уязвимости в конкретной программе ныне так же бессмысленны, как и 30 лет назад.»
Выбрали из двух зол меньшее.

Админы наученные имеют VM с типовым набором программ, на которую накатывают обновления и смотрят — работает или нет. И только после этого теста разрешают обновляться доменным компьютерам.

Еще плюс в том что корпоративные клиенты как правило защищены лучше, у них есть firewall как локальный так и на общем шлюзе, GPO, правильная настройка прав пользователя, AV со свежими базами. Поэтому могут подождать, и получить проверенные обновления. (Для них получается ничего не измениться, и планировать работы по обновлению будет так же удобно).
Здорово, спасибо за видео!
Есть WRK v1.2 (официально доступный исходник)
The Windows Research Kernel v1.2 contains the sources for the core of
the Windows (NTOS) kernel and a build environment for a kernel that will run on
x86 (Windows Server 2003 Service Pack 1) and
amd64 (Windows XP x64 Professional)
A future version may also support booting WRK kernels on Windows XP x86 systems,
but the current kernels will fail to boot due to differences in some shared
structures.

The NTOS kernel implements the basic OS functions
for processes, threads, virtual memory and cache managers, I/O management,
the registry, executive functions such as the kernel heap and synchronization,
the object manager, the local procedure call mechanism, the security reference
monitor, low-level CPU management (thread scheduling, Asynchronous and Deferred
Procedure calls, interrupt/trap handling, exceptions), etc.

Смотрел по курсу Intuit.ru «Введение во внутреннее устройство Windows».
Очень интересно, правда забыл уже почти все.
Проверил пункт «36) Поля класса».

1) Неправильно.
class Car
    {
        private string _name = "car";
        private int _speed = 15;
        private int _sits = 5;

        public Car()
        {

        }

        public Car(string name)
        {
            this._name = name;
        }

        public Car(int speed)
        {
            this._speed = speed;
        }

        public Car(int speed ,int sits)
        {
            this._speed = speed;
            this._sits = sits;
        }
    }

  // Code size       43 (0x2b)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  ldstr      "car"
  IL_0006:  stfld      string ConsoleApplication1.Car::_name
  IL_000b:  ldarg.0
  IL_000c:  ldc.i4.s   15
  IL_000e:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_0013:  ldarg.0
  IL_0014:  ldc.i4.5
  IL_0015:  stfld      int32 ConsoleApplication1.Car::_sits
  IL_001a:  ldarg.0
  IL_001b:  call       instance void [mscorlib]System.Object::.ctor()
  IL_0020:  nop
  IL_0021:  nop
  IL_0022:  ldarg.0
  IL_0023:  ldarg.1
  IL_0024:  stfld      string ConsoleApplication1.Car::_name
  IL_0029:  nop
  IL_002a:  ret
} // end of method Car::.ctor

  // Code size       43 (0x2b)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  ldstr      "car"
  IL_0006:  stfld      string ConsoleApplication1.Car::_name
  IL_000b:  ldarg.0
  IL_000c:  ldc.i4.s   15
  IL_000e:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_0013:  ldarg.0
  IL_0014:  ldc.i4.5
  IL_0015:  stfld      int32 ConsoleApplication1.Car::_sits
  IL_001a:  ldarg.0
  IL_001b:  call       instance void [mscorlib]System.Object::.ctor()
  IL_0020:  nop
  IL_0021:  nop
  IL_0022:  ldarg.0
  IL_0023:  ldarg.1
  IL_0024:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_0029:  nop
  IL_002a:  ret
} // end of method Car::.ctor

  // Code size       50 (0x32)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  ldstr      "car"
  IL_0006:  stfld      string ConsoleApplication1.Car::_name
  IL_000b:  ldarg.0
  IL_000c:  ldc.i4.s   15
  IL_000e:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_0013:  ldarg.0
  IL_0014:  ldc.i4.5
  IL_0015:  stfld      int32 ConsoleApplication1.Car::_sits
  IL_001a:  ldarg.0
  IL_001b:  call       instance void [mscorlib]System.Object::.ctor()
  IL_0020:  nop
  IL_0021:  nop
  IL_0022:  ldarg.0
  IL_0023:  ldarg.1
  IL_0024:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_0029:  ldarg.0
  IL_002a:  ldarg.2
  IL_002b:  stfld      int32 ConsoleApplication1.Car::_sits
  IL_0030:  nop
  IL_0031:  ret
} // end of method Car::.ctor


2) Правильно.
 class Car
    {
        private string _name;
        private int _speed;
        private int _sits;

        public Car()
        {
            this._name = "car";
            this._speed = 15;
            this._sits = 5;
        }

        public Car(string name) : this()
        {
            this._name = name;
        }

        public Car(int speed) : this()
        {
            this._speed = speed;
        }

        public Car(int speed ,int sits) : this()
        {
            this._speed = speed;
            this._sits = sits;
        }
    }

  // Code size       17 (0x11)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  call       instance void ConsoleApplication1.Car::.ctor()
  IL_0006:  nop
  IL_0007:  nop
  IL_0008:  ldarg.0
  IL_0009:  ldarg.1
  IL_000a:  stfld      string ConsoleApplication1.Car::_name
  IL_000f:  nop
  IL_0010:  ret
} // end of method Car::.ctor

  // Code size       17 (0x11)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  call       instance void ConsoleApplication1.Car::.ctor()
  IL_0006:  nop
  IL_0007:  nop
  IL_0008:  ldarg.0
  IL_0009:  ldarg.1
  IL_000a:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_000f:  nop
  IL_0010:  ret
} // end of method Car::.ctor

  // Code size       24 (0x18)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  call       instance void ConsoleApplication1.Car::.ctor()
  IL_0006:  nop
  IL_0007:  nop
  IL_0008:  ldarg.0
  IL_0009:  ldarg.1
  IL_000a:  stfld      int32 ConsoleApplication1.Car::_speed
  IL_000f:  ldarg.0
  IL_0010:  ldarg.2
  IL_0011:  stfld      int32 ConsoleApplication1.Car::_sits
  IL_0016:  nop
  IL_0017:  ret
} // end of method Car::.ctor


А так если у кого есть желание и VS не 2013, пусть выложат свои результаты по автосвойствам.
Я ждал такого ответа.
А на этой версии www.hex-rays.com/products/ida/support/download_freeware.shtml можно использовать hex-rays?
Или Ильфак изменил свою позицию, возможно пропустил в СМИ.

Расстраивает что люди перестали замечать разницу между лицензией и контрафактом.

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity