锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1聽 絎竴鑺?C璇█鐨勫皬紼嬪簭
2聽 絎簩鑺?鍩烘湰綾誨瀷鐨勮瘑鍒?/font>
3聽 絎笁鑺傦細鎿嶄綔鏁版牸寮?/font>
4聽 絎洓鑺傦細瀛楃鍜屽瓧絎︿覆鐨勬搷浣?/font>
5聽 絎簲鑺傦細鏁扮粍
6聽 絎叚鑺傦細鏋氫婦綾誨瀷
7聽 絎竷鑺傦細Bit-fields錛堜綅鍩燂級
8聽 絎叓鑺傦細緇撴瀯浣?/font>
9聽 絎節鑺傦細緇撴瀯鍙橀噺鍜岀粨鏋勬暟緇?/font>
10 絎崄鑺傦細鑱斿悎浣撳拰緇撴瀯浣撲腑鐨勭粨鏋勪綋
11 絎崄涓鑺?鍙彉鐨勭粨鏋勪綋
12 絎崄浜岃妭錛氱粨鏋勪綋鍋忕Щ
13 絎崄涓夎妭錛氳仈鍚堜綋鍋忕Щ閲?/font>
14 絎崄鍥涜妭錛氬湴鍧鍋忕Щ閲?/font>
15 絎崄浜旇妭錛氭渶緇堥嗗悜緇撴灉
闄勫綍
銆
涓轟簡婕旂ず IDA 鐨勫姛鑳藉厛鍐欎竴孌靛皬紼嬪簭銆?浠g爜鍦ㄩ檮褰?紼嬪簭鍦ㄦ婧愪唬鐮?/font>
紼嬪簭鎵ц緇撴灉:
CUSTOMERS:
CUSTOMER 0001: Peter (m)
CUSTOMER 0002: John (m)
CUSTOMER 0003: Mary (f)
PRODUCTS:
PRODUCT 0001: BOOK: IDA QuickStart Guide
PRODUCT 0002: SOFTWARE: IDA Pro: PC; WINDOWS DOS; DISASSEMBLY
PRODUCT 0003: SOFTWARE: PhotoRescue: PC MAC; WINDOWS OS-X; RECOVERY
PRODUCT 0004: SOFTWARE: aCrypt: PC; WINDOWS; CRYPTOGRAPHY
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
----------------------------------------------------------------------
鐢↖DA鍒嗘瀽鎴戜滑鍓嶉潰鐨勭▼搴?鎴戜滑浼氬彂鐜頒笅鍥劇殑綾誨瀷
鍙鎸?D"鎴戜滑灝卞彲浠ヤ換鎰忚漿鎹㈣繖浜涗笉紜畾鐨勭被鍨?鍙互鍙樻垚byte,word,dword(db,dw,dd)銆?/font>
褰撶劧浣犱篃鍙互璁劇疆鏇村鐨勬暟鎹漿鎹㈢被鍨嬶細
閫夋嫨鈥?i>Options鈥濊彍鍗曠殑鈥?i>Setup data types鈥濆懡浠ゅ氨鍙互璁劇疆浜?/font>
鍊煎緱娉ㄦ剰鐨勬槸錛氫綘鍦ㄦ暟鎹漿鎹㈢殑鏃跺欙紝瀹冩槸渚濇嵁鏁版嵁鑷韓鐨勭粨鏋勬潵杞崲鐨勩傛垜浠寜鈥淒鈥濈殑鏃跺欙紝
濡傛灉涓嬩竴涓瓧鑺傚凡緇忚浣犺漿鎹㈣繃錛屼綘鐨勬湰嬈¤漿鎹紝IDA灝嗕細鎻愮ず璁╀綘紜銆?/font>
娉細濡傛灉浣犳兂鏀瑰彉榪欑榛樿璁劇疆鍙互鍦ㄢ?i>Options鈥濊彍鍗曗?i>Convert already defined bytes鈥濆懡浠ら噷璁劇疆
鎾ら攢浣犵殑鎵鏈夎漿鎹㈡寜鈥淯鈥濋敭銆?/b>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
-------------------------------------------------------------------------------------
鏁版嵁綾誨瀷鑷畾涔夎漿鎹㈠悗錛岃鎿嶄綔榪囩殑鏁版嵁錛堝氨鏄綘鎸夎繃鈥淒鈥濈殑錛夌殑榪涘埗IDA涔熸槸鍙互鑷畾涔夎漿鍙樼殑錛?/font>
閫氳繃鍦ㄢ?i>Operands鈥濆伐鍏鋒爮鐨勨?i>Number鈥濆懡浠ゆ垜浠彲浠ラ殢鎰忚漿鎹㈡暟瀛楃殑榪涘埗
鏈涓嬮潰鐨勨淭oggle leading point鈥濆氨鏄~琛ユ暟鎹墠鐨勭┖浣嶄負0錛堝氨鏄濡傛灉褰撳墠鏁版嵁鏈崰婊℃暟鎹牸寮忕殑鎵鏈変綅楂樹綅鐢?鏉ュ~琛ワ級
銆
銆
IDA榪樺彲浠ヨ漿鎹㈡暟鎹殑鏍囧織浣嶏紙灝辨槸姝h礋錛夊叿浣撴搷浣滃涓嬪浘錛?/font>
銆
鏈鍚庡憿~~濡傛灉榪欎簺杞崲浣犺繕涓嶆弧鎰忥紙澶烞T錛夊綋鐒朵綘榪樺彲浠ヨ嚜瀹氫箟鏁版嵁榪涘埗濡傚浘錛?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
-----------------------------------------------------------------------------------------
浣滆呭張璇磋瘽浜嗭細寰堝紼嬪簭閮芥槸鍖呭惈瀛楃涓茬殑錛屼竴浜涜鎿嶄綔榪囩殑鏁版嵁錛堝氨鏄綘鎸夎繃鈥淒鈥濈殑錛夊彲浠ヨ漿鍖栦負
瀛楃錛屼嬌鐢ㄧ殑鍛戒護灝卞湪鈥?i>Operands鈥濆伐鍏鋒爮涓?/font>
銆
鐢變簬緙栫▼璇█鐨勪笉鍚岄犳垚瀛楃涓蹭篃鏈変笉鍚岀殑鏍煎紡錛屽綋鐒禝DA灝辨敮鎸佹墍鏈夌殑鏍煎紡浜嗐?/font>
IDA鍦ㄨ漿鍖栧悗浼氬湪鍦板潃娣誨姞涓涓悕瀛椼傚洜涓烘垜浠殑紼嬪簭鏄痗鐨勬墍浠ュ氨鎵懼埌c鐨勫瓧絎︿覆銆傚叿浣撴搷浣滃鍥撅細
濡傛灉涓嶆槸C鍐欑殑紼嬪簭鎬庝箞鍔炲憿錛熸垜浠彲浠ュ湪鈥?i>Options鈥濊彍鍗曗?i>ASCII string style鈥濆懡浠や腑璁劇疆銆?/font>
鍏佽浣犱慨鏀瑰叾瀹冪被鍨嬩負榛樿璁劇疆錛屼嬌鐢ㄩ粯璁よ緗殑蹇嵎閿槸鈥淎鈥濓紝鎴栬呰嚜瀹氫箟涓縐嶇被鍨嬪彲浠ヤ嬌鐢ㄤ笉甯哥敤鐨勭粓姝㈠瓧絎︺?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
--------------------------------------------------------------------------
鍦╟涓?ASCII瀛楃涓茶璁や負鏄瓧絎︽暟緇勶紝IDA鏄浣曞鐞嗘暟緇勭殑鍛紵
鎴戜滑鐢ㄦ渶甯哥敤鍛戒護鏉ュ畾涔夋暟緇勪腑鐨勭涓涓厓绱狅紝璁劇疆絎竴涓厓绱犵被鍨嬩負byte錛屾牸寮忎負char錛岀劧鍚庣偣鍑燴?鈥濆彿閿紙鎴栬呪淓dition 鈥濆伐鍏鋒爮鐨勨淎rray鈥濆懡浠わ級鏉ュ垱寤烘暟緇勩傝繖鏃跺脊鍑轟竴涓璇濇錛屽彲浠ヨ緗緢澶氬彉閲忋?/font>
浣犲彲浠ュ畾涔夋暟緇勪竴琛岀殑鏄劇ず涓暟錛岃繕鍙互浣跨敤鈥淓lement width鈥濇潵璁劇疆浠栦滑涔嬮棿鐨勫搴︺?br />浣跨敤鈥淯se dup construct 鈥濋夐」鍙互鍚堝茍榪炶瘡鐨勭浉浼煎瓧鑺傦紝鈥?Display index 鈥濋夐」鍙互鍍忔敞閲婁竴鏍鋒樉紺烘暟緇勭殑涓嬫爣銆?br />
渚嬪鎴戜滑璁劇疆涓涓湁64涓厓绱犵殑鏁扮粍錛屼竴琛屾湁8涓厓绱狅紝姣忎釜鍏冪礌涔嬮棿鐨勫搴︿負4錛屼笉閫夊彇鈥渄up constructs鈥濓紝閫夊彇鈥淒isplay index 鈥濓紝鎴戜滑灝卞彲浠ュ緱鍒頒笅闈㈢殑鏁扮粍銆?/font>
褰揑DA閬囧埌鏈璇嗗埆鐨勫瓧鑺備粬浼氱敤綰㈣壊鐨勯珮浜樉紺恒?/font>
褰撶劧浣犱篃鍙互閫夋嫨涓涓寖鍥存潵鍒涘緩鏁扮粍錛孖DA浼氳嚜閫傚簲鐨勮瀹氥?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
------------------------------------------------------------------------------------
榪樿寰楁垜浠湪C紼嬪簭涓畾涔夌殑product_category_t 綾誨瀷鍚楋紵
璁╂垜浠敤IDA鐨勨淓numerations鈥濇潵瀹氫箟涓涓嬨?br />
棣栧厛錛屾垜浠墦寮鈥淓numerations鈥濈獥鍙f潵鍒涘緩涓涓柊鐨勬灇涓劇被鍨?/font>
銆
鎴戜滑杈撳叆鎴戜滑鐨勬灇涓劇被鍨嬪?/font>
銆
鍦╟heck_product()鍑芥暟錛屾垜浠彲浠ョ敤鏋氫婦綾誨瀷閲嶆柊瀹氫箟涓浜涙搷浣滄暟銆?br />鍙抽敭鐐瑰嚮鍦ㄦ暟鍊間笂錛屽氨浼氬脊鍑轟竴涓彍鍗曪紝閫夋嫨鈥淪ymbolic constant鈥濄?br />IDA灝變細鑷姩鍒椾婦鏋氫婦鍊鹼紝鐢ㄤ互鍖歸厤褰撳墠鐨勬暟鍊箋?/font>
銆
鎿嶄綔瀹屾垚錛屾垜浠氨浼氬緱鍒頒笅闈㈢殑緇撴灉錛?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
-----------------------------------------------------------------------------------------------------
BTW錛欱it-fields錛屾垜鐨勭悊瑙e氨鏄湪緇撴瀯浣撲腑鐨勪綅鏍囧織銆傚お鑿滐紒甯屾湜楂樻墜鎸囨錛?/font>
鐜板湪錛屾垜浠潵瀹氫箟涓涓嬪湪software_info_t 緇撴瀯涓殑bitfields銆?br />IDA鐨勮鐐瑰氨鏄紝bitefields鏄竴縐嶇壒孌婄殑鏋氫婦綾誨瀷銆?br />鎴戜滑鍙互閫夋嫨鍦ㄦ灇涓劇被鍨嬪垱閫犵獥鍙d腑鐨勨淏itfield鈥濋夐」銆?/font>
榪樿寰楁垜浠浘緇忓湪鎴戜滑鐨勭▼搴忎腑寤虹珛浜嗕袱縐嶄笉鍚岀被鍨嬬殑bitfields 錛?br />plateform鍜宱s鍖呭惈浜嗕竴縐嶉殣钘忕殑妯″紡錛氱敤鏉ュ寘鍚粍鍚堟ā寮忥紙鐢ㄩ昏緫鎴栨潵鎿嶄綔錛?銆傚洜涓轟竴縐嶄駭鍝佸彲浠ュ悓鏃跺湪鍑犵plateforms鍜孫S鐨勭粍鍚堛傚彟涓鏂歸潰錛宑ategory bitfield 涓瘡涓涓暟瀛楄〃紺轟竴縐嶇被鍒細涓縐嶄駭鍝佹瘡嬈″彧鑳藉睘浜庝竴縐嶇被鍒?br />鍦↖DA涓竴縐嶆寚瀹氱殑妯″紡錛宐itfield鍙兘鍖呭惈涓涓箋傛墍浠ュ湪鎻忚堪plateform 鍜宑ategory bitfields鏃朵負浜嗘樉紺虹粍鍚堟ā寮?鎴戜滑蹇呴』鍒涘緩涓涓皬鐨刡itfields錛屾瘡涓肩殑涓涓猙it.
鐜板湪鎴戜滑寮濮嬪垱寤篶ategory bitfield銆俶ask鍊間負0x3 (2 bits).鎴戜滑鎸囧畾涓涓悕瀛椼佷竴涓箋佽繕鏈塨itfield mask銆傛垜浠繕闇瑕佸畾涔塵ask鐨勫悕瀛楋細榪欎釜鎴戜滑涓嶇敤IDA鑷姩鐢熸垚鐨勶紝IDA鏈変竴涓唴瀛樺姪鎵嬪彲浠ュ府鍔╃敓鎴愩?/font>
褰撴墍鏈夌殑bitfields琚緭鍏ワ紝鎴戜滑灝變細寰楀埌涓嬮潰鐨勭粨鏋滐細
鐢∣perands 宸ュ叿鏍忎笂鐨凟num member鍛戒護灝卞彲浠ュ畾涔夋垜浠▼搴忎腑鐨凟num member鏁版嵁
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
---------------------------------------------------------------------------------------------------------
緇撴瀯浣撶殑鎴愬憳鏄竴姹囩紪鐨勬ā寮忓畾涔夌殑銆傝鎴戜滑鏉ュ畾涔塻oftware_t 緇撴瀯涓殑絎竴涓垚鍛樸?br />涓鐩存寜鈥淒鈥濈煡閬撳畠鍙樻垚鈥渄d鈥濇剰鎬濆氨鏄繖涓垚鍛樼殑鍊間負 dword綾誨瀷銆?br />鎶婂畠鐨勬牸寮忓畾涔変負鎴戜滑浠ュ墠瀹氫箟濂界殑software_info_t 鏋氫婦綾誨瀷錛岀劧鍚庢垜浠敤Rename鍛戒護杈撳叆涓涓傚綋鐨勫悕瀛楋細info
寮濮嬪畾涔夌浜屼釜鎴愬憳錛岃繖嬈′嬌鐢ˋSCII鍛戒護錛堟寜鈥淎鈥濓級錛屽湪榪欎釜鐜妭
IDA浼氬脊鍑轟竴涓笓鐢ㄥ璇濇鐢ㄦ潵璁懼畾瀛楃涓茬殑澶у皬
鎴戜滑榪樺彲浠ヤ粠宸茬粡鍒嗘瀽濂界殑鏁版嵁涓潵寤虹珛緇撴瀯浣撱?br />涓句釜渚嬪瓙錛氬亣璁炬垜浠夋嫨浜嗕竴鍧楁暟鎹濂芥槸鍜屾垜浠殑customer_t緇撴瀯浣撶殑鏁版嵁鏍煎紡涓鏍鳳紝鎴戜滑灝卞彲浠ョ敤IDA鐨勨淐reate struct from data 鈥濆懡浠ゆ潵鍒涘緩緇撴瀯浣?/font>
銆
涓鏃︿嬌鐢ㄤ簡榪欎釜鍛戒護,IDA灝變細鍦⊿tructures紿楀彛鍒涘緩涓涓浉瀵瑰簲鐨勭粨鏋勪綋
鎴戜滑浣跨敤鈥淎鈥濋敭鏉ヤ慨鏀筺ame鎴愬憳鐨勯暱搴︿負32bytes錛堝拰鎴戜滑婧愪唬鐮佷腑瀹氫箟鐨勪竴鏍鳳級錛岀劧鍚庡啀緇欑粨鏋勪綋涓涓ソ鍚殑鍚嶅瓧銆?/font>
鎴戜滑鎷胯繖浜涚粨鏋勪綋鏈変粈涔堢敤鍛紵IDA鎻愪緵緇欐垜浠袱縐嶆柟娉曪細
路Apply structure types to initialized data in the program.聽
路Convert operands as offsets inside structures.
鎴戜滑灝嗗湪涓嬮潰鐨勬暀紼嬪綋涓潵浠嬬粛榪欎袱縐嶆柟娉?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
---------------------------------------------------------------------------------------------------------------------
榪欐牱鎴戜滑灝卞緱鍒頒簡涓涓柊鐨勭粨鏋勪綋鍙橀噺銆侷DA浼氳嚜鍔ㄥ湪緇撴瀯浣撴垚鍛樼殑鍚庨潰鍔犱笂鍙橀噺鍚嶇殑銆?/font>
銆
閫氳繃鎴戜滑鐨勬簮鐮侊紝鎴戜滑鐭ラ亾鏈変竴涓寘鍚釜4鍏冪礌鐨刢ustomers鏁扮粍錛屾垜浠厛鍓嶆妸
Peter鍜孞ohn閮藉畾涔変負 customer_t 緇撴瀯浣撲簡銆傜幇鍦ㄥ彇娑堝Join緇撴瀯鍙橀噺鐨勫畾涔夛紝鐒跺悗鍦≒eter緇撴瀯涓婃寜鈥?鈥濋敭鍒涘緩鎴戜滑鐨刢ustomer鏁扮粍錛岃繖鏍稩DA灝卞脊鍑轟竴涓暟緇勮緗浠栦細鑷姩媯嫻嬪嚭鏉ユ垜浠鍒涘緩鐨勬暟緇勬渶澶ф暟鏄?銆?/font>
涓嬫潵鎴戜滑灝辯湅鍒板垱寤哄ソ鐨勬暟緇勪簡錛屽墿涓嬬殑灝辨槸鏀逛竴涓嬫暟緇勭殑鍚嶅瓧銆?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
-------------------------------------------------------------------------------------------------------
IDA涓彲浠ュ儚瀹氫箟鏍囧噯緇撴瀯浣撻偅鏍鋒潵瀹氫箟鑱斿悎浣撱?br />璁╂垜浠潵璇曠潃瀹氫箟product_u 榪欎釜鑱斿悎浣撳惂銆?br />book_t鍜宻oftware_t榪欎袱涓粨鏋勪綋鎴戜滑宸茬粡瀹氫箟榪囦簡銆?br />IDA璁や負鑱斿悎浣撳氨鏄竴縐嶇壒鍒殑緇撴瀯浣擄細鍥犳鎴戜滑鎵撳紑Structures紿楀彛錛岃繍琛孉dd struct type鍛戒護錛屽湪瀵硅瘽妗嗕腑鎴戜滑閫夋嫨鍒涘緩Create union 閫夐」銆?/font>
鎴戜滑鍙互浣跨敤IDA甯哥敤鐨勫懡浠ゆ潵鍒涘緩鑱斿悎浣撴垚鍛橈紝鍒嗗埆娣誨姞涓涓猙ook_t 緇撴瀯浣撶被鍨嬬殑book鍜屼竴涓猻oftware_t 緇撴瀯浣撶殑software鑱斿悎浣撴垚鍛?/font>
褰撶劧緇撴瀯浣撲篃鍙互宓屽涓涓粨鏋勪綋銆備簨瀹炰笂錛屾垜浠垰鎵嶅仛鐨勪緥瀛愬氨瀹炵幇浜嗐?br />璁頒綇IDA璁や負鑱斿悎浣撳彧涓嶈繃鏄竴縐嶇壒孌婄殑緇撴瀯浣?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
----------------------------------------------------------------------------------------------
鎴戜滑榪樿寰楁湁涓涓猻oftwares_t 緇撴瀯浣撱傜粨鏋勪綋softs 鐨勯暱搴︽槸涓嶇‘瀹氱殑銆?br />鍦ㄦ眹緙栦腑錛屾垜浠繀欏誨垱寤轟竴涓ぇ灝忓彲鍙樼殑緇撴瀯浣搤銆傝繖縐嶇粨鏋勪綋鍒涘緩鐨勬椂鍊欏拰鏅氱殑涓鏍鳳紝浠呬粎鏈鍚庝竴涓厓绱犲畾涔夌殑鏁扮粍鍏冪礌涓暟涓?銆?/font>
銆
鏃㈢劧IDA涓嶈兘璁$畻鍑鴻繖縐嶇粨鏋勪綋鐨勫ぇ灝忥紝鎴戜滑灝卞繀欏婚氳繃閫夋嫨緇撴瀯浣撶殑鍖哄煙錛屾潵瀹氫箟澶у皬銆?/font>
鎴戜滑鍙互鐪嬪埌鎵鏈夌殑綾誨瀷IDA鐢ㄦ敞閲婃ā寮忔潵鏄劇ず鎴愬憳鍚嶇О
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
----------------------------------------------------------------------------------------------------
鐜板湪鎴戜滑鐭ラ亾濡備綍瀹氫箟鑱斿悎浣撳拰緇撴瀯浣撲簡銆傜幇鍦ㄦ垜浠潵灝嗕竴浜涙搷浣滄暟鎸囧悜浠栦滑鍘熸湰鎸囧悜鐨勭粨鏋勪綋銆?/font>
鍦╬rint_customer() 鍑芥暟涓紝鎴戜滑鐭ラ亾浠栧彧鏈変竴涓寚鍚慶ustomer_t緇撴瀯浣撶殑鍙傛暟銆侲AX瀵勫瓨鍣ㄥ垵濮嬪寲榪欎釜鎸囬拡鐨勫鹼紝浣夸粬鎸囧悜customer_t 緇撴瀯浣撱傚洜姝ゆ垜浠帹鏂墍鏈夌殑[EAX+....]閮芥槸鎸囧悜customer_t緇撴瀯浣撴垚鍛樼殑鍋忕Щ銆偮?/font>
鎴戜滑寮濮嬮噸鏂板畾涔夎繖浜涚粨鏋勪綋鍙橀噺鐨勫亸縐伙紝浣犲彸鍑誨湪浠栦滑涓婇潰IDA浼氳嚜鍔ㄧ粰浣犳彁渚涘亸縐葷殑淇℃伅銆?/font>
褰撴垜浠妸鎵鏈夌殑鍋忕Щ閲忛兘鏁寸悊涓涓嬬殑璇濓紝姹囩紪浠g爜椹笂灝卞彉寰楁竻鏅版槗鎳備簡銆?/font>
print_software()鍑芥暟鍛㈠氨鏄彟澶栦竴涓緥瀛愶細EBX鍦ㄥ垵濮嬪寲鐨勬椂鍊欐寚鍚戜簡software_t 鍙婃瀯浣撱傛敞鎰廍BX瀵勫瓨鍣ㄥ湪鏁翠釜鍑芥暟涓兘鏈夊簲鐢紙涓涓竴涓浛鎹細绱鐨勶級銆備笉瑕佺揣寮狅紝IDA浼氫嬌鐢ㄤ竴嬈℃搷浣滃氨鑳芥浛鎹㈠叏閮ㄣ?br />鍋氭硶濡備笅錛?br />閫夋嫨鏁翠釜鍑芥暟鐨勪唬鐮侊紝鐒跺悗閫夊湪Operands宸ュ叿鏍忎笂鐨凮ffset (struct) 鍛戒護銆?/font>
寮瑰嚭Structure offsets紿楀彛銆傜劧鎴戜滑鍦ㄥ垪琛ㄤ腑閫夋嫨EBX瀵勫瓨鍣ㄣ?br />宸﹁竟鏍戝艦瑙嗗浘鏄劇ず浜嗗湪IDA涓畾涔夌殑鎵鏈夌粨鏋勩?br />鍙寵竟灝辨樉紺轟笌EBX鏈夊叧緋葷殑鎵鏈夋搷浣溿傚鏋滄垜浠夋嫨浜嗗乏杈圭殑涓涓粨鏋勶紝
IDA灝變細鑷姩鏀瑰彉琚夋嫨浠g爜涓笌緇撴瀯浣撴湁鍏崇殑鍋忕Щ閲忋?br />鏍戣鍥懼墠闈笉鍚岀殑絎﹀彿琛ㄧず緇忚繃璁$畻鍚庣殑鐘舵併傚鍙峰氨琛ㄧず瀹屽叏鍖歸厤錛岀浉鍙嶅氨鏄笉瀹屽叏鍖歸厤銆傚湪鎴戜滑鐨勬搷浣滀腑姝eソ瀹屽叏鍖歸厤銆?/font>
紜畾浠ュ悗錛屾垜浠氨寰楀埌浜嗕笅闈㈢殑緇撴灉:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
--------------------------------------------------------------------------------------------------------------
緇撴灉灝辨槸榪欐牱錛?/font>
Structure offset瀵硅瘽妗嗘樉紺哄浣曡〃鏄庝竴涓仈鍚堜綋鎴愬憳銆傚湪浣犻夋嫨鐨勫尯鍩熶腑鎵撳紑浜嗚繖涓獥鍙o紝IDA灝變細鐢ㄢ滐紵鈥濇潵鏄劇ず鑱斿悎浣撶被鍨嬨?/font>
濡傛灉灞曞紑鏍戣鍥句腑閫傚綋鐨勫垎鏀紝鎴戜滑鍙互閫夋嫨琚弿榪頒負鑱斿悎浣撴垚鍛樼殑鍋忕Щ閲忋?br />涓鏃﹂変腑錛孖DA浼氱敤鍦ㄤ竴縐嶇豢鑹茬殑絎﹀彿鏉ヨ〃紺哄亸縐婚噺鎸囧悜鐨勮褰曚腑鐨勮仈鍚堜綋銆?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP
--------------------------------------------------------------------------------------------------------
IDA涔熷彲浠ラ噸鏂板畾涔夋搷浣滄暟銆傚湪涓嬮潰鐨勪緥瀛愪腑錛屾榛勮壊鐨勯儴鍒嗘樉紺轟竴涓彲鑳藉瓨鍦ㄧ殑鍙傝儈
浣跨敤Operands 宸ュ叿鏍忎笂鐨凮ffset 鎸夐挳灝卞彲浠ヨ繘琛岃漿鎹€?/font>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TOP