Dive into exceptions: caution, this may be hard


Suppose that you are facing a practical task that requires a full implementation of exception handling in a code embedded in someone else’s process, or you are creating your next PE packer/cryptor to ensure the functionality of exceptions in an unpacked image. In any case, it all comes down to the fact that the code using the exceptions is executed outside the image projected by the system boot loader, which will be the main cause of your problems.

Read full article →

Building kernel modules and native Linux applications for Android

As everybody knows, Android has the foundation of the Linux kernel. This implies that in theory you can run on a smartphone all the applications that are available on desktop Linux. In practice, everything is more difficult. Since the set of Native libraries in Android differs from that on the desktop (not to speak of the platform architecture), the applications need to be compiled statically. And sometimes to be patched, as well. But in this case too, the application operation is not always guaranteed.

Read full article →

Welcome, Sails.js! The Missing Rails for Node.js

Node.js is really cool, but the abundance of powerful frameworks that simplify the development of web applications for other programming languages was a significant deterrent to the popularity of the use of JavaScript on servers. Many people needed a simple tool, one like your favorite RoR, Yii or ASP .NET MVC. The community of JavaScript aficionados worked hard on correcting this unfortunate situation, and several interesting solutions emerged as a result. Each of them has their own arsenal of killer-features, but in all that diversity I was attracted by an ambitious project hidden under modest title Sails.js.

Read full article →

Full kit of a Security Officer for $100

Our goal is to collect a kind of carry-on criminalistic handbag that would be available to general public as long as be compact, obtainable and legal.

So, all the gadgets in out kit are supposed to correspond to further parameters:

  • Legality
    Which means an absolute legitimacy in terms of purchase, transportation, and storage of gadgets. The usage stands slightly isolated, because, for example, we can use certain devices absolutely legally anywhere, while the usage of some other ones in terms of special institutions, or against certain individuals, and moreover, for personal purposes could end up with administrative or criminal responsibility.
  • Cheapness
    Quite important parameter. As a rule, we can get anything, it is always just the matter of price. Well, the devices that we are going to review in the article have quite moderate price range available for most people.
  • Accessibility
    Anyone could find all the components with little effort, which is to say except those that are designed for certain certified organisations, legal persons, furthermore, except those gadgets and devices that could be distributed only on designated area.
  • Easy handling
    In my opinion, this is one of the most important parameters. That means that anyone could use a gadgets after briefing.
  • Portability
    Here, everything is obvious: small size, light weight in order to ergonomic placement in our criminalistic handbag or organizer, as long as workability.
  • Portability
    That means the gadget could work off-line or urges for minimum requirements and little dependence on other devices. For example it could work on different software, in case if it is supposed to be connected to a computer or smartphone.

Read full article →

Complete guide for *nix backup solutions

The aspect of backup saving (and storage) is, certainly, one of the most important in the world of information: why would anyone want to lose his/her data as a result of the error (whether software or hardware error)? Since, there is a wide array of backup tools. I list the most necessary requirements, in my view, to these tools:

  • Ease of automation and the very existence of such. However, this requirement is almost completely balanced by the presence of Cron in all the general purpose *nix distributives. Still, backing up is just the very case when you should not put all your eggs in one basket.
  • Supported media and network backups. A backup tool can be arbitrarily remarkable, but if it supports only a limited set of media available for storing backups, then it is not worth a button. Creation of backups via network (including cloud) storages stands alone. Here appears the aspect of encryption and transmission of data and of backups themselves.
  • Ease of recovery. I suppose, comments are needless here, because if the loss of data has occurred, its recovery should be as quick and painless as possible.
  • Ease of initial configuration. This requirement is, of course, debatable since backup creation is configured only once. However, people often make a choice in favor of far less functional tools only because of their simplicity.

I did not make it a point to describe in details this or that tool — it is possible to write a separate book or at least an article almost about each of them. Here is just a brief overview of them.

Read full article →

Review of ROSA Fresh Desktop 4

ROSA Linux has no less than seven variants:

  • ROSA Enterprise Desktop X 1 is recommended for use in a corporate environment and is designed to equip the workstations and servers without special requirements for information security;
  • ROSA Enterprise Linux Server is, in fact, yet another clone of RHEL with some additions from the corporate variant of Mandriva;
  • ROSA Desktop Fresh is the most recent distribution that contains the latest improvements from the developer;
  • ROSA CHROME is a distribution certified by the Russian Federal Service for Technical and Export Control (FSTEC of Russia) and is designed for work with the state secrets;
  • ROSA NICKEL has the similar purpose as the previous variant, but it is certified by the Russian Defense Ministry;
  • ROSA COBALT is certified by FSTEC of Russia, including for the work with personal data.

Unfortunately, the last three distributions are not publicly available, and there is no point to talk about ROSA Enterprise Desktop and Server, so this article will focus on the recently released ROSA Desktop Fresh R5.

Read full article →

Building weather station with STM32F3DISCOVERY and WizFi220 Wi-Fi module

Key to start

First goes the list of the components I used:

  1. Debug board STM32F3DISCOVERY.
  2. KS0108 controller based screen (in my case, it is Russian MT-12864A).
  3. WizFi220 Wi-Fi module.

Firmware may be developed at least in two IDEs: Keil Embedded Development Tools for ARM and IAR Embedded Workbench. I use the first one, but if you are interested in the other one, you will need IAR Embedded Workbench for ARM due to peculiarities of IAR.

Read full article →