遠程式控制制手機源碼
① 物聯網雲平台遠程式控制制源碼,響應式布局,MQTT協議 Spring Boot
使用Java語言;資料庫:Mysql;經典技術組合(MQTT、Spring Boot、Shiro、MyBatis、Druid、Ehcache、Thymeleaf、Bootstrap、Swagger)開發,支持多數據源,支持代碼一鍵生成。
功能模塊:
設備管理、開關管理、計劃管理、感測器管理、感測器數據展示、報警規則管理、設備日誌、用戶管理、角色管理、部門管理、崗位管理、菜單管理、字典管理、參數管理、通知公告、操作日誌、登錄日誌、在線用戶、定時任務、代碼生成、系統介面、服務監控、緩存監控、在線構建器、連接池監視等。
功能特點:
1、硬體使用 ESP8266,基於MQTT協議,自建物聯網雲平台。
2、支持雲固件升級、設備遠程重啟。
3、支持音頻播放、開關、普通燈、調色燈等各種用電設備控制。
4、單個模塊可控制8路用電設備開關,可對模塊鬧扒團信息、開關信息、計劃任務、報警規則等維護管理。
5、雲平台可對各類感測器管理,對感測器數據有多種展示方式。可設置閾值報警規則,符合報警規則的可執行自定義的動作。
6、模塊具有一鍵配網功能,變更網路時無需重新燒寫程序,方便快捷。
7、控制端可使用任意網路(2G/3G/4G/5G/WiFi/等)控制燈、熱水器、電視、電機、窗簾、監控等各種用電設備,不受任何地區限制。
8、可雲端存儲模塊各路開關狀態,模塊斷電或重啟後可自動同步雲端模塊各路開關狀態,具有開關狀態記錄功能。
9、可記錄設備所有操作記錄,模塊、用戶上下線記錄等,並具有多種類型的數據統計展示。
10、控制設備命令下達後有狀態反饋,可確保設備控制命令執行成功,且延時低。
11、具有心跳檢測功能,模塊掉線或模塊重啟後模塊可自動重連MQTT服務,具有模塊上下線提醒功能(平台消息提醒、郵件提醒)。
12、具有定時功能,可指定某一時刻執行、周期執行、延時執行、自定義Cron表達式執行等操作。
13、可多模塊接入雲平台,可統一管理、控制模塊各路設備開關。
14、雲平台可對所有用戶管理,每個用戶可配置不同此凱角色、不同許可權,具有許可權分配功能。
15、前端採用完全響應式布局,支持電腦液橘、平板、手機等所有主流設備。
17、具有代碼一鍵生成功能(包括控制器、模型、視圖、菜單等),方便快速開發。
18、支持多數據源,簡單配置即可實現切換。
19、支持菜單、按鈕及數據許可權分配,亦可自定義數據許可權。
20、具有完善的XSS防範及腳本過濾,徹底杜絕XSS攻擊。
21、Maven多項目依賴,模塊及插件分項目,盡量松耦合,方便模塊升級、增減模塊。
22、支持服務監控、數據監控、緩存監控等功能。
② 易語言怎麼編寫遠程式控制制啊像灰鴿子的那種!最好有源代碼!
gh0st遠控軟體採用驅動級RESSDT過主動,svchost參數啟動,替換系統服務的方式工作的,工作方式較為先進,美中不足的部分是沒有進行驅動級或用戶級隱藏,當然這部分可以添加進去。編碼利用了VC的編程環境。
一、環境配置
編譯環境一定要配置好:DDK+SDK+VC6,DDK用來編譯sys文件的,SDK+VC6是用來編譯工程的,配置部分比較簡單,網上有很多資料,這里不再詳述,有興趣的朋友也可以查看DDK和SDK的相關幫助。
二、特徵碼定位簡述
殺毒軟體查殺木馬的原理基本是根據特徵查殺的,被查殺的部分我們稱之為特徵碼,所以我們可以利用特徵碼定位工具MyCLL定位出病毒的特徵碼位置,定位工具原理是將被掃描木馬分塊,利用分段填充的方式,匹配殺軟的特徵值,找到殺軟查殺病毒的位置。
定位出特徵碼,如何反向找到源碼中的對應位置呢?請看下面分析,
三、二進制文件與源碼定位之map文件利用
map文件是二進制和源碼之間對應的一個映射文件。
我們假設根據第三步我們定位出了病毒的特徵碼:
病毒名稱 特徵碼位置 內存地址
svchost.dll 000038AA_00000002 100044AA
svchost.dll 00005F98_00000002
第一步設置VC編譯環境生成Map文件。
在 VC 中,點擊菜單「Project -> Settings」選項頁(或按下 Alt+F7),選擇 C/C++ 選項卡,並在最下面的 Project Options 裡面輸入:/Zd ,然後要點擊 Link 選項卡,選中「Generate mapfile」復選框,並在最下面的 Project Options 裡面輸入:/mapinfo:lines,表示生成 MAP 文件時,加入行信息。設置完成。
第二步編譯VC工程,設置活動工程編譯即可,這個不用說明。這個步驟完成後,在release(或debug)目錄,多了一個.map文件(比如svchost.map)。
第三步打開map文件(用UE或文本編輯器打開都行),形式如下:
(begin)
Timestamp is 488fcef2 (Wed Jul 30 10:16:18 2008)
Preferred load address is 10000000
---------------------------------------------------------------------------1----(為方便說明,wrw添加)
Start Length Name Class
0001:00000000 00010a50H .text CODE
0001:00010a50 00000485H .text$x CODE
0002:00000000 000004c8H .idata$5 DATA
......
0003:00000010 00000004H .CRT$XIZ DATA
0003:00000020 00001a50H .data DATA
0003:00001a70 00000688H .bss DATA
0004:00000000 000000a8H .rsrc$01 DATA
0004:000000b0 00000cf0H .rsrc$02 DATA
----------------------------------------------------------------------------2---(為方便說明,wrw添加)
Address Publics by Value Rva+Base Lib:Object
0001:00000000 ??0CAudio@@QAE@XZ 10001000 f Audio.obj
0001:000000d0 ??_GCAudio@@UAEPAXI@Z 100010d0 f i Audio.obj
0001:000000d0 ??_ECAudio@@UAEPAXI@Z 100010d0 f i Audio.obj
0001:000000f0 ??1CAudio@@UAE@XZ 100010f0 f Audio.obj
0001:000001e0 ?getRecordBuffer@CAudio@@QAEPAEPAK@Z 100011e0 f Audio.obj
0001:00000240 ?playBuffer@CAudio@@QAE_NPAEK@Z 10001240 f Audio.obj
0001:000002c0 ?InitializeWaveIn@CAudio@@AAE_NXZ 100012c0 f Audio.obj
......
0001:00003310 ?SendToken@CFileManager@@AAEHE@Z 10004310 f FileManager.obj
0001:00003320 ?UploadToRemote@CFileManager@@AAE_NPAE@Z 10004320 f FileManager.obj
0001:00003440 ?FixedUploadList@CFileManager@@AAE_NPBD@Z 10004440 f FileManager.obj
0001:00003670 ?StopTransfer@CFileManager@@AAEXXZ 10004670 f FileManager.obj
0001:00003730 ?CreateLocalRecvFile@CFileManager@@AAEXPAE@Z 10004730 f FileManager.obj
......
----------------------------------------------------------------------------3---(為方便說明,wrw添加)
Line numbers for .\Release\FileManager.obj(E:\vtmp\gh0st3src\Server\svchost\common\FileManager.cpp) segment .text
17 0001:00002630 20 0001:0000267f 21 0001:00002698 24 0001:000026d0
25 0001:000026f8 26 0001:0000273c 29 0001:000027d0 33 0001:000027ee
77 0001:000027f8 36 0001:000027fb 37 0001:00002803 77 0001:0000280d
......
532 0001:0000340f 534 0001:00003414 537 0001:00003428 540 0001:00003440
546 0001:0000345d 547 0001:00003487 548 0001:00003490 549 0001:00003492
551 0001:0000349e 552 0001:000034b8 553 0001:000034cb 554 0001:000034d4
558 0001:000034de 560 0001:000034e9 563 0001:000034ee 564 0001:00003506
......
(end)
我們看下,定位svchost.dll 的第一個特徵碼內存地址為:100044AA,在第2塊中,我們可以找到RVA+BASE與之很接近的是
0001:00003440 ?FixedUploadList@CFileManager@@AAE_NPBD@Z 10004440 f FileManager.obj
這樣我們可以定位到FileManager.cpp中的FixedUploadList函數,是不是范圍縮小了?
下面我們再縮小代碼行
利用這個公式:特徵碼行偏移 = 特徵碼地址(Crash Address)- 基地址(ImageBase Address)- 0x1000
看起來好像很難,其實很簡單,我們將100044AA去掉內存基址10000000,再減1000,因為PE很多從1000開始,可以得到代碼偏移地址為34AA。到第3塊中找對應的代碼行。
偏移地址34AA在(551 0001:0000349e 552 0001:000034b8 )中間,也就是551行和552行中間,我們到源程序中查找第551行:
wsprintf(lpszFilter, "%s%s*.*", lpPathName, lpszSlash);
這樣就定位出源代碼了,要怎麼修改就怎麼修改它就可以了。
四、實戰免殺
A、卡巴免殺
首次編譯後,先做卡巴的免殺。卡巴殺sys文件和dll,當然也就殺包裝它們的install.exe,最後卡巴還殺生成的sever,我這里說殺生成好的server不是和前面的特徵碼重疊的地方,而是殺配置信息。
第一步、sys免殺
sys重新編譯後,增加了輸入表的函數,同時系統不同,造成很多地方不同於原特徵,順利通過卡巴、金山、小紅傘等殺軟。
第二步、svchost.dll免殺
特徵碼定位MultiByteToWideChar和"gh0st update"兩個位置。這里是通過第3步map文件得出的。
卡巴怕加花指令, 這個函數MultiByteToWideChar的調用上,可以在這個函數前面隨便加幾句無效語句就可以通過卡巴殺軟。
字元串調用"gh0st update" ,這個是用於更新用的 ,如果不要在線更新,直接把這個語句所在代碼塊刪除;嘿嘿,其實搜索工程替換這個字元串為其他的字元串就可以了^_^,這個方法同時可以過金山殺軟。
第三步、server免殺
卡巴定位在最後的配置信息,採取跳轉顯然是不行的,採用加花的辦法,在寫入AAAAAA配置信息之前,隨便寫些東西,就可以做server免殺。
卡巴免殺完成!
B、Avast免殺
最新的avast殺軟再查殺1下,殺install.exe和svchost.dll(也就是殺生成的文件和其中的資源文件),接著做它的源碼免殺。
定位在特徵字元串%02d/%02d/%02d和「SYSTEM\CurrentControlSet\Services\%s」兩個地方。
解決方案:
1、svchost.dll的特徵碼定位在鍵盤記錄KeyboardManager.cpp文件中的SaveInfo(char *lpBuffer)函數。特徵字元串%02d/%02d/%02d,也就是我們看到鍵盤記錄的日期,修改之,修改的方法很多,將其改為[%d/%d/%d %d:%d:%d] ,編譯即可通過avast殺軟。
2、install的特徵碼定位在「SYSTEM\CurrentControlSet\Services\%s」,對應文件是install.cpp里的InstallService函數,修改大小寫,編譯即可通過免殺。
五、添加垃圾代碼的小方法
垃圾代碼要移動特徵碼所在的位置,不要跑到堆棧中了,這樣的代碼沒有用。可以採取添加for循環,做計數,簡單統計,採用局部變數,不改變後面的邏輯為宜。
添加輸出表的方法:
有殺輸出表的,可以在生成的svchost.dll上添加空函數 ,但是每次編譯都要修改1次資源 ,其實我們在源碼上添加如下語句:
extern "C" __declspec(dllexport) bool JustTempFun();//聲明
……
extern "C" __declspec(dllexport) bool JustTempFun() //實現
{
return false;
}
編譯後,輸出表就被改變了,有的殺軟就可做到代碼免殺。
六、gh0st自動生成6to4ex.dll的修改
看到好多站友提問自動生成6to4ex.dll的問題,有熱心站友也提出了自己的見解 ,我感覺有些人提出的解決方案不完全正確,有可能造成剛入手人誤解,我根據自己的理解說明1下。
gh0st服務端是通svchost -netsvcs啟動的,所以程序要利用netsvcs 服務,服務端也就是根據netsvcs生成的,故不能說服務端生成是隨機的,相對於大多數系統來講,基本是固定的,下面看分析。
查看install.cpp裡面的InstallService()方法,首先遍歷HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\Svchost中的服務項,查找到一個服務後,程序採取替換服務的方法,將原服務刪除,然後生成對應服務項+ ex.dll的文件替換原服務,6to4服務一般排在第一位,6to4服務是一種自動構造隧道的方式,作用在於只需要一個全球惟一的IPv4地址便可使得整個站點獲得IPv6 的連接,這個服務對一般人來講,基本閑置,所以我們的程序就把6to4服務給替換掉,同時在windows\system32\目錄下生成 6to4ex.dll,以後啟動就是6to4ex了,如果把這個服務跳過去,就依次向下生成Ias、Iprip等服務啦,如果netsvcs項沒有可以替換的服務,則程序將自己添加1個服務,名稱就是由 AddsvchostService()方法產生的netsvcs_0x%d。
這樣說不知道關心服務名稱的明白了不?
這個不能說是技術問題,但是小技巧問題可以從這里產生,我不知道其他人的360是怎麼過的,但是我覺得可以提示1下的是,如果是360默認系統安全的服務,它肯定不會報不安全,替換閑置的系統安全的服務則通過360的效果要好的多
本文來自: 華夏黑客同盟論壇 本文詳細地址:http://bbs.77169.com/read.php?tid=255676
③ 請問誰知道哪裡有遠程式控制制軟體VNC的源碼
vnc的源碼安裝與使用!!!
VNC的原碼安裝與使用
下載VNC Server與VNC viewer.
VNC Server下載地址:http://www.linuxeden.com/download/softdetail.php?softid=744
VNC viewer下載地址:http://download.pchome.net/php/dl.php?sid=2603
文章分為兩部分:1〉被控端 Redhat A3 主控端Windows 2000
2〉被控端 Windows 2000 主控端Redhat A3
一、被控端 Redhat A3 主控端Windows 2000
1.安裝vnc-3.3.7-x86_linux.tar.gz
t ar -zxvf vnc-3.3.7-x86_linux.tar.gz
cd vnc-3.3.7-x86_linux
./vncinstall /usr/bin /usr/local/share/man #前一個路徑是vnc的執行文件路徑(可更改) 後一個是vnc man的安裝路徑
安裝winvnc.exe
2.在Linux上啟動VNC Server
執行vncserver命令:
[root@linux root]# vncserver
You will require a password to access your desktops.
Password: ----為了不想任何人都可以任意遙控此計算機。因此當第
Verify: ---1次啟動VNC server時,會要求設置網路遙控的密碼。
New 『X』 desktop is linux:1 ----一定要記住這一行稍後會用到。
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
(經上述步驟後,便已啟動了VNC Server。如果你想要更改VNC Server的密碼,只要執行vncpasswd命令即可。)
3.在Microsoft Windows上運行VNC Viewer
直接運行「vncviewer.exe」,系統會出現」Connection details」對話框。
在「Connection details」對話框中的「VNC server」文本框中輸入VNC Server的IP地址(或主機名及顯示裝置編號,(請看3。在Linux上 啟動VNC server的這一行,New 『X』 desktop is linux:1 得到此信息),例如:192.168.0.1:1(冒號後面的1是執行VNC Server生成的 顯示裝置編號),
如圖1
單擊「OK」按鈕後,VNC Server即會開始檢查所輸入的信息,若是信息錯誤,系統會出現「Failed to connect to server 」的錯誤信息:如圖2
若是信息正確,則會接著出現「VNC Authentication」對話框。如圖3
若是在「VNC Authentication」對話框中輸入的密碼正確,就可以成功地打開Linux的桌面窗口。如圖4
4. 從瀏覽器遠程遙控。
啟動VNC Server 後直接打開瀏覽器,在地址欄中輸入被控端的網址或IP地址,並在網址後加上「:5800+顯示編號」的埠號即可操控該計 算機。
如圖5
例如:http://192.168.01.:5801 (如果顯示編號為1,一般第一次設置的顯示編號都是1,就用5800+1=5801。)
如圖6
如圖7
5.vnc默認連接的TWM桌面,可以修改/root/.vnc/xstartup文件,更改連接的桌面。把最後一行 twm& 改成 gnome-session& or kde&
二、被控端 Windows 2000 主控端Redhat A3
1.在windows 2000 中運行vnc server ,起來之後右鍵點擊vnc server的圖標--〉properties 出現vnc server 的屬性配置界面。
如圖8
在password後輸入自己的密碼,並把Auto的勾去掉,並寫一個顯示裝置編號,我的為1。點ok退出。
2.在LINUX中輸入vncviewer,出現如圖,輸入vnc server 的ip+顯示裝置編號(192.168.0.2:1) 回車出現如圖:
如圖9
如圖10
輸入剛才在password後的密碼,就會出現windows 2000的界面了!
④ 如何在e4a編程編寫wifi手機遠程式控制制手機的代碼,發給我,謝謝
遠程式控制制手機的代碼,現在的手機都有安全防護措施,從底層已經避免了外界對他的遠程式控制制,除非是手機主動授權才會