Câu hỏi về IDA

Thảo luận trong 'WhiteHat Challenge' bắt đầu bởi kuqadk3, 14/05/18, 12:05 AM.

  1. kuqadk3

    kuqadk3 W-------

    Tham gia: 24/09/15, 10:09 PM
    Bài viết: 22
    Đã được thích: 14
    Điểm thành tích:
    3
    Mình có chơi war game thì khi solve challenge RE04 mình có vài thắc mắc về cái IDA của mình

    Tại sao nó pass char* v6 vô func01 và func02 nhưng khi tìm flag thì phải v6+v7+v8 = "BkavSecurity" được pass vào func01, func02 mới cho kết quả đúng

    Mình cũng mơ hồ hiểu về cái char* &v6 là pass cái string mà bắt đầu bằng kí tự đầu của v6 nhưng còn khá bối rối và chưa rõ ràng, nhờ cao thủ thông não giúp ạ

    [​IMG]
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  2. hainhc

    hainhc W-------

    Tham gia: 25/01/16, 03:01 PM
    Bài viết: 23
    Đã được thích: 14
    Điểm thành tích:
    3
    Trong ida, 3 biến int lần lượt là "vakB", "uceS", "ytir" và cuối cùng là \0.
    &v6 là địa chỉ của v6. Nếu coi địa chỉ này là địa chỉ bắt đầu của 1 string thì string sẽ kết thúc khi gặp kí tự null, tức là (char*)&v6 là địa chỉ của chuỗi "BkavSecurity".
    Trên đĩa, vùng nhớ đó là
    {0x42, 0x6b, 0x61, 0x76,
    0x53, 0x65, 0x63, 0x75,
    0x72, 0x69, 0x74, 0x79, 0}. Nếu hiểu thành 3 biến int, sẽ là 3 biến 0x76616b42, 0x53656375, 0x72697479, nếu hiện dưới dạng string thì thành các xâu trên như ida.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    whf, sunny and kuqadk3 like this.