Câu hỏi về IDA

kuqadk3

W-------
24/09/2015
11
21 bài viết
Câu hỏi về IDA
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 ạ

m3rp8.png
 
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
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.
 
Comment
Bên trên