O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

調試器原理與架構

  • Entre para ver os comentários

調試器原理與架構

  1. 1. a27@hack-stuff.com2013年6月1號
  2. 2.  調試器駭客之瞳 追蹤一個進程運行的狀態 追蹤一個進程的狀態又大致上分為兩種▪ 動態分析追蹤 & 靜態分析追蹤 調試器經常使用於▪ Exploit程序▪ Fuzzing測試框架運行漏洞挖掘▪ 惡意軟件分析
  3. 3. • 白盒調試器 開發平台 & IDE 通常會配置的內建調試器 提供開發者更高級別的進程控制能力 黑盒調試器 目標行程的跟蹤 用戶態調試器(ring 3)V.S 內核態調試器 (ring 0)
  4. 4.  原始且富有強大功能調試器 微軟WinDbg OlehYuschukollyDbg 標準的GUNgdb 駭客能自行編寫腳本插件 ex:hook 純python的調試器PyDbg 有python調試庫Immunity Debugger
  5. 5.  CPU內有八個通用暫存器 : EAX、EDX、ECX、ESI、EDI、EBP、ESP、EBX 每種暫存器都有它不同的功用 稍後會個別講解
  6. 6.  FILO的參數結構 堆疊由內存高的位址向內存低的位址增長 EX :int my_socks(a27_one, a27_two, a27_three)組語型態push a27_onepush a27_twopush a27_threeCall my_socksHint:ESP暫存器用於紀錄當前堆疊的頂部EBP暫存器用於紀錄當前堆疊的底部返回地址a27_onea27_twoa27_three堆疊基地址ESP暫存器EBP暫存器堆疊增長方向進程執行方向
  7. 7.  ollDbg
  8. 8.  IDA-pro
  9. 9.  工具 : Lazy Engine 鎖定記憶體 更改描述 更改地址 更改數值 更改類型
  10. 10. 題目 :[Neo]Hmm... there is no clue to track down thecriminals.But, there is one way I love to use.Getting myself into the virtual world.It risks my life, but saving the world is worthrisking!I will get into the virtual world for clues!
  11. 11.  看到遊戲感覺就是把它破完key就會彈出來 先去打大魔王,發現空白鍵一直按著有機會把牠打死,可是我懶(因為失敗很多次) 找存大魔王的血量的記憶體位址 去鎖定記憶體,更改記憶體內容
  12. 12. 把999999改成0
  13. 13.  F423F(十六進位)999999(十進位)
  14. 14.  題目:We think something is hidden to this file…這句話不是廢話嗎…
  15. 15.  這個PE文件不是32位元的文件類型 放進64的VM 一開始的歡迎詞(感覺等等用的到)
  16. 16.  思考模式 沒有動作 單純的背景 動漫 蠻美的
  17. 17.  找到最一開始的歡迎詞 接著向下繼續分析
  18. 18.  同一個Functions windows裡有歡迎詞跟恭喜詞 Key應該在裡面?!
  19. 19.  if ( Msg != 273 ) returnDefWindowProcA(hWnd, Msg, wParam,lParam); if ( (unsigned__int16)wParam == 1 ) {GetWindowTextA(::hWnd, &String, 128);SetWindowTextA(hWnd, &String); v16 = 5; do { String -= v16; String ^= 3u; --v16; } while ( v16 ); v17 = 4; do { v23 -= v17; v23 ^= 4u; --v17; } while ( v17 ); v18 = 3; do { v24 -= v18; v24 ^= 5u; --v18; } while ( v18 ); v19 = 2; do { v25 -= v19; v25 ^= 6u; --v19; while ( v19 ); v20 = strcmp(&String,"C;@R"); if ( v20 ) v20 = -(v20 < 0) | 1; if ( v20 ) { MessageBoxA(hWnd,";;", "ohtahacker", 0); exit(0); } MessageBoxA(hWnd,"congratulation","ohtahacker", 0); 加密的地方找到了
  20. 20.  從IDA & OD 看出簡單的迴圈 Pseudocode ex : while(LoopCount--) { InputText[i] -= LoopCount; InputText[i] ^= XorKey; }
  21. 21.  正確的flagSECU

×