關于答題外掛的一些思考,和告訴你答題助手是如何讓你瓜分百萬的
好久沒有更博了,2018年第一篇。我們來聊聊答題。
2018年一開年,最火的莫過于就是答題和區塊鏈了。
而今天,我想和大家來一起說說前者。
伴隨著各種答題的火熱,隨之各種【外掛】答題也出來了,開源外掛越發猖獗,很多人也說這使得游戲變得毫無意義?
寫著文字之前,我也是最早一批開發所謂答題【外掛】的人,但......
我常在微博喊反對外掛,其實我反對的僅僅是狹義的外掛,也就是電子游戲中的外掛。
有些人可能看見我反對外掛,習慣性地要夸一下我三觀很正,然而我想說:用不用外掛其實和一個人的三觀關系不大。
我反對電子游戲中的外掛,他不反對,我們不需要吵架。
因為我們的分歧并不是“使用外掛對不對”,而是“外掛是什么”——說得更深一點,我們的分歧在于“電子游戲是什么”。
我認為電子游戲是體育競技的一種,體育競技應當滿足奧林匹克精神:相互理解、友誼、團結和公平競爭。使用外掛是違反公平競爭精神的,外掛可恥。
他認為電子游戲是文化商品的一種,游戲和電影音樂沒有本質區別。休閑娛樂以開心為第一要務,開掛是為了玩兒的開心。他花錢買了游戲,他就是這個游戲的主人。
我和他誰對誰錯?你的心里已有答案,但是我們其實不在乎。
強調一點,我和他都是普通人,沒有幾十萬粉絲看我們直播打游戲,開掛不開掛純屬個人行為,對于青少年的心理健康不會產生良好的或不良的影響。
公眾人物是不可以開掛的,因為公眾人物身上肩負著社會責任。這里我不冗述。
為什么我只反對電子游戲中的外掛?
答題輔助、搶票軟件,同樣也是外掛。但它們是現實生活中的外掛,它們是西朝鮮這個叢林社會弱肉強食的一部分。叢林社會生而不公平,有錢人可以用錢解決一切問題,而沒錢的人只能去和別人撕破臉皮。
窮卻狡猾的人,就會用工具幫自己撕破別人的臉皮。
這里的狡猾不是貶義詞——事實上一個叢林社會里面最容易生存的就是這種人。有些人頭破血流了,破口大罵西朝鮮人生性卑劣,其實他是把社會風氣的錯歸結到了民族性上,偏頗千里。
人的塑造,三分靠天性,七分靠教育。出淤泥而不染的人不是不存在,只不過大部分人都不是。所以普通人當然不需要自怨自艾,錯的不是你,是這個世界。
我們所存在的現世,尚不具備穩定并且完善的規則,即便是相對公平規則也仍然處于起步階段。如果人類沒有把自己搞死的話,這些規則的動態調整可能會至少持續幾千年。我們可以向著若干個獎杯邁進,并以更加文明的規則來約束自己的行為,這是好事,然而在真正拿到獎杯之前,我們并非已經是勝利者。
這就是道德和立場問題。
有人認為游戲是競技,有人認為是娛樂。
同樣是偷竊,
盜墓賊可能覺得很酷,而偷我錢的賊就是殺千刀的。
說了這么多,我來轉轉筆鋒....
看了很多答題解決方案,整理分析了一下幾點,當然如果你沒什么技術開發能力,可以直接保存下面二維碼微信打開掃一掃即可進入。
了解技術的下面我就和你們一一說下實現方法。
一:AnswerHelper
各種答題有獎節目(百萬英雄,百萬贏家,沖頂大會)的輔助工具
會自動識別出題目和答案內容
自動調用瀏覽器在百度中搜索問題和答案
展示搜索結果并從搜索結果中智能推薦正確選項
可有效避免“個性化題目”造成的各類云答題失效
使用步驟
1,構建節點組件
安裝的NodeJS最新版本
命令行進入的NodeJS \ AnswerHelperServer \ node_modules \百度-AIP-SDK目錄,執行命令:
npm install
命令行進入的NodeJS \ AnswerHelperServer目錄,執行依次執行命令:
npm install mime
npm install cheerio
npm install segment
申請_百度文字識別服務測試賬號,在文字識別服務中選擇創建服務,獲取到AppID,API Key,Secret Key后寫入 AnswerHelperServer.js文件中的相應位置即可
//設置APPID / AK / SK
var APP_ID = “申請到的AppID ” ;
var API_KEY = “申請到的API密鑰” ;
var SECRET_KEY = “申請到的秘密密鑰” ;
2,構建VC ++組件
使用VS2008或更高版本打開AnswerHelper_vc2008.sln
編譯的Win32平臺的發布版本的可執行文件AnswerHelper.exe
3,投入使用
放置AnswerHelper.exe文件與AnswerHelperServer目錄在同一目錄下
在夜神模擬器安裝答題軟件
啟動AnswerHelper.exe程序并將程序區域出狀語從句:題區域重合
出現題目點擊后Do按鈕,程序將自動推薦答案
點擊Quit按鈕退出程序
中鍵點擊程序界面可以隱藏的NodeJS的命令行窗口
4,其他
可以也。使用adb.exe工具來連接物理手機應用說明教學,但是那樣比較慢,截圖命令:
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png
還可以將手機屏幕投影到電腦屏幕來提供答題圖像。
代碼見:https://github.com/Shilyx/AnswerHelper
二:問答輔助建立題庫的方式
現在大多數答題輔助對于圖像的識別都沒啥問題,主要就是最后問題的搜索,在這主要是討論一種建立題庫的方式,僅供大家參考。https://github.com/neal1991/answers
構建題庫
目前答題應用最關鍵的就是搜索算法了,現在利用 ocr 去識別圖片已經不是關鍵問題,最關鍵的是如何搜索到正確的答案。現在出題的方式也越來越詭異,所以建立題庫就很有必要了。
目前來說各種答題輔助對于答題 APP 題目的文字的識別基本都沒有太大的問題,主要的問題就是現在答案的搜索上。因為現在的題目出題方式越來越妖,直接去百度搜索或者百度搜索,或者統計搜索的結果數都是不太準確的。所以我希望能通過 elasticsearch 來建立一個問題題庫,當然題庫的建設需要其他人的建設和參與。
部分代碼主要是來自于 TopSup,主要增加的是題庫的建立方法以及在題庫中搜索的方法。
ElasticSearch
使用起來比較簡單,直接運行 bin/elasticsearch 或者 bin/elasticsearch.bat( windows 平臺)即可。
驗證 elasticsearch 是否正確運行, 打開瀏覽器訪問 http://localhost:9200 出現結果為:
{
"name" : "69VnU74",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "_ApoeosaQO24L7XfZUJ_1A",
"version" : {
"number" : "6.1.2",
"build_hash" : "5b1fea5",
"build_date" : "2018-01-10T02:35:59.208Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
Config
主要包括百度 ocr API 的相關配置以及截圖區域的配置,按照 config/config.template.yaml來進行配置。
貢獻題庫方式
有兩種方式你可以貢獻題庫,一種是通過文本方式,另外一種是上傳圖片的方式。
文本方式
你只要在 questions.txt 最后一行添加文字就可以了,問題和答案之間應該有一個空格。
利用圖片創建題庫的方式一開始存在一個問題,如何從選項中找到正確的選項呢。一開始想通過選項的數字來判斷,但是正確的選項并不一定是選擇人數最多的。感謝圖像處理這門課程,我想起來彩色的圖片轉換成灰度圖的時候,灰度值應該比灰色圖像的高。正確選項的背景顏色是彩色的,所以我們只要截圖選項區域,然后通過兩個閾值來過濾,設置閾值為 120 可以獲得所有選項,設置閾值為 190 則不包含正確的選項,通過這個差別就可以找到正確的選項了。
更多方式歡迎補充....
評論
評論
推薦評論
暫無評論哦,快來評論一下吧!
全部評論(0條)