用別人裝好的 Ubuntu
想說 懶得跑 (人太懶)
裝個 VNC 來用:
# apt-get install tightvncserver
裝完了
# vncserver
輸入兩次密碼 她告訴我 可以連線了!
Yeah~
開了一個 console 來玩
先看看到底是哪個 user:
# id
疑~ 我的 console 怎不見了? @@""
嗯~ 被縮小到最下面去了? 怎回事
還原 console,換個姿勢,再來一次...
# id
耶~ 還是被縮小.... 搞什麼
但是 直接到機器前開console 就沒這問題
到底是? 看到x喔?
去 google了下
看來 還不少人有同樣問題?
結果 去 GNOME 的 系統設定裡面找
/系統設定值/個人/鍵盤捷徑鍵/ 往下拉 拉到 [視窗管理員] 裡面的
2011/09/30
2011/09/27
用C 連結 MySQL 範例
#include "stdio.h"
#include "stdlib.h"
#include "mysql.h"
#define HOST "127.0.0.1"
#define USER "root"
#define PASSWORD "654321"
#define DB "test"
main()
{
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
char number="";
char name[50]="";
char sex="";
int age;
float pay;
char query[200]="";
char delete[200]="";
char insert[400]="";
char update[200]="";
float max_pay;
mysql_init(&mysql);
if ( !mysql_real_connect(&mysql,HOST,USER,PASSWORD,DB,0,NULL,0) ) { /*连接*/
printf("connect mysql fail!!!\n");
exit(0);
}
strcpy(query,"SELECT `FNUMBER`, `FNAME`, `FSEX`, `FPAY` FROM `PAY` WHERE `FAGE` > 20"); /*查询*/
if (mysql_query(&mysql,query) != 0) { /*执行SQL语句*/
printf("SELECT ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
result = mysql_store_result(&mysql);
while ( ( row = mysql_fetch_row(result) ) ) {
strcpy(number,row[0]);
strcpy(name,row);
strcpy(sex,row);
pay = atof(row);
if ( pay > max_pay )
&nbMYSQL。sp; max_pay=pay;
printf("number: %s\t name: %s\t sex: %s\t pay: %f\t\n",number,name,sex,pay);
}
printf("max_pay:%f\n",max_pay);
mysql_free_result(result);
sprintf(delete,"DELETE FROM `PAY` WHERE `FPAY` = %f",max_pay);
if (mysql_query(&mysql,delete) != 0) {
printf("DELETE ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
else
printf("DELETE SUCCEED!!!\n");
strcpy(insert,"INSERT INTO `PAY` (`FNUMBER`, `FNAME`, `FSEX`, `FAGE`, `FPAY`) VALUES ('000002', 'Aaron', 'men', 30, '6000.00')");
if (mysql_query(&mysql,insert) != 0) {
printf("INSERT ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
else
printf("INSERT SUCCEED!!!\n");
strcpy(update,"UPDATE `PAY` SET `FPAY`=`FPAY` + 1000 WHERE 1");
if (mysql_query(&mysql,update) != 0) {
printf("UPDATA ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
else
printf("UPDATA SUCCEED!!!\n");
mysql_close(&mysql);
}
/*
Ref:
http://dev.mysql.com/downloads/connector/c
*/
#include "stdlib.h"
#include "mysql.h"
#define HOST "127.0.0.1"
#define USER "root"
#define PASSWORD "654321"
#define DB "test"
main()
{
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
char number="";
char name[50]="";
char sex="";
int age;
float pay;
char query[200]="";
char delete[200]="";
char insert[400]="";
char update[200]="";
float max_pay;
mysql_init(&mysql);
if ( !mysql_real_connect(&mysql,HOST,USER,PASSWORD,DB,0,NULL,0) ) { /*连接*/
printf("connect mysql fail!!!\n");
exit(0);
}
strcpy(query,"SELECT `FNUMBER`, `FNAME`, `FSEX`, `FPAY` FROM `PAY` WHERE `FAGE` > 20"); /*查询*/
if (mysql_query(&mysql,query) != 0) { /*执行SQL语句*/
printf("SELECT ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
result = mysql_store_result(&mysql);
while ( ( row = mysql_fetch_row(result) ) ) {
strcpy(number,row[0]);
strcpy(name,row);
strcpy(sex,row);
pay = atof(row);
if ( pay > max_pay )
&nbMYSQL。sp; max_pay=pay;
printf("number: %s\t name: %s\t sex: %s\t pay: %f\t\n",number,name,sex,pay);
}
printf("max_pay:%f\n",max_pay);
mysql_free_result(result);
sprintf(delete,"DELETE FROM `PAY` WHERE `FPAY` = %f",max_pay);
if (mysql_query(&mysql,delete) != 0) {
printf("DELETE ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
else
printf("DELETE SUCCEED!!!\n");
strcpy(insert,"INSERT INTO `PAY` (`FNUMBER`, `FNAME`, `FSEX`, `FAGE`, `FPAY`) VALUES ('000002', 'Aaron', 'men', 30, '6000.00')");
if (mysql_query(&mysql,insert) != 0) {
printf("INSERT ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
else
printf("INSERT SUCCEED!!!\n");
strcpy(update,"UPDATE `PAY` SET `FPAY`=`FPAY` + 1000 WHERE 1");
if (mysql_query(&mysql,update) != 0) {
printf("UPDATA ERROR!!!\n");
mysql_close(&mysql);
exit(0);
}
else
printf("UPDATA SUCCEED!!!\n");
mysql_close(&mysql);
}
/*
Ref:
http://dev.mysql.com/downloads/connector/c
*/
2011/09/07
Dragon of Atlantis X-S3-AWS SHA1 保護 被破解
剛在 Google 找資料
找到某篇 UserScript/GreaseMonkey 網站
看到 DOA(Dragon of Atlantis) 放在 HTTP Header 的 SHA1保護 被破解了
看 source,其X-S3-AWS內容編碼方式 是:
"Dracunculiasis" + parmStr + "LandCrocodile" + url + "Bevar-Asp"
所以 如果 我要送 這參數(parmStr):
送到 url=http://realm141.c10.castle.wonderhill.com/api/cities/800011967/marches.json
那麼 就必須把 下面這堆 用 SHA1 編碼 放進 "X-S3-AWS" 擺在 HTTP Header 中 一起送出!
X-S3-AWS: 61056ea58077cfc85377896296130b5f43849862
重點是.....
這傢伙 到底是怎麼找出來這規則的?
實在是好崇拜~ 鳥不起!!
找到某篇 UserScript/GreaseMonkey 網站
看到 DOA(Dragon of Atlantis) 放在 HTTP Header 的 SHA1保護 被破解了
看 source,其X-S3-AWS內容編碼方式 是:
"Dracunculiasis" + parmStr + "LandCrocodile" + url + "Bevar-Asp"
所以 如果 我要送 這參數(parmStr):
march%5Bunits%5D=%7B%22ArmoredTransport%22%3A50%2C%22Halberdsman%22%3A1500%2C%22Longbowman%22%3A2300%2C%22BattleDragon%22%3A266%7D&march%5Bx%5D=190&march%5By%5D=144&user%5Fid=6490988&%5Fsession%5Fid=996be29c8f0f9dd3f98979a2cb7b492a&march%5Bgeneral%5Fid%5D=800195477×tamp=1315370081&%5Fmethod=post&march%5Bmarch%5Ftype%5D=attack&dragon%5Fheart=59d0b6965197b324b5f1078b317210fb58c975f8&version=14
送到 url=http://realm141.c10.castle.wonderhill.com/api/cities/800011967/marches.json
那麼 就必須把 下面這堆 用 SHA1 編碼 放進 "X-S3-AWS" 擺在 HTTP Header 中 一起送出!
Dracunculiasismarch%5Bunits%5D=%7B%22ArmoredTransport%22%3A50%2C%22Halberdsman%22%3A1500%2C%22Longbowman%22%3A2300%2C%22BattleDragon%22%3A266%7D&march%5Bx%5D=190&march%5By%5D=144&user%5Fid=6490988&%5Fsession%5Fid=996be29c8f0f9dd3f98979a2cb7b492a&march%5Bgeneral%5Fid%5D=800195477×tamp=1315370081&%5Fmethod=post&march%5Bmarch%5Ftype%5D=attack&dragon%5Fheart=59d0b6965197b324b5f1078b317210fb58c975f8&version=14LandCrocodilehttp://realm141.c10.castle.wonderhill.com/api/cities/800011967/marches.jsonBevar-Asp所以......
X-S3-AWS: 61056ea58077cfc85377896296130b5f43849862
重點是.....
這傢伙 到底是怎麼找出來這規則的?
實在是好崇拜~ 鳥不起!!
using RANDOM number in `expect` 在expect中 使用亂數
expect 超好用
尤其是 加上 autoexpect
根本就是 Office 裡的 巨集錄製 功能
只要你照著做一次 她就幫你做好整個架構
你只需要做些小修剪 就可以上線了
但是 很討厭的是
expect 裡面 沒有亂數(random number)功能
所以 我有些地方 想要他做些不同的改變 就很麻煩
我試著 用 bash 裡的變數 $RANDOM 去給 expect 用:
所以 會出這種錯誤:
再來玩一次!
阿不是亂數嗎? 怎每次出來結果都一樣?
原來... 我們 export RANDOM 時, 只給他一個叫RANDOM的變數名跟當下的變數值
他沒法像bash 給你的 $RANDOM 一樣 每次都會丟不同的數值出來
變成 每次要執行 .exp 檔之前 要先自己想辦法 export RANDOM 一次!
而且 如果 .exp 用到$RANDOM不只一次 .... 每個人抓到的亂數都會是一樣的
這.....
只好換跑道..........
轉向 "system" 命令下手!
system 後面 就直接接 你要 shell 做的事情 就對了
所以 就直接這樣亂搞:
所以......
換個方向 再來亂搞:
看樣子 他是以為我要叫他把 expect 的變數印(echo)出來?
好吧~ 給他個 escape 再來亂搞:
但是.... system echo出來的東西 我要怎樣拎回 expect 裡用?
這樣玩看看?
直接在銀幕上印一個亂數
但是 我要處理的變數 竟然直接回空字串給我
好吧~
再換跑道... 繼續亂搞:
大哥~ 我是要你 echo $RANDOM 這個變數出來! 不是要你印 "$RANDOM" 這幾個字出來
真是欠人罵!
後來想想, exec 指令 應該是叫用 execle 這類函式,所以老爸的環境不會被複製做去
這下怎處理? =_="
exec 生了個 沒有 RANDOM 的環境出來
那麼 我就硬生一個 有RANDOM的環境出來給他 不就好了?
所以......
尤其是 加上 autoexpect
根本就是 Office 裡的 巨集錄製 功能
只要你照著做一次 她就幫你做好整個架構
你只需要做些小修剪 就可以上線了
但是 很討厭的是
expect 裡面 沒有亂數(random number)功能
所以 我有些地方 想要他做些不同的改變 就很麻煩
我試著 用 bash 裡的變數 $RANDOM 去給 expect 用:
#!/usr/bin/expect -f但是 RANDOM 不算是 環境(ENVironment)變數
set var_r $env(RANDOM)
send "rand=$var_r.\n\r"
所以 會出這種錯誤:
can't read "env(RANDOM)": no such variable解決辦法: 先 export/declare 這個變數 讓環境變數中 有叫做 'RANDOM' 的東西:
while executing
"set var_r $env(RANDOM)"
(file "xxx.exp" line 2)
# export RANDOM看起來 問題似乎解決了! 真Happy...
# xxx.exp
rand2=18835.
再來玩一次!
# xxx.exp@@"
rand2=18835.
阿不是亂數嗎? 怎每次出來結果都一樣?
原來... 我們 export RANDOM 時, 只給他一個叫RANDOM的變數名跟當下的變數值
他沒法像bash 給你的 $RANDOM 一樣 每次都會丟不同的數值出來
變成 每次要執行 .exp 檔之前 要先自己想辦法 export RANDOM 一次!
而且 如果 .exp 用到$RANDOM不只一次 .... 每個人抓到的亂數都會是一樣的
這.....
只好換跑道..........
轉向 "system" 命令下手!
system 後面 就直接接 你要 shell 做的事情 就對了
所以 就直接這樣亂搞:
system "export RANDOM"哈哈... 結果,子程序(shell)的環境變數,無法上傳回去給老爸!
所以......
換個方向 再來亂搞:
system "/bin/echo $RANDOM"沒想到..... 出現這訊息:
can't read "RANDOM": no such variable嗯... expect 的變數名 也都用 "$" 開頭
while executing
"system "/bin/echo $RANDOM ""
(file "xxx.exp" line 2)
看樣子 他是以為我要叫他把 expect 的變數印(echo)出來?
好吧~ 給他個 escape 再來亂搞:
system "/bin/echo \$RANDOM"Hahaa... 亂數終於出現!!
但是.... system echo出來的東西 我要怎樣拎回 expect 裡用?
這樣玩看看?
set var_r [system /usr/bin/expr \$RANDOM]=_="
直接在銀幕上印一個亂數
但是 我要處理的變數 竟然直接回空字串給我
好吧~
再換跑道... 繼續亂搞:
set var_r [exec /bin/echo \$RANDOM]結果:
rand=$RANDOM.~_~"
大哥~ 我是要你 echo $RANDOM 這個變數出來! 不是要你印 "$RANDOM" 這幾個字出來
真是欠人罵!
後來想想, exec 指令 應該是叫用 execle 這類函式,所以老爸的環境不會被複製做去
這下怎處理? =_="
exec 生了個 沒有 RANDOM 的環境出來
那麼 我就硬生一個 有RANDOM的環境出來給他 不就好了?
所以......
HASH MD5/SHA online 加密/解密 小tools
- 線上HASH加密/編碼:
- http://www.fileformat.info/tool/hash.htm 同時幫你把 你的keyword, 或檔案 直接轉出一堆亂七八糟的
- http://md5-hash-online.waraxe.us/ 只提供 MD5,但是 可以一次貼一整篇文章進去算!
- http://tools.benramsey.com/md5/ 這網站的東西 其實 不是很好用!
但是..... 網頁最下面有一行小字.....
http://benramsey.com/code/source.php?file=md5.php
是的! 他竟然把整個 Source Code open 出來給大家看
稍微看了一下..... 這.... =_=" 一直用別人的資源...不會被討厭嗎?
- 線上解密:
- MD5:
..... 不過 用 "54321"的 MD5... 就.....
- * UPDATE: 2013/08/11: 『The domain hashchecker.com is listed for sale. Click here to inquire about this domain name.』
- SHA: http://passcracking.com/index.php "12345" 跟 "54321" 都能成功解出來!
不過 再複雜點 就..... 不在字典檔裡 沒辦法!
- 其中, http://www.cmd5.org/ 提供其他許多各種加密方式
訂閱:
文章 (Atom)