管控孩子電腦軟件官方版是一款使用方便的上網行為管理軟件,管控孩子電腦軟件官方版用于管控上網課的孩子,在之前的版本上編譯了exe執行程序,為了簡化,只編譯了一個孩子電腦的server端,以及一個家長端的控制端,當然,也可以把控制端放在孩子電腦上,一并執行!
程序的組成
1.1 本程序server端
server的daemon端,也即是ChildGuard.exe,默認監聽在8888端口。
運行時,會申請管理員身份運行,無管理權限會失敗。
由于其申請會申請windows開機啟動等一系列木馬常用行為,會被360認為是木馬之類。
需要讓360放行,并添加信任。
如果不放心exe程序,請下載對應的源碼,自行編譯
由于其會嘗試調用電腦攝像頭抓拍,有時會被360攔截,有時不會(說明360這個功能不靠譜啊,真攔截時,攔不住)
請在360安全衛士,“設置”-->“安全防護中心”-->設置“免打擾模式”和去掉“魔法攝像頭”
ChildGuard其會釋放出WatchDog.exe程序,并將它注冊成為一個開機自啟動的WatchDogC的服務。
WatchDogC的服務,會根據WatchDog.ini里面的配置,來定期輪詢啟動的ChildGuard.exe是否活著,沒有活著的話,嘗試啟動它。
這樣可以保證ChildGuard.exe即使被殺,WatchDogC服務會自動再拉起一個ChildGuard.exe程序
執行完后,重啟下電腦,重啟后,netstat -ano|findstr 8888
驗證確認ChildGuard.exe已經可以自動啟動,監聽在了8888端口
1.2 本程序的client端
客戶端部分,有幾個:
1.2.1 ChildControl.exe控制部分
這個程序放在家長電腦上運行,或者放置在孩子電腦上運行
放置在家長的電腦上運行,記得修改ChildControl.ini里面的孩子電腦ip地址
它負責死循環,每30s檢查一下孩子pc的狀態:
①獲得當前運行的是什么程序,程序的標題是什么
②如果當前的前臺程序在黑名單,那么kill它
③檢查360瀏覽器的標題,含有相關關鍵字,kill它
④檢查騰訊視頻是否存在,kill它
⑤每30s抓拍一次電腦屏幕,以及攝像頭抓拍一次
⑥每30s抓一端10s的麥克風錄音
⑦黑名單的開啟時間段:比如設置成晚上或者周末,可以使用黑名單的程序,其他時間可以
如果設置了啟動時自動隱藏,下次想能夠操作,請先修改ChildControl.ini里面的hide參數,設置為0
1.2.2 rpc_cmd.exe是命令行cli部分
這個可以放在我的電腦上運行:
>rpc_cmd.exe
checking host=stanleypc,port=8888
http://stanleypc:8888>help
func=s.help()
['now', 'md5sum', 'wf', 'rf', 'my_exec', 'killProcess', 'getProcess', 'getActiveProcName', 'cpu_usage', 'mem_usage', 'dimm_info', 'msg', 'msgImm', 'get_path', 'tts', 'net_info', 'is_admin', 'GetSystemPowerStatus', 'uptime', 'create_time', 'username', 'disk_c_usage', 'disk_io_counters', 'net_io_counters', 'snapScreen', 'snapCam', 'snapMerge', 'snapAudio', 'll', 'exit', 'help', 'version']
http://stanleypc:8888>version
func=s.version()
v0.8.6.20200410
http://stanleypc:8888>tts(別玩游戲啦,快做作業!)
tts這個用得多,主要是會在它屏幕上顯示一個對話框,上面有你發過去的文字,然后會在他電腦上,語音播報一下這段文字
管控孩子電腦軟件官方版當前支持的功能:
now:取得當前孩子pc的時間
md5sum:給定文件名,返回對應的md5值(用于校驗文件比對)
wf: 寫data給到指定文件
rf: 讀文件內容
my_exec : 執行指定的dos命令,返回標準輸出的內容,和錯誤輸出的內容
'killProcess', 給定pid,殺進程
'getProcess', 不加參數,返回所有進程信息;加pid返回pid進程信息;加caption信息,返回caption的進程信息
'getActiveProcName', 返回當前前臺的進程信息
'cpu_usage', 返回當前cpu利用率
'mem_usage', 返回當前內存利用率
'dimm_info',返回當前物理內存條情況
'msg', 發指定的文本消息給孩子的電腦屏幕,并等待孩子點“確定”
'msgImm',發指定的文本消息給孩子的電腦屏幕,不等孩子點,直接返回
'get_path',獲得當孩子pc上ChildGuard.exe運行所在目錄
'tts',發指定的文本消息給孩子的電腦屏幕,并語音播報給消息內容
'net_info',返回孩子pc上的網絡信息內容
'is_admin', 判斷ChildGuard.exe是否是以管理員模式運行的
'GetSystemPowerStatus',判斷電池電量等信息,方便今后的其他應急程序準備
'uptime', 獲得電腦的運行時間
'create_time',獲得ChildGuard.exe的運行時間
'username', 獲得當前ChildGuard.exe是以哪個用戶運行的
'disk_c_usage', 獲得c盤的利用率
'disk_io_counters', 獲得當前磁盤的io情況,建議間隔運行2次,取差值÷間隔時間,獲得io流量
'net_io_counters', 獲得網絡io情況
'snapScreen',抓電腦屏幕
'snapCam', 抓攝像頭拍照
'snapMerge', 抓電腦屏幕并抓攝像頭拍照,然后把兩者拼接到一個圖片上
'snapAudio',抓電腦的麥克風錄音一段指定時長(默認10s)
'll',類似linux的ls -l的輸出信息
待完善支持功能
1、熱更新
2、獲得微信訪問指定網址的內容。
目前GetForegroundWindow獲得窗口句柄
再GetWindowText用窗口句柄獲得標題,
用GetWindowThreadProcessId獲得pid
用WMI接口用pid獲得命令行信息
基本能覆蓋各個瀏覽器標題內容,滿足了大部分需求。
但如果用微信打開的網頁鏈接,或者小程序之類的,這個標題text或者頁面內容獲得不到。
還在嘗試別的思路,捕獲這個信息
3、防被殺
目前孩子小,還不會任務管理器,將來可能就會了。
要考慮病毒方式雙進程互動
4、目前用的是xmlrpc.server.SimpleXMLRPCServer,還沒有身份驗證機制,內網使用還好,不建議映射端口掛公網
網友評論