64bit assembly code

Keynote:

  • little endian
  • xor

Tools:

  • ida64
  • XOR Calculator online https://xor.pw/
  • Hex to ASCII text converter http://www.rapidtables.com/convert/number/hex-to-ascii.htm

主要觀察 check1, check2, gg function

check1:

stupid_v2_check1_func_in_ais3's_binary_question

check2:

stupid_v2_check2_func_in_ais3's_binary_question

gg:

stupid_v2_gg_func_in_ais3's_binary_question

在 check1 時,to_reg function 會將 input 存入 rdx,key 的值為 0DDDDAAAADADADDAAh,經過運算:

key = (input) XOR 0DDDDAAAADADADDAAh

進入 check2 ,call gg function 並且 ax = 0 時即可進到正確的段落 “Yeah, It’s a flag !!! …”

進入 gg function,分兩次檢查 key 的值,總之 key 的值要為 0BFB7B8CEh 和 0BCB4DEC4h 的連接

key = (input) XOR 0DDDDAAAADADADDAAh
    = 0BCB4DEC4BFB7B8CEh

所以可得 input 值為 06169746e656d6564h 並拿去轉成 ascii,注意 little endian,反向讀取:

dementia

得到一個癡呆 :)

flag: AIS3{dementia}

Standord Machine Learning Class: Week7 Assignment

## ex6.m> you will be using support vector machines (SVMs) with various example 2D datasets.- Plot Data (in ex6data1.mat)![ex6_plotting_e...… Continue reading