вторник, 7 апреля 2009 г.

Полезные Firefox плагины для веб разработчиках

Полезные плагины которые можете использовать для веб разработки с помощью Firefox:

1. Firebug - позволяет вам осматривать HTML код, извлекать XPATH и отладить Javascript. Аналогичен плагину IE Developer toolbar для Internet Explorer.
2. Yslow - сравнивает работаспособность сервера и веб сайта.
3. WebDeveloper - Тоже неплохой плагин, имеет различные полезные функции.
4. Tamper data - плагин позволяет осматривать скрытие поля, header поля и манупулировать. Полезен для проверки безопасности.

понедельник, 6 апреля 2009 г.

Aggie C++ Compiler

Сегодня нашёл суперский гаджет. Называеться он Aggie C++ Compiler. С помощью этого гаджета, вы можете компилировать C++.

Update: Нашёл еще один гаджет :) В гаджете Online C/C++ Compiler вы можете написать код С++, и просто компилить...

четверг, 2 апреля 2009 г.

Win32.Sality ВИРУС

Касперский у меня уже давно не работал, лицензия закончилась... И у меня антивируса не было. Сегодня заметил что некоторые программы просто у меня не работают. Подозревал, может вирус? Хотел посмотреть какие процессы сейчас работают, и воаля, после Ctrl+Alt+Del, вылезла ошибка "Task Manager disabled by your administrator". Точно вирус, хотел из регистра поправить значение доступа Task Manager-а, тоже не работает, отключён. Скачал Dr.Web cureit, сканил... Вирус найден, заражены файлы .exe и .scr. Вирус в Dr.Web называется Win32.Sector, а в Касперский Win32.Sality. У меня была модификация Win32.Sector.17. Говорят уже заражённую машину невозможно лечить антивирусом (даже читал, что есть модификации, которые не позволяют установить антивирус).

Есть другой вариант. Попробовать лечить с помощью Dr.Web LiveCD. Скачать можно здесь.
Dr.Web LiveCD - Live CD, операционная система Linux, в нём установлен Dr.Web CureIT, который лечит из Линукса, Windowsские локальные диски.

Второй вариант, просто сделать формат. Ну у меня большое количество файлов которые не нужно потерять. Этот вариант не для меня. Конечно, можно сохранить данные на другом диске. Но кто будет так поступить, после установки Windows-а, СРАЗУ установите из интернета обновлённый антивирус. Так как если вы запустите что нибудь из этих файлов, то ваш компьютер снова заразится!

понедельник, 16 марта 2009 г.

Спутниковый шпионаж

Про спутниковый шпионаж. Вот тут http://www.xakep.ru/post/42680/default.asp

Как узнать ID железа?

В современных программных обеспечениях исползуется защита, так называемый Hardware ID. Смысл в том что, программа возмёт ID различных девайсов, например Motherboard, CPU, HDD, и делает из них например хеш.

Как на Java узнать ID железы? Решение одно! Использовать Native, JNI.
Вот вам несколько примеров на Java с VBScript.

Материнская плата
В этом примере используеться
Win32_BaseBoard, но существует и другие способы. http://msdn2.microsoft.com/en-us/library/aa389273.aspx
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class MiscUtils {
private MiscUtils() { }

public static String getMotherboardSN() {
String result = "";
try {
File file = File.createTempFile("realhowto",".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);

String vbs =
"Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_BaseBoard\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.SerialNumber \n"
+ " exit for ' do the first cpu only! \n"
+ "Next \n";

fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
}
catch(Exception e){
e.printStackTrace();
}
return result.trim();
}

public static void main(String[] args){
String cpuId = MiscUtils.getMotherboardSN();
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, cpuId, "Motherboard serial number",
javax.swing.JOptionPane.DEFAULT_OPTION);
}

}
Винчестер

ID винчестра даёт ОС когда форматируеться винчестер. Это уникальный ID, потому что оно связан со временем, производителем и моделом.

import java.io.File;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class DiskUtils {
private DiskUtils() { }

public static String getSerialNumber(String drive) {
String result = "";
try {
File file = File.createTempFile("realhowto",".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);

String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
+"Set colDrives = objFSO.Drives\n"
+"Set objDrive = colDrives.item(\"" + drive + "\")\n"
+"Wscript.Echo objDrive.SerialNumber"; // see note
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
BufferedReader input =
new BufferedReader
(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
}
catch(Exception e){
e.printStackTrace();
}
return result.trim();
}

public static void main(String[] args){
String sn = DiskUtils.getSerialNumber("C");
javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)
null, sn, "Serial Number of C:",
javax.swing.JOptionPane.DEFAULT_OPTION);
}

}