Иногда при анализе какой-нибудь платной программы малвари случается так, что она не хочет нормально работать, если в памяти есть отладчик или включён отладочный режим Windows.
В таких ситуациях помогает использование виртуальной машины с подключённым к ней отладчиком (например, GDB или IDA). Это если программа не пытается «сломаться» и в виртуальной машине тоже.
Читать полностью »
Рубрика «разработка под windows» - 47
Как удалённо отлаживать через WinDbg не включая отладочный режим Windows
2017-05-02 в 5:37, admin, рубрики: qemu, windbg, информационная безопасность, отладка, разработка под windows, реверс-инжиниринг, системное программированиеКак сделать свой С++ код кроссплатформенным?
2017-04-19 в 9:50, admin, рубрики: c++, linux, windows, Блог компании Тензор, Компиляторы, кросплатформенность, Программирование, разработка мобильных приложений, разработка под windows, разработка приложений, С++, СБИС, тензор, метки: кросплатформенностьВозможно, кто-то, прочитав заголовок, спросит: «Зачем что-то делать со своим кодом?! Ведь С++ кроссплатформенный язык!». В целом, это так… но только пока нигде нет завязок на специфичные возможности компилятора и целевой платформы…
В реальной жизни разработчики, решающие конкретную задачу под конкретную платформу, редко задаются вопросом «А точно ли это соответствует Стандарту С++? А вдруг это расширение моего компилятора». Они пишут код, запускают сборку и чинят места, на которые выругался их компилятор.
В итоге получаем приложение, которое, в некоторой степени, «заточено» под конкретный компилятор (и даже под его конкретную версию!) и целевую ОС. Более того, из-за скудности стандартной библиотеки С++ некоторые вещи просто невозможно написать, не воспользовавшись специфичным API системы.
Так было и у нас в Тензоре. Мы писали на MS Visual Studio 2010. Наши продукты были 32-х битными Windows-приложениями. И, само собой, код был пронизан всевозможными завязками на технологии от Microsoft. Однажды мы решили, что пора осваивать новые горизонты: пора научить СБИС работать под Linux и другими ОС, пора попробовать перейти на другое «железо» (POWER).
В данном цикле статей я расскажу, как мы сделали свои продукты настоящими кроссплатформенными приложениями; как заставили их работать на Linux, MacOS и даже под iOS и Android; как запустили свои приложения на множестве аппаратных архитектур (x86-64, POWER, ARM и другие); как научили работать на big-endian машинах.
Читать полностью »
Здравствуй, Хабр
2017-04-18 в 14:16, admin, рубрики: framework, paas, биллинговые системы, Блог компании Тензор, приветствие, разработка, разработка мобильных приложений, Разработка под Linux, разработка под windows, СБИС, тензор, метки: СБИС, Тензор
Тензор уже более 20 лет работает на рынке программного обеспечения. Бухгалтер, который выдает вам зарплату, точно знает, кто мы, и что мы делаем. А вот в IT-сфере мы о себе специально не заявляли. Пришло время это изменить и познакомиться.
Электронная отчетность, электронный документооборот, поиск и анализ закупок, корпоративная соцсеть, видеокоммуникации, управление персоналом – это лишь часть наших сервисов. Мы автоматизируем рабочие процессы и превращаем их в «несколько кликов».
Работать в СБИС можно офлайн, онлайн и в мобильном приложении.
Не будем грузить вас рассказами о нашем продукте. Если интересно, то вот здесь мы в буковках и картинках рассказали о нем все.
Почему мы – интересные и полезные?
Для разработки своих продуктов (online сервисов, desktop и мобильных приложений) мы используем собственный PaaS-фреймворк.
Backend фреймворк мы пишем на С++, при этом прикладной код можно писать как на С++, так и на Python или Javascript, для этого ко всем встроенным типам сделаны bridges. Помимо встроенных типов и системы вызовов (remoting, IPC, inproc), важной частью фреймворка является сервер приложения, который работает быстрее сервера Node.JS на аналогичном железе, но об этом чуть позже в отдельной статье.
Читать полностью »
Упрощаем конвертеры для WPF
2017-04-17 в 7:29, admin, рубрики: .net, C#, converter, MarkupExtensions, wpf, разработка под windowsОколо года уже работаю с WPF и некоторые вещи в нем откровенно выбешивают. Одна из таких вещей — конвертеры. Ради каждого чиха объявлять реализацию сомнительно выглядящего интерфейса где-то в недрах проекта, а потом искать его через Ctrl+F по названию, когда он вдруг понадобится. В мульти-конвертерах так вообще сам черт запутается.
Ситуацию усугубляет MVVM, благодаря которому не использовать это чудо науки получается довольно редко. Что-же, пришло время немного облегчить рутину создания и использования конвертеров, поехали.
Читать полностью »
K-Meleon 76 Pro — новая русская сборка браузера для олдфагов и истинных ценителей
2017-04-16 в 15:35, admin, рубрики: Firefox, gecko, K-Meleon, windows, Блог компании Русская команда K-Meleon, браузеры, разработка под windows, расширения, Расширения для браузеровИ снова здравствуйте!
Безумно много времени прошло с момента нашей последней публикации, приуроченной к возрождению российской Pro-сборки K-meleon.
Конечно, многие воспримут наши новости с иронией и неизбежными ухмылками.
Увы, разработка K-Meleon'a стагнировала по ряду объективных причин, главная из которых — зависимость от единственного разработчика. У нашего «отца-разработчика» Дориана случилось подряд несколько проблем, что самым негативным образом повлияло на разработку, вкупе с бурными революциями в коде движка Мозилла, о которых сообщество уже давно отбурлило и теперь продолжает лишь тихо подвывать.
Тем не менее, нельзя сказать, что разработка встала совсем — наша сборка основана на коде, выпущенном в декабре 2016 года. Правда, это по-прежнему релиз-кандидат 76-й версии, основанной на Gecko 38 ESR, так что браузер заведомо перешел в разряд олдфагового инструментария, актуального для обладателей устаревшего и слабого оборудования.
Нет, он по-прежнему прекрасно работает и на современном оборудовании, но модерн-вебдизайн стремительным домкратом обрушивает на нас все новые и новые фишки популярных сайтов (часто написанные вопреки всем веб-стандартам), которые разработчикам браузеров просто ПРИХОДИТСЯ поддерживать. Ибо куда им (даже таким как Google) бодаться с тем же фейсбуком — себе дороже. Проше вставить в код костыль.
Тем не менее 76-я версия нашего браузера — это вполне рабочая лошадь, осиливающая подавляющее большинство сайтов. А кое-где уже и мы подставляем свои костыли.
Читать полностью »
Извлечение аудиоданных из wav-файла на UWP
2017-04-06 в 11:31, admin, рубрики: C#, uwp, windows, windows store, Блог компании Everyday Tools, разработка под windowsСегодня мы представляем материал от наших давних партнеров, компании Music Paradise, которые, как вы помните, уже делились с Хабром секретами создания музыкальных приложений в нашей совместной статье «Внедрение социальных сервисов в неигровое приложение». На этот раз специалисты из команды расскажут о специфике реализации базовых функций утилиты Audio Editor, изначально написанной для iOS и Mac устройств, на новой платформе — Windows — и о том методе, который они применяли при адаптации.
«В этой статье мы рассмотрим один из самых доступных способов получения аудиоданных из файла. Извлечение аудиоданных является краеугольным камнем для всех разработчиков, которые делают первые шаги в работе со звуком, однако внимания ей уделяется на удивление мало. Проблема ощущается особенно остро при попытках найти готовые решения или инструкции для UWP в интернете: в большинстве случаев ответа не получаешь вообще или же приходится довольствоваться устаревшими решениями. Между тем, при работе со звуком извлечение данных имеет значимый смысл, давая разработчику возможность редактировать данные: копировать, добавлять, изменять, путем наложения эффектов, визуализировать их на экране пользователя. Именно о визуализации сегодня и пойдет речь. Несмотря на существование специальных библиотек для работы с аудиоданными в галерее NuGet, мы построим логику приложения на самостоятельной обработке байтов аудиофайла. Таким образом, в процессе мы узнаем больше о структуре wav-файла и убедимся на практике, что работа с аудио данными — это не так уж сложно.
Читать полностью »
Это не шутки — остались считанные сутки… до дедлайна на GSoC 2017
2017-03-31 в 20:48, admin, рубрики: google summer of code, gsoc, gsoc 2017, open source, reactos, Блог компании Фонд ReactOS, разработка под windows, реверс-инжиниринг
Внимание! Это вам не шутки, а реальная возможность заработать!
Мы совсем забыли Вам напомнить или даже вообще рассказать, что в этом году случилось знаменательное событие. ReactOS впервые в истории получит слоты на Google Summer of Code второй год подряд. Ранее нам удавалось попасть в эту программу лишь раз в пять лет. Еще одно свидетельство значимости роли проекта в глазах индустрии!
Если вы хотите принять участие в GSoC и покодить этим летом за солидные премиальные и на общественное благо, то немедленно посетите данные странички на нашем сайте:
Основная информация о GSoC 2017 | Идеи для Google Summer of Code 2017
Если после просмотра данных материалов вы решитесь претендовать на участие в рамках наших слотов, то безотлагательно пишите в наш IRC-чат и высылайте свое резюме в текстовом виде в нашу рассылкуЧитать полностью »
Проверяем проект PascalABC.NET с помощью плагинов для SonarQube: SonarC# и PVS-Studio
2017-03-29 в 9:51, admin, рубрики: .net, C#, open source, pvs-studio, sonarqube, static code analysis, Visual Studio, Блог компании PVS-Studio, разработка под windows
В ноябре прошлого года в нашем блоге была опубликована статья о разработке и использовании плагина PVS-Studio для SonarQube. Мы получили много откликов от клиентов и просто заинтересованных пользователей с просьбами провести тестирование плагина на реальном проекте. Так как интерес к этому вопросу не ослабевает, было решено провести тестирование на C# проекте PascalABC.NET. Также не будем забывать, что SonarQube содержит собственный статический анализатор C# кода — SonarC#. Для полноты картины проведем исследование и SonarC#. Целью данной работы является не сравнение анализаторов, а показ основных особенностей их взаимодействия с сервисом SonarQube. Прямое сравнение анализаторов было бы не вполне корректным по той причине, что PVS-Studio является специализированным инструментом поиска ошибок и потенциальных уязвимостей, в то время как SonarQube — это сервис оценки качества кода по большому числу параметров: дублирование кода, соблюдение стандартов кодирования, покрытие кода модульными тестами, возможные ошибки в коде, плотность комментариев в коде, технический долг и т.д.
Читать полностью »
Масштабирование Git (и кое-какая предыстория)
2017-03-29 в 8:51, admin, рубрики: Bing, fuse, Git, Git Virtual File System, GVFS, open source, Source Depot, tfs, высокая производительность, разработка под windows, система контроля версий, управление исходным кодом, метки: Source Depot, управление исходным кодом
Несколько лет назад Microsoft приняла решение начать долгий процесс по восстановлению системы разработки во всей компании. Мы большая компания, с множеством коллективов — у каждого собственные продукты, приоритеты, процессы и инструменты. Есть некоторые «общие» инструменты, но их много разных — и ОЧЕНЬ БОЛЬШОЕ количество разработанных внутри компании инструментов одноразового использования (под коллективами я имею в виду подразделения — тысячи инженеров).
У этого есть отрицательные стороны:
- Множество избыточных инвестиций в коллективы, которые разрабатывают похожие инструменты.
- Невозможность финансировать какой-либо инструментарий до «критической массы».
- Затруднения для сотрудников в перемещении по компании из-за разных инструментов и процесса.
- Сложность в обмене кодом между организациями.
- Разногласия с новичками в начале работы из-за чрезмерного изобилия инструментов «только для MS».
- И так далее...
Windows hook: просто о сложном
2017-03-23 в 14:28, admin, рубрики: C#, c++, dll, Блог компании ICL Services, разработка под windows, С++, системное программирование, хукЧто такое хук?
Что такое хук функций и для чего он нужен? В переводе с английского «hook» — ловушка. Поэтому о назначении хуков функции в Windows можно догадаться — это ловушка для функции. Иными словами, мы ловим функцию и берем управление на себя. После этого определения нам открываются заманчивые перспективы: мы можем перехватить вызов любой функции, подменить код на свой, тем самым изменив поведение любой программы на то, которое нам нужно (конечно, в рамках определенных ограничений).
Целью данной статьи является демонстрация установки хука и его непосредственная реализация.Читать полностью »