咱們在涉及日誌分析時總會想盡辦法編寫日誌分析程序,但市場實際已經有了功能強大的日誌分析程序Splunck(http://www.splunk.com/),它提供天天500MB日誌的Trail-License,可是每每一次數據量就大於500MB。一直以來我試圖從網上找到可以用的License,但終無所獲。昨日無心間打開了Splunk的工做目錄,發現Splunk對其Python代碼並無作任何加密處理。而且Licensing.py中保存了部分數據限制的代碼。經過簡單閱讀獲得最簡單的破解方案,但本方案並非完美破解,只是將每日500MB數據限制提升到500TB。vim
用vim或其餘文本編輯工具打開D:\Program Files\Splunk\Python-2.6\Lib\site-packages\splunk\appserver\mrsparkle\controllers\licensing.py文件,在360行和363行後加入:app
quota_value = quota_value * 1000 * 1000ide
使其這段代碼變成:工具
if action == 'add' and not pool_object.quota_bytes['byte_value']:
quota_value = max(0, int(unallocated_bytes / 2**20))
quota_value = quota_value * 1024 * 1024
else:
quota_value = (pool_object.quota_bytes['byte_value'] or 0) / 2**20
quota_value = quota_value * 1024 * 1024加密
而後刪除D:\Program Files\Splunk\Python-2.6\Lib\site-packages\splunk\appserver\mrsparkle\controllers目錄下的licensing.pyo文件。在經過命令行執行:spa
splunck stop命令行
splunck start日誌
使其重啓,以後licensing.pyo文件會自動生成,也就是包含咱們添加的兩行即爲破解後的二進制文件。以後訪問http://localhost:8000/添加數據使其超越500MB的限制,這是界面頂端還會顯示「Daily indexing volume limit exceeded today. See License Manager for details.」,點License Manager鏈接進入license管理界面,可是你將看到下圖的效果,即表示破解成功:server