① .asm是什麼文件
ASM是匯編語言源程序的擴展名,匯編語言(Assembly Language)是面向機器的程序設計語言。匯編語言是一種功能很強的程序設計語言,是利用計算機所有硬體特性並能直接控制硬體的語言。打開asm文件有兩種方法即筆記本和MasmEdit軟體。
在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。因此匯編語言亦稱為符號語言。
使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟體中語言處理系統軟體。匯編程序把匯編語言翻譯成機器語言的過程稱為匯編。
匯編語言比機器語言易於讀寫、調試和修改,同時具有機器語言全部優點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴於具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。
匯編語言的特點
1、面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。
2、保持了機器語言的優點,具有直接和簡捷的特點。
3、可有效地訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。
4、目標代碼簡短,佔用內存少,執行速度快,是高效的程序設計語言。
5、經常與高級語言配合使用,應用十分廣泛。
② upx 鐨勮︾粏綆楁硶鍜屾簮浠g爜鏈濂芥槸asm鐨勶紝c鐨勪篃琛
寮婧愶紝鏈夋簮鐮侊紝浣犲幓瀹冧滑鐨勪富絝欎笂鍘諱笅灝辮屼簡銆
upx鐨勪唬鐮佸簲璇ユ槸src鐩褰曚笅錛屾槸C++綾葷殑錛屽帇緙╃畻娉曞簱鏄疷CL錛岀増鏈2.0浠ュ悗鐨勫姞浜唋zma銆備笉鐭ラ亾鏄浠涔堢紪璇戝櫒錛屾湁makefile ,鍙鑳芥槸linux鐨勶紝鎴戜篃娌$紪璇戣繃銆
褰撴椂鏄涓轟簡鍐欏畠鐨勮劚澹蟲満錛屾墍浠ョ湅瀹冨備綍鍔犲3鐨勯儴鍒嗕笉澶氾紝涓昏佽繕鏄鐪嬭劚澹抽儴鍒嗙殑銆傝劚澹抽儴鍒嗙殑鏈夋眹緙栵紝鑷宸辨壘鎵懼惂銆
③ 浠涔堟槸asm
鍋囪炬偍瑕佸湪鏁版嵁搴撲腑浣跨敤 10 涓紓佺洏銆傚埄鐢 ASM錛屾偍涓嶉渶瑕佸湪 OS 絝鍒涘緩浠諱綍涓滆タ錛岃ョ壒鎬у皢鎶婁竴緇勭墿鐞嗙佺洏闆嗗悎鎴愪竴涓閫昏緫瀹炰綋錛堢О涓虹佺洏緇勶級銆
紓佺洏緇勭被浼間簬涓涓鍒嗘碉紙鍜屽彲閫夐暅鍍忥級鏂囦歡緋葷粺錛屼絾鍏鋒湁閲嶈佺殑宸寮傦細瀹冧笉鏄涓涓鐢ㄤ簬瀛樺偍鐢ㄦ埛鏂囦歡鐨勯氱敤鏂囦歡緋葷粺錛屽苟涓斿畠涓嶈繘琛岀紦鍐層傜敱浜庡悗闈㈢殑鍘熷洜錛岀佺洏緇勬彁渚涗簡鐩存帴浣滀負鍘熷嬭懼囨潵璁塊棶榪欎釜絀洪棿錛屽苟浠嶆彁渚涙枃浠剁郴緇熺殑渚垮埄鎬у拰鐏墊椿鎬х殑濂藉勩
ASM瀹冩彁渚涗簡浠ュ鉤鍙版棤鍏崇殑鏂囦歡緋葷粺銆侀昏緫鍗風$悊浠ュ強杞疪AID鏈嶅姟銆侫SM鍙浠ユ敮鎸佹潯甯﹀寲鍜岀佺洏闀滃儚錛屼粠鑰屽疄鐜頒簡鍦ㄦ暟鎹搴撹鍔犺澆鐨勬儏鍐典笅娣誨姞鎴栫Щ闄ょ佺洏浠ュ強鑷鍔ㄥ鉤琛I/O浠ュ垹闄も滅儹鐐光濄傚畠榪樻敮鎸佺洿鎺ュ拰寮傛ョ殑I/O騫朵嬌鐢∣racle9i涓寮曞叆鐨凮racle鏁版嵁綆$悊鍣ˋPI錛堢畝鍖栫殑I/O緋葷粺璋冪敤鎺ュ彛錛夈
鎵╁睍璧勬枡錛
ASM浣跨敤鐙鐗圭殑闀滃儚綆楁硶錛氫笉闀滃儚紓佺洏錛岃屾槸闀滃儚鐩樺尯銆備綔涓虹粨鏋滐紝涓轟簡鍦ㄤ駭鐢熸晠闅滄椂鎻愪緵榪炵畫鐨勪繚鎶わ紝鍙闇瑕佺佺洏緇勪腑鐨勭┖闂村歸噺錛岃屼笉闇瑕侀勫囦竴涓鐑澶(hot spare)紓佺洏銆
涓嶅緩璁鐢ㄦ埛鍒涘緩涓嶅悓灝哄哥殑鏁呴殰緇勶紝鍥犱負榪欏皢浼氬艱嚧鍦ㄥ垎閰嶈緟鍔╃洏鍖烘椂浜х敓闂棰樸侫SM灝嗘枃浠剁殑涓葷洏鍖哄垎閰嶇粰紓佺洏緇勪腑鐨勪竴涓紓佺洏鏃訛紝瀹冧細灝嗚ョ洏鍖虹殑闀滃儚鍓鏈鍒嗛厤緇欑佺洏緇勪腑鐨勫彟涓涓紓佺洏銆傜粰瀹氱佺洏涓婄殑涓葷洏鍖哄皢鍦ㄧ佺洏緇勪腑鐨勬煇涓浼欎即紓佺洏涓婂叿鏈夊悇鑷鐨勯暅鍍忕洏鍖恆
ASM紜淇濅富鐩樺尯鍜屽叾闀滃儚鍓鏈涓嶄細椹葷暀鍦ㄧ浉鍚岀殑鏁呴殰緇勪腑銆傜佺洏緇勭殑鍐椾綑鍙浠ユ湁濡備笅鐨勫艦寮忥細鍙屽悜闀滃儚鏂囦歡(鑷沖皯闇瑕佷袱涓鏁呴殰緇)鐨勬櫘閫氬啑浣(榛樿ゅ啑浣)鍜屼嬌鐢ㄤ笁鍚戦暅鍍(鑷沖皯闇瑕3涓鏁呴殰緇)鎻愪緵杈冮珮淇濇姢紼嬪害鐨勯珮鍐椾綑銆
鍙傝冭祫鏂欙細鐧懼害鐧劇戱紞ASM