首先說一點(diǎn),圖片本身如今已經(jīng)不可能進(jìn)行代碼植入或者利用緩沖區(qū)溢出導(dǎo)致特定代碼執(zhí)行,早期有這種病毒/木馬,不過如今漏洞已經(jīng)被修補(bǔ)了,所以這個方向基本不可達(dá)到目的,因此不考慮
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)具備承接各種類型的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站項(xiàng)目的能力。經(jīng)過十多年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。
大概有兩種思路:
第一種,修改打開圖片的程序或者寫自己的瀏覽圖片程序,然后在圖片打開之后判斷打開的是否為特定圖片
第二種,在系統(tǒng)中運(yùn)行監(jiān)控程序,當(dāng)檢測到目標(biāo)圖片打開之后就執(zhí)行程序
找找你要顯示的圖片在哪里直接替換即可,文件名相同,大小不要差異太大
1、首先我們打開myeclipse,點(diǎn)擊左上角的File。
2、接著選擇New,選擇Java Project。
3、在創(chuàng)建java項(xiàng)目的頁面,首先給項(xiàng)目命名,點(diǎn)擊next。
4、一般在這里沒有什么要設(shè)置的,點(diǎn)擊下面的Finish。
5、項(xiàng)目創(chuàng)建完畢之后,我們需要創(chuàng)建類文件,也就是Class文件,在源文件夾src上右擊,選擇New,選擇Class。
6、然后再創(chuàng)建Class的面板上,先命名,然后點(diǎn)擊Finish(創(chuàng)建Class的時候要勾選下面的public static void mian(String[] args) ,這樣這個Class才能運(yùn)行)。
7、然后在main函數(shù)中輸入System.out.println("hello world!");意思就是打印出hello world!。
8、在Class上右擊,選擇Run As ,選擇Java Application。
9、如圖在控制臺中,我們就可以看到打印出的helloworld!。
不管學(xué)哪門語言,第一個HelloWorld程序成功運(yùn)行起來的時候,代表著你的學(xué)習(xí)已經(jīng)跨進(jìn)了一小步。做這個java實(shí)驗(yàn)之前,讀者最少要在自己的電腦上安裝好JDK(包括配置好環(huán)境變量),如果讀者還不會安裝JDK和配置環(huán)境變量可以看作者的另一遍經(jīng)驗(yàn)。
編寫并保存代碼。打開記事本編寫如圖1所示代碼,圖1代碼為(注意輸入代碼時輸入法一定切換到英文輸入狀態(tài)下):
public class HelloWorld {
/**
* 輸出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
在D盤建立一個JAVA文件夾用于保存代碼,保存的時候一定要注意,如圖2所示,“保存類型(T)”要選擇“所有文件(*.*)”,“文件名(N)”一定要為 HelloWorld.java 。如圖3所示,保存后到D:JAVA下檢查下文件名是否正確,HelloWorld.java.txt,HelloWorld.txt都是錯誤的文件名。JAVA程序代碼后綴為.java,文件名常常要求保持和類名一致。JAVA語言是嚴(yán)格區(qū)分大小寫字母的,但是Windows的文件名卻不區(qū)分大小寫。
啟動命令提示符并進(jìn)入到D:JAVA文件夾。如圖1所示,按下WIN+R鍵啟動運(yùn)行命令框,輸入cmd命令后回車,就可以啟動命令提示符窗口。然后在命令提示符窗口中輸入下面命令進(jìn)入D:JAVA目錄:
D: 回車
cd JAVA 回車
調(diào)用編譯指令javac把HelloWorld.java轉(zhuǎn)換為字節(jié)碼文件HelloWorld.class 。如下圖所示,執(zhí)行指令:
javac HelloWorld.java 回車
執(zhí)行指令如果沒提示什么信息就是最好的信息,這時檢查JAVA文件夾就會發(fā)現(xiàn)多了一個.class文件,這就是字節(jié)碼文件了。如果提示錯誤信息就要回過頭檢查了。首先檢查JDK環(huán)境變量是否配置好,然后檢查類名和文件名是否一致,再檢查代碼是否有用正文輸入法輸入等等。
運(yùn)行程序。代碼轉(zhuǎn)換為.class 文件后就可以在JVM虛擬機(jī)下運(yùn)行了。在命令提示符敲入命令:
java HelloWorld 回車
如圖所示,回車后打印輸出:
HelloWorld!
注意,這時實(shí)際上是運(yùn)行HelloWorld.class,但是命令中并不用加后綴名。
分析第三步的偽編譯原理。如圖所示,.java后綴的是源代碼,一個或者多個源代碼要經(jīng)過java編譯器生產(chǎn).class后綴的字節(jié)碼。字節(jié)碼是和平臺無關(guān)的,和C語言編譯生成平臺相關(guān)的機(jī)器碼是不一樣的。機(jī)器碼可以只能在對應(yīng)的平臺執(zhí)行,字節(jié)碼執(zhí)行是平臺無關(guān)的但是必須有解釋器。
分析第四部JAVA程序的執(zhí)行過程。圖為.class文件被讀取后進(jìn)行解釋為平臺相關(guān)機(jī)器碼執(zhí)行的過程。和編譯型語言(比如C)程序最大的不同是JAVA程序經(jīng)過解釋器轉(zhuǎn)換為和平臺相關(guān)的機(jī)器碼才可執(zhí)行,可見這個過程在執(zhí)行過程中動態(tài)解釋,而編譯型語言(比如C)是在執(zhí)行之前就編譯成了和平臺相關(guān)的機(jī)器碼了。這也是JAVA語言可以“一次(偽)編譯,到處運(yùn)行”的重要原因。