青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小默

[zz]失業的娛樂-IDA逆向工程入門(二)

【文章標題】: 失業的娛樂-IDA逆向工程入門(二)-匯編程序(1)
【文章作者】: layper
【作者郵箱】: layper@yahoo.com.cn
【作者主頁】: http://blog.csdn.net/layper/
【下載地址】: 自己搜索下載
【作者聲明】: 只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!
--------------------------------------------------------------------------------
【詳細過程】
  這個是第二篇,入門就要從最簡單的開始!!!!!!!!
  
  為什么選匯編程序,因為在IDA逆向出來的就是匯編語言.所以選這個是最好入門的.在這之前你先準備好幾樣工具,IDA,masm32匯編工具包并安裝好,
  在radasm設置好你的路徑.
  
  (一)最簡單的win32匯編程序源碼
  hellow.asm
  
  .386
  .model flat,stdcall
  option casemap:none
  include WINDOWS.INC
  include user32.inc
  include kernel32.inc
  includelib user32.lib
  includelib kernel32.lib
  .data
  sztitle db "你好",0
  sztext db "你好!祝你有個好的開始!!!",0
  .code
  start:
  invoke MessageBox,NULL,offset sztext,offset sztitle,MB_OK
  invoke ExitProcess,NULL
  end start
  
  
  radasm默認編譯.無資源段
  
  
  
  (二)IDA自動識別的反匯編代碼(未優化直接保存)
  
  
  
  ;
  ; 賞屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
; ?This file is generated by The Interactive Disassembler (IDA)      ?
; ?Copyright (c) 2006 by DataRescue sa/nv,  <ida@datarescue.com>      ?
; ?Licensed to: Paul Ashton - Blue Lane Technologies (1-user Advanced 03/2006)  ?s
  ; 韌屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
;
  ; Input  MD5   :  10721E858F8E4DA3413D6FBFAE63E7B3
  
  ; File Name   :  D:\lyp\hellow\hellow.exe
  ; Format      :  Portable executable for  80386 (PE)
  ; Imagebase   :  400000
  ; Section 1. (virtual address 00001000)
  ; Virtual size      : 00000026 (   38.)
  ; Section size in file    : 00000200 (  512.)
  ; Offset to raw  data for section: 00000400
  ; Flags  60000020: Text Executable Readable
  ; Alignment  : default
  
      .686p
      .mmx
      .model flat
  
  ; 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?

  ; Segment type:  Pure code
  ; Segment permissions: Read/Execute
  _text    segment  para public 'CODE' use32
      assume cs:_text
      ;org 401000h
      assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  
  ; *************** S U B  R O U T  I N E ***************************************
  
  
      public start
  start    proc near
      push  0    ; uType
      push  offset Caption  ; "你好"
      push  offset Text  ; "你好!祝你有個好的開始!!!"
      push  0    ; hWnd
      call  MessageBoxA
  
      push  0    ; uExitCode
      call  ExitProcess
  
  start    endp
  
  ; [00000006 BYTES: COLLAPSED FUNCTION MessageBoxA. PRESS KEYPAD  "+" TO EXPAND]
  ; [00000006 BYTES: COLLAPSED FUNCTION ExitProcess. PRESS KEYPAD  "+" TO EXPAND]
      align 200h
  _text    ends
  
  ; Section 2. (virtual address 00002000)
  ; Virtual size      : 00000092 (  146.)
  ; Section size in file    : 00000200 (  512.)
  ; Offset to raw  data for section: 00000600
  ; Flags  40000040: Data Readable
  ; Alignment  : default
  ;
  ; Imports from kernel32.dll
  ;
  ; 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?

  ; Segment type:  Externs
  ; _idata
  ; void __stdcall ExitProcess(UINT uExitCode)
      extrn __imp_ExitProcess:dword ;  DATA XREF: ExitProcessr
  
  ;
  ; Imports from user32.dll
  ;
  ; int __stdcall  MessageBoxA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType)
      extrn __imp_MessageBoxA:dword ;  DATA XREF: MessageBoxAr
  
  
  ; 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?

  ; Segment type:  Pure data
  ; Segment permissions: Read
  _rdata    segment  para public 'DATA' use32
      assume cs:_rdata
      ;org 402010h
      db  54h  ; T
      db  20h
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db  6Ah  ; j
      db  20h
      db    0
      db    0
      db    8
      db  20h
      db    0
      db    0
      db  4Ch  ; L
      db  20h
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db  84h  ; ?
    db  20h
      db    0
      db    0
      db    0
      db  20h
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db  76h  ; v
      db  20h
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db  5Ch  ; \
      db  20h
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db  9Dh  ; ?
    db    1
      db  4Dh  ; M
      db  65h  ; e
      db  73h  ; s
      db  73h  ; s
      db  61h  ; a
      db  67h  ; g
      db  65h  ; e
      db  42h  ; B
      db  6Fh  ; o
      db  78h  ; x
      db  41h  ; A
      db    0
      db  75h  ; u
      db  73h  ; s
      db  65h  ; e
      db  72h  ; r
      db  33h  ; 3
      db  32h  ; 2
      db  2Eh  ; .
      db  64h  ; d
      db  6Ch  ; l
      db  6Ch  ; l
      db    0
      db    0
      db  80h  ; ?
      db    0
      db  45h  ; E
      db  78h  ; x
      db  69h  ; i
      db  74h  ; t
      db  50h  ; P
      db  72h  ; r
      db  6Fh  ; o
      db  63h  ; c
      db  65h  ; e
      db  73h  ; s
      db  73h  ; s
      db    0
      db  6Bh  ; k
      db  65h  ; e
      db  72h  ; r
      db  6Eh  ; n
      db  65h  ; e
      db  6Ch  ; l
      db  33h  ; 3
      db  32h  ; 2
      db  2Eh  ; .
      db  64h  ; d
      db  6Ch  ; l
      db  6Ch  ; l
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
      db    0
  _rdata    ends
  
  ; Section 3. (virtual address 00003000)
  ; Virtual size      : 0000001E (   30.)
  ; Section size in file    : 00000200 (  512.)
  ; Offset to raw  data for section: 00000800
  ; Flags  C0000040: Data Readable  Writable
  ; Alignment  : default
  ; 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?

  ; Segment type:  Pure data
  ; Segment permissions: Read/Write
  _data    segment  para public 'DATA' use32
      assume cs:_data
      ;org 403000h
  ; char Caption[]
  Caption    db '你好',0             ; DATA XREF: start+2o
  ; char Text[]
  Text    db '你好!祝你有個好的開始!!!',0 ; DATA XREF: start+7o
      align 200h
  _data    ends
  
  
      end start
  用radasm編譯成功,不用修改!!!
  
  (三)比對文件
  
  (1)模式定義
  相同度:
  
  .386                                                .686p                      ;不同
  無                                                  .mmx
  .model flat,stdcall                                 .model flat        
  option casemap:none                                 無                         ;不同
  
  我的IDA默認的為686p模式,model語句無語言模式,無option語句.
  
  (2)inc文件,lib文件去向
  
  源文件中的
  include WINDOWS.INC
  include user32.inc
  include kernel32.inc
  includelib user32.lib
  includelib kernel32.lib
  消失在代碼中,要尋找回他們!!
  這幾個語句其實就是連接系統的dll文件的,在反匯編代碼中尋找user32.dll,kernel32.dll,找到這里
  ; Imports from kernel32.dll
  ;
  ; 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
  
  ; Segment type:  Externs
  ; _idata
  ; void __stdcall ExitProcess(UINT uExitCode)
      extrn __imp_ExitProcess:dword ;  DATA XREF: ExitProcessr
  
  ;
  ; Imports from user32.dll
  ;
  ; int __stdcall  MessageBoxA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType)
      extrn __imp_MessageBoxA:dword ;  DATA XREF: MessageBoxAr
  
  注釋很明白了,輸入表有兩個dll在_idata段,include語句的在_idata段找尋.
  
  (3)段定義的變化
  源代碼中段定義是這樣
  .段名
  而反匯編中的段定義
  段名    segment  para public 'DATA' use32
      assume cs:_data
  段名    ends
  傳統的dos匯編寫法.
  
  (4)段的增減
  我們通過比對,發現段的數量跟我們原本的不一致
  原本我們只有兩個段
  .data和.code段,而反匯編后變成
  .text和.idata和.rdata和.data段
  經過仔細辨認你就可以發現
  反匯編的text段就是源代碼中的.code段,data段是代碼段,.idata和.rdata是編譯器生成的,而idata是尋找include語句的地方,
  .idata基本沒什么用處,可以刪掉.
  
  (5)數據段
  通過比對發現基本上一致無什么增加,增加了一個    align 200h
  刪掉即可.
  
  (6)代碼段變化
  入口函數變化
                  public start
  start    proc near
      push  0    ; uType
      push  offset Caption  ; "你好"
      push  offset Text  ; "你好!祝你有個好的開始!!!"
      push  0    ; hWnd
      call  MessageBoxA
  
      push  0    ; uExitCode
      call  ExitProcess
  
  start    endp
  
  。。。。。。
  
  。。。。。。。
  
      end start
  
  注意end start放在了所有段后面
  
  到這里我們大體上看完這個程序反匯編的大體輪廓。
  
--------------------------------------------------------------------------------
【經驗總結】
  (1)模式定義少了語言模式和opention語句,我們要看情況是否加回上去。
  (2)include語句尋找_idata中的dll名,得到常用包含庫文件.
  (3).rdate段不用看,可以刪掉
  (4)入口開始處尋找start.
  
--------------------------------------------------------------------------------
【版權聲明】: 本文原創于看雪技術論壇, 轉載請注明作者并保持文章的完整, 謝謝!

                                                       2007年03月02日 13:56:14

posted on 2009-12-25 12:10 小默 閱讀(725) 評論(0)  編輯 收藏 引用 所屬分類: Tools

導航

統計

留言簿(13)

隨筆分類(287)

隨筆檔案(289)

漏洞

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美亚洲自偷自偷| 亚洲国产日韩综合一区| 久久国产精品99精品国产| 一区二区欧美国产| 亚洲欧美偷拍卡通变态| 久久久久久久久一区二区| 欧美在线啊v一区| 久久亚洲综合色| 欧美日本精品| 国产女主播视频一区二区| 国内精品久久久久久影视8| 伊人精品成人久久综合软件| 在线观看日韩专区| 国产精品99久久不卡二区| 欧美一区二区免费| 亚洲第一网站| 夜夜嗨av一区二区三区四季av| 夜夜嗨av一区二区三区中文字幕| 亚洲免费在线观看视频| 欧美va亚洲va日韩∨a综合色| 欧美色道久久88综合亚洲精品| 国产伦精品免费视频| 亚洲国产精品久久久久婷婷老年| 亚洲视频第一页| 欧美成人一区二区| 亚洲一区3d动漫同人无遮挡| 国产精品任我爽爆在线播放 | av成人黄色| 午夜精品999| 欧美日韩高清不卡| 韩国精品久久久999| 一本色道久久综合亚洲精品不 | 欧美中文在线免费| 亚洲精品久久久久久久久久久久久 | 午夜视频一区| 欧美色偷偷大香| 91久久午夜| 久久精品中文字幕免费mv| 亚洲日本成人| 你懂的国产精品| 国产一区二区无遮挡| 亚洲视频一区二区在线观看| 欧美风情在线观看| 久久视频精品在线| 狠狠入ady亚洲精品| 久久成人18免费观看| 中文精品视频| 国产精品爱啪在线线免费观看| 99国产精品99久久久久久| 欧美激情二区三区| 老司机成人在线视频| 红桃视频成人| 欧美va天堂va视频va在线| 久久久久www| 在线精品国精品国产尤物884a| 久久久999精品视频| 亚洲在线一区二区| 国产美女精品视频| 欧美亚洲一级| 欧美在线首页| 在线精品一区| 亚洲国产精品尤物yw在线观看| 久久一二三区| 亚洲免费大片| 中国成人在线视频| 国产精品美女www爽爽爽| 亚洲字幕在线观看| 亚洲欧美日韩久久精品 | 欧美精品国产精品| 亚洲精品一区二区网址| 亚洲第一天堂av| 欧美日韩精品欧美日韩精品| 国产精品99久久久久久久vr | 蜜臀99久久精品久久久久久软件| 亚洲欧洲日本在线| 伊人激情综合| 欧美不卡一卡二卡免费版| 久久精品青青大伊人av| 国产真实精品久久二三区| 久久婷婷国产麻豆91天堂| 久久手机精品视频| 一区二区三区欧美在线观看| 亚洲深夜福利在线| 狠狠色综合网| 99国内精品久久| 好看不卡的中文字幕| 欧美激情一区二区三区不卡| 欧美色视频一区| 裸体丰满少妇做受久久99精品| 久久夜精品va视频免费观看| 亚洲天堂男人| 久久久综合香蕉尹人综合网| 亚洲美女精品成人在线视频| 亚洲免费伊人电影在线观看av| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲欧美在线另类| 欧美专区一区二区三区| 亚洲区国产区| 亚洲欧美美女| 亚洲精品久久久久久久久久久久| 亚洲综合欧美| 99精品国产一区二区青青牛奶| 亚洲免费在线电影| 一本久道久久综合中文字幕| 欧美一区二区三区在线免费观看| 99re66热这里只有精品4| 欧美在线免费播放| 午夜精品久久久久99热蜜桃导演| 久久综合九色综合网站| 午夜国产一区| 欧美日韩精品免费观看视一区二区 | 国产精品国产精品国产专区不蜜| 久久久久久久成人| 国产精品免费看| 亚洲国产一区二区a毛片| 国产一区二区三区高清| 一区二区三区四区国产精品| 亚洲国产国产亚洲一二三| 午夜精品亚洲一区二区三区嫩草| 夜夜嗨av一区二区三区四区| 久久天天躁狠狠躁夜夜av| 久久疯狂做爰流白浆xx| 国产精品久久久久久久久久三级 | 国产欧美一区二区三区久久| 亚洲人成网站777色婷婷| 伊人婷婷久久| 国产在线精品一区二区夜色| 99精品视频免费全部在线| 激情综合网激情| 亚洲免费一在线| 亚洲欧美在线一区| 欧美日韩一区二区高清| 欧美一区二区三区男人的天堂| 欧美日韩日本视频| 亚洲第一精品夜夜躁人人躁| 亚洲影音一区| 中文欧美在线视频| 欧美理论在线播放| 亚洲第一网站| 在线日韩av永久免费观看| 亚洲欧美韩国| 欧美一区亚洲二区| 国产欧美精品日韩区二区麻豆天美| 亚洲每日更新| 亚洲自啪免费| 国产视频精品va久久久久久| 性欧美1819性猛交| 美日韩精品视频| 亚洲国语精品自产拍在线观看| 美女性感视频久久久| 欧美电影打屁股sp| 99国产精品视频免费观看| 欧美日本在线看| 亚洲一二三区在线观看| 久久精品国产免费观看| 尤物视频一区二区| 欧美成人一区二区三区片免费| 最新国产精品拍自在线播放| 一区二区三区www| 国产精品美女久久久久av超清| 亚洲一二三区视频在线观看| 久久精品视频在线免费观看| 亚洲国内精品| 国产精品无码专区在线观看 | 女女同性女同一区二区三区91| 欧美激情小视频| 亚洲香蕉在线观看| 国内精品**久久毛片app| 免费成人av在线| 在线视频日本亚洲性| 久久婷婷影院| 亚洲一区二区三区在线视频| 国产午夜亚洲精品不卡| 欧美精品日韩综合在线| 亚洲欧美在线另类| 亚洲激情在线播放| 久久国产精品久久国产精品| 亚洲三级免费| 国产色爱av资源综合区| 欧美日韩视频在线一区二区 | 欧美综合国产| 日韩一二三区视频| 激情另类综合| 欧美三区在线视频| 老司机成人在线视频| 亚洲影院在线| 亚洲黑丝在线| 欧美**人妖| 久久久91精品| 亚洲一区二区三区免费观看| 久久久噜噜噜久久狠狠50岁| 美女国产精品| 午夜精品久久久久影视 | 午夜精品视频网站| 亚洲日韩欧美视频一区| 欧美在线不卡| 欧美+日本+国产+在线a∨观看| 国产精品高潮呻吟久久av黑人| 亚洲成人中文| 亚洲国产99精品国自产|