內容物

  • e7bc5d2c0cf4480348f5504196561297

分析

一樣丟 DIE
發現是 C 寫的 ELF 一樣沒有殼
但是被 stripped

好難QQ
這篇有比較多參考 write-up 跟 AI
程式啟動的步驟是
entry __libc_start_main main
而 64bit 環境下 __libc_start_main 用暫存器傳參數
32bit 則是在 stack 傳參數
所以這一題可以知道是 64bit

int __libc_start_main(
   int (*main) (int, char **, char **),   // <--- 第一個參數 (RDI) 就是 main
   int argc,                              // <--- 第二個參數 (RSI)
   char **ubp_av,                         // <--- 第三個參數 (RDX) = argv
   void (*init) (void),                   // <--- 第四個參數 (RCX) = constructor
   void (*fini) (void),                   // <--- 第五個參數 (R8)  = destructor
   void (*rtld_fini) (void),              // <--- 第六個參數 (R9)  = dynamic linker destructor
   void (*stack_end)                      // <--- 第七個參數 (Stack)
);

所以現在知道要去哪裡找 main 了
然後 main 做的事就是呼叫 sub_402079
並且裡面東西非常多

之後再做