2010年10月8日 星期五
Yahoo 斷章取義 API
哥哥安唷 我叫小樂 目前讀大二
民國78年次 身高165cm 47kg 34c
最近家里經濟不好 出來做兼職
希望好心ㄉ哥哥可以援助
見面滿意約 ,ㄅ滿意可以ㄅ約* 愛愛 伴游 聊天 逛街 鐘點情人
ㄞㄞ 3000 2h全套服務 現金交易 ㄅ轉賬刷卡
ㄞㄞㄉ時候要帶套套ㄛ 單純交易.各取所需
有需要ㄉ哥哥加我MSN: @hotmail.com
我ㄉ相簿http://www.wretch.cc/album/
可以在我相簿留電話給我, 我會第一時間聯絡妳ㄉ
期待哥哥約
關鍵字擷取
鐘點##人 203.61894582528
哥哥 124.68604562448
滿意 98.457096577591
聊天 96.000808858899
小樂 94.645411353588
兼職 87.775598642351
希望 86.83604180972
援助 86.090431693226
愛愛 81.748683909361
單純 72.878584750222
鐘點情人的情不知道為什麼變成##,其他都還蠻準的。
另外有一個問題是,如果整篇文章只是把上面關鍵字擷取出來的再傳回去,一樣會傳回這些關鍵字。
希望 185.71838296432
聊天 170.81425651791
小樂 169.63149462119
兼職 162.70161315737
援助 161.0193089944
滿意 148.33799007289
單純 147.81485462203
哥哥 124.63040966573
鐘點 118.08395440453
愛愛 81.748683909361
有些順序變了,但是沒有變的像是”愛愛”分數還是一樣,鐘點情人因為##不見了。
所以說,只要有這些零散的字,就算沒有意圖也一樣會被判斷是怪怪的文章。
再另外,yahoo會刪掉符號,☎之類的,應該是跟標點符號一起一開始被處理掉的,但是,如果在關鍵字裡面加入中文,例如援乂交。☎兼☎職這樣符號太多的也不會被抓出來,阿...就插入一堆電話就可以通過了。
需要python範例程式請留言。
sourceforge上面有java api可以用,提供中研院斷詞跟yahoo斷詞,但是沒有關鍵字這一項。
2010年5月30日 星期日
Motorola Droid 輸入法
Motorola輸入法比較麻煩, 他有檢查裝置, 也有多個螢幕解析度的設定。
所以, 就算跳過了檢查機制, 也可能因為螢幕解析度不符合, 而載入錯的(480x320)螢幕設定, 弄出一個超小鍵盤。或是手寫輸入法, 根本找不到正確的設定而掛掉...。
DisplayMetrics
2010年5月29日 星期六
蒙恬輸入法 for Acer Liquid
網路上流傳的是1.0版的, 有些地方不是很好用。例如, 按enter的時候他不會自動變成瀏覽器的Go, 或是搜尋的Search, 所以都要自己去按畫面上的按鈕。
新版的1.0.4在Acer的網站可以下載, 除了修正bug以外, 多了檢查機器的機制, 只能在Acer Liquid上面執行。
當然, 搜尋一下關鍵字Acer Liquid Model MODEL ...
...
...
...
...
然後就能在任何機器上面執行了。
2010年5月28日 星期五
HamiAPP for Android 驗證機制
Android的軟體都是Java語言編譯成Dalvik VM的bytecode然後交由虛擬機器來執行。每支程式都會有各自的VM環境互不影響。
也可以呼叫binary .so 。
不過中華電信Hami App 的認證機制是做在Java裡面, 所以破解起來非常容易, 因為bytecode很容易disassemble。
- 機器應該要先root, 才能把安裝在系統上的apk讀出來。
- 解開apk,裡面有一些resource檔, manifest, 跟classes.dex 主程式。
- classes.dex是所有class包裝在一起, 有點像是jar檔。可以用 baksmali 解開還原成assembly code, 修改完之後用smali包裝回去.dex
- net/emome/hamiapps/sdk/utility/LicenseUtility.smali 裡面有一個method checkValidLicense, 會連線檢查你的IMEI, 軟體授權等等, 只要有一項不通過的話, 就會丟出一個exception。要讓他通過的話, 想辦法讓這個method不會送出任何exception就好了。
- 之後就用smali打包成classes.dex。
- 丟回去原本的apk, 這邊不能直接用zip壓縮, 因為需要修改manifest裡面的簽章跟每個檔案的hash, 直接壓縮可以安裝, 但是是不能執行的。
- 就按照這裡的教學, 隨便生出一個key pair, 然後用signapk 去簽章就可以了。
軟體既然都要線上認證了, 就不要單純的只用signature有沒有通過來認證, 這樣太好破解了。
2010年5月3日 星期一
Garbage Collection in GraphicsMagick
/* A line to fill table x-axis in html A line to fill table x-axis in html A line to fill table x-axis in html*/ InitializeMagick(argv[0]); ImageInfo *info=new ImageInfo; ExceptionInfo * excp=new ExceptionInfo; GetImageInfo(info); GetExceptionInfo(excp); strcpy(info->filename,argv[1]); Image * ii = ReadImage(info,excp); ii=RotateImage(ii,270,excp); /* The original ii is lost!!! */ |
/* A line to fill table x-axis in html A line to fill table x-axis in html A line to fill table x-axis in html*/ Image * tmp = RotateImage(ii,270,excp); DestroyImage(ii); ii=tmp; /* To much trouble... */ |
/* A line to fill table x-axis in html A line to fill table x-axis in html A line to fill table x-axis in html*/ #define GC_DEBUG #include <gc/gc.h> #define CHECK_LEAKS() GC_gcollect() GC_init(); /*for GM*/ MagickAllocFunctions(GC_free,GC_malloc,GC_realloc); /*for IM*/ SetMagickMemoryMethods(\ (AcquireMemoryHandler)GC_malloc,\ (ResizeMemoryHandler)GC_realloc,\ (DestroyMemoryHandler)GC_free); /* Set Memory Alloc/Dealloc function to GC before calling any IM/GM function */ InitializeMagick(argv[0]); /* Call GC anytime you like */ CHECK_LEAKS(); |
2010年5月1日 星期六
static reference to vector->head,tail
#include <vector>
#include <iostream>
using namespace std;
template<class T>
class myvector:public vector<T>{
public:
T tail;
T head;
void push_back ( const T& x ){
std::vector<T>::push_back(x);
head=this->front();
tail=this->back();
}
void pop_back (){
std::vector<T>::pop_back();
head=this->front();
tail=this->back();
}
};
int main(){
class myvector<int> myv;
int & i=myv.head;
int & j=myv.tail;
myv.push_back(100);
cout<<i<<","<<j<<endl;
myv.push_back(200);
cout<<i<<","<<j<<endl;
myv.push_back(300);
cout<<i<<","<<j<<endl;
myv.pop_back(300);
cout<<i<<","<<j<<endl;
return 0;
}