Feeds:
Posts
Comments

Archive for February, 2006

Virturl Machine

VMware Player Free

ผ่านมาหลายปีแล้วที่ใช้โปรแกรม vmware เริ่มลองใช้ตั้งแต่ 2
รู้สึกสมัยนั้นจะมีโปรแกรมจำลองเครื่อง (Virturl Machine) อยู่หลายเจ้า
ซึงผมก็ได้ทดลองใช้มาหมดทุกค่าย ผ่านมาหลายปีก็ใช้แต่ vmware
จนกระทั้งเมื่อปีที่แล้ว 2548 ประมาณเดือนตุลาคม ทาง vmware
ได้ทำการเปิดให้ดาว์นโหลด vmware player ที่เป็นเวอร์ชันฟรี ทำให้เป็นข่าวดังในต่างประเทศเลยที่เดียว และยังได้ออก
vmware server เวอร์ชันฟรีออกมาด้วย แต่ผมยังไม่พูดถึงตอนนี้เนื่องจากยังไม่
เคยทดลองใช้ ดูข้อมูลได้ที่ (link)
หน้าเว็บหลักของ vmware player (link)

โดยความสามารถ vmware player นั้นโดยตัดจากเวอร์ชัน Workstation ดังนี้
– ไม่สามารถสร้าง virturl machine เองได้
– ไม่สามารถเพิ่ม hardware device เข้า virturl machine เองได้
– ไม่สามารถจับภาพหน้าจอ virturl machine ได้ (snapshot)

และอื่นๆ อีก สามารถดูได้ที่ (link)

ซึงถ้าพูดถึงนักพัฒนาหลายๆ ท่าน อาจจำเป็นต้องใช้โปรแกรมประเภทนี้
ซึ่งตัว vmware ถ้าพูดถึงราคาแล้วจะแพงมากๆ ซึงถ้าถูกตรวจลิขสิทธ์ละก็
ไม่ต้องพูดถึง และมีโปรแกรมประเภทนี้ที่ฟรีรึเปล่าก็มีอยู่บ้าง
ที่ผมเคยทดลองใช้ที่ใช้ได้ทั้งบนลีนุกส์และวินโดก็คือ QEMU (link)
ซึ่งเป็นโปรแกรม opensource แต่ว่ามันทำงานช้ามาก
ทำให้เครื่องอืดซึงทำให้เลิกใช้ไป และอีกตัว คือ XEN (link)
แต่ผมยังไม่มีโอกาสได้ทดลองใช้ ซึงมันจะทำงานได้เฉพาะบนลินุกส์

Advertisements

Read Full Post »

Hardware Keylogger

วันนี้นั่งดูเว็บตามชีวิตประจำวันเปิดเว็บไปเป็นเว็บมาจนไปเจอเว็บนึง
และรู้สึกแปลกใจเพราะไม่เคยคิดมาก่อนว่ามีแบบนี้ด้วย

keylogger หลายคนคงรู้แต่บางคนอาจไม่รู้ มันเป็นศัพท์เฉพาะที่เรียกในด้านไอที
เป็นการดักจับการคีย์ข้อมูลจากคีย์บอร์ดไปจัดเก็บในที่ต้องการหรือส่งไปให้้
บุคคลที่ประสงค์ร้ายผ่านอินเตอร์เน็ต

โดยส่วนมาก keylogger จะเป็นโปรแกรมที่แฝงมากับโปรแกรมพวก trojan ฯลฯ
เพื่อดักจับข้อมูลการพิมพ์ของเรา หลายคนคงงงว่าผู้ที่ได้ข้อมูลไปเอาไปทำไร
เช่น เวลาที่คุณกำลัง login เข้าอีเมล์ hotmail แต่มีโปรแกรมพวก keylogger
แอบแฝงอยู่ในเครื่องก็จะดักจับรหัสผ่านของคุณ ทำให้อีเมล์ของคุณถูก hack ได้

แต่โดยส่วนมากที่เคยเห็นพวก keylogger ที่เจอจะเป็นการเขียนโปรแกรมขึ้นมา
แต่ได้ไปเจอเว็บนึงสอนทำอุปกรณ์ keylogger ที่เป็น hardware
ลองทำเล่นดูกันนะคับ link

Read Full Post »

วิธีที่ 1 ในกรณีที่คุณเป็นเจ้าของ server
เข้าไปแก้ไขไฟล์ my.ini (windows) or my.cnf (linux)

[mysqld]
default-character-set=tis620
default-collation=tis620_thai_ci

[client]
default-character-set=tis620

วิธีที่ 2 ในกรณีที่คุณไม่ได้เป็นเจ้าของ server
ต้องทำการเขียนแก้ที่โปรแกรมมิ่ง คือ ก่อนที่กระทำอะไรกับ db ให้ทำการ ดังนี้

$charset = “SET NAMES ’tis620′”;
mysql_query($charset);

$sql = “SELECT firstname, surname FROM member”;
mysql_query($sql);

Read Full Post »

ความหมายแต่ละหลักของเลขหมายบัตรประชาชน
หลักที่ 1 หมายถึงประเภทบุคคลซึ่งมี 8 ประเภท คือ
ประเภทที่ 1 ได้แก่
คนที่เกิดและมีสัญชาติไทย ได้แจ้งเกิดภายในกำหนดเวล
(ตั้งแต่ 1 มกราคม 2527)
ประเภทที่ 2 ได้แก่
คนที่เกิดและมีสัญชาติไทย ได้แจ้งเกิดเกินกำหนดเวลา
(ตั้งแต่ 1 มกราคม 2527)
ประเภทที่ 3 ได้แก่
คนไทยและคนต่างด้าวที่มีใบสำคัญประจำตัวคนต่างด้าว และมีที่อยู่ในทะเบียนบ้าน ในสมัยเริ่มแรก (1 มกราคม – 31 พฤษภาคม 2527)
ประเภทที่ 4 ได้แก่
คนไทยและคนต่างด้าวที่มีใบสำคัญคนต่างด้าวแต่แจ้งย้ายเข้า โดยยังไม่มีเลขประจำตัวประชาชนในสมัยเริ่มแรก
(1 มกราคม – 31 พฤษภาคม 2527)
ประเภทที่ 5 ได้แก่
คนไทยที่ได้รับอนุมัติให้เพิ่มชื่อเข้าในทะเบียนบ้านในกรณีตกสำรวจหรือกรณีอื่นๆ
ประเภทที่ 6 ได้แก่
ผู้ที่เข้าเมืองโดยไม่ชอบด้วยกฏหมาย และผู้ที่เข้าเมืองโดยชอบด้วยกฏหมาย แต่จะอยู่ในลักษณะชั่วคราว
ประเภทที่ 7 ได้แก่
บุตรของบุคคลประเภทที่ 6 ซึ่งเกิดในประเทศไทย
ประเภทที่ 8 ได้แก่
คนต่างด้าวที่เข้าเมืองโดยถูกต้องตามกฏหมาย คือ ได้รับใบสำคัญประจำตัวคนต่างด้าว
คนที่ได้รับการแปลงสัญชาติเป็นสัญชาติไทย และคนที่ได้รับการให้สัญชาติไทย

หลักที่ 2 ถึงหลักที่ 5 หมายถึงรหัสของสำนักทะเบียนที่ท่านมีชื่อในทะเบียนบ้านในขณะให้เลข สำหรับเด็กเกิดใหม่จะหมายถึงถิ่นที่เกิดเลยทีเดียว
โดยหลักที่ 2 และ 3 หมายถึงจังหวัด
หลักที่ 4 และ 5 หมายถึงอำเภอ หรือเทศบาล

หลักที่ 6 ถึงหลักที่ 10 หมายถึงกลุ่มที่ของบุคคลแต่ละประเภทตามหลักแรก หรือหมายถึงเล่มที่ ของสูติบัตร แล้วแต่กรณี
หลักที่ 11 และ 12 หมายถึงลำดับที่ของบุคคลในแต่ละกลุ่มประเภท หรือหมายถึงใบที่ของสูติบัตรแต่ละเล่ม แล้วแต่กรณี
หลักที่ 13 คือ ตัวเลขตรวจสอบความถูกต้องของเลข 12 หลักแรก

หลักแนวคิดในการเขียนโปรแกรม
สมมุติเลขที่บัตร
345020041569-8
เลข 8 คือ bit check ครับ
การคำนวนก็
3*13+4*12+5*11+0*10+2*9+0*8+0*7+4*6+1*5+5*4+6*3+ 9*2

นำผลลัพธ์มารวมกัน ครับ ในที่นี้จะได้ 245
นำ 245 มา MOD ด้วย 11 จะได้ 3

หลังจาก Mod ด้วย 11 แล้ว ให้ตรวจสอบผลลัพธ์ก่อนครับ
ถ้าได้ 1 ให้เปลี่ยนเป็น 0
ถ้าได้ 0 ให้เปลี่ยนเป็น 1
สามารถใช้ mod 10 แทนก็ได้
ถ้าเป็นเลขอื่นๆ ให้เอา 11 ตั้งแล้วนำค่าไป ลบ

นำ 11 ลบด้วย 3 จะได้ 8 พอดีครับ
ถ้าที่ได้ตรงกับ bit check ก็แสดงความหมายเลขบัตรนี้ถูกต้องครับ

อัลกรอริทึม
หลัก 13=(11-(ผลรวม(หลัก1*13,หลัก2*12,…,หลัก12*2) mod 11)) mod 10
หลัก 13=(11-(ผลรวม(3*13+4*12+…9*2) mod 11)) mod 10
หลัก 13=(11-(245 mod 11)) mod 10
หลัก 13=(11-(3)) mod 10
หลัก 13=8 mod 10
หลัก 13=8

มาดูโปรแกรมมิ่งที่เขียนตามอัลกรอรึทึมกันบ้าง

function checkSSN($ssn) {
$ssn = trim($ssn);
$ssn = str_replace(“-“, “”, $ssn);
$len = strlen($ssn);

if ($len != 13) {
echo “Error Social Security Number”;
exit();
}

$sum=0;
$c = 0;
for($i = $len; $i > 1; $i–) {
$sum += (int)(substr($ssn, $c, 1)) * $i;
$c++;
}

$mod = (int)($sum % 11);
$result = (11 – $mod) % 10;

$checkbit = substr($ssn, -1, 1);
if ($result == $checkbit) {
echo “Social security number : $ssn”;

echo “Result : True”;

return true;
} else {
echo “Social security number : $ssn”;

echo “Result : False”;

return false;
}
}

Read Full Post »

หลังจากไปอ่านของคนอื่นๆ(ของชาวบ้าน) มาเยอะ ไม่รู้จากที่ใดบ้างหลายเว็บ จำไม่ได้ละ ก็เลยเขียนเก็บไว้เองกันลืม ซะเลย
สำหรับผมนะครับ ได้ข้อสรุปว่าใช้ ในส่วนของการเพิ่มในตัวโปรแกรมดีกว่านะ เพิ่มอีกไม่กี่บรรทัดเอง

mysql_connect($host,$user,$pass);
mysql_select_db($dbname);
$charset = “SET NAMES ’tis620′”;
mysql_query($charset);

เพิ่มโปรแกรมอีกนิดหน่อย เพื่อตัดปัญหาการแสดงผลภาษาไทยของ MySQL และไม่ต้องไปเซตฝั่ง Server ตัดปัญหาครับ

Read Full Post »