5.6
Đoạn
Những
hàm bên dưới được sử dụng để làm việc với các
phân đoạn (.text, .idata, etc) và được định nghĩa trong
segment.hpp. Rất nhiều những hàm này là những hàm bao của
các phương thức trong areacb_t của biến toàn cục segs.
5.6.1
get_segm_qty
Định nghĩa
|
inline int
get_segm_qty(void)
|
Chú giải
|
Trả về số lượng phân đoạn tronng
tập tin bị đảo mã hiện tại. Câu lệnh đơn giản
là gọi segs.get_area_qty().
|
Ví dụ
|
#include
<segment.hpp>
msg("%d segments in disassembled
file(s).\n", get_segm_qty());
|
5.6.2
getnseg
Định nghĩa
|
inline segment_t * getnseg(int n)
|
Chú giải
|
Trả về con trỏ đến cấu trúc
segment_t của segment ở vị trí thứ n được truyền
vào. Đây là hàm bao của phương thức gets.getn_area()
|
Ví dụ
|
#include
<segment.hpp>
// Get the address
of segment 0 (the first segment)
Segment_t *firstSeg
= getnseg(0);
msg("Address of the first segment is
%a\n", firstSeg->startEA);
|
5.6.3
get_segm_by_name
Định nghĩa
|
idaman segment_t *ida_export
get_segm_by_name(const char *name)
|
Chú giải
|
Trả về con trỏ đến cấu trúc
segment_t của phân đoạn có tên được truyền vào bởi
tham số *name. Nó trả về NULL nếu không có phân đoạn
như vậy. Nếu có nhiều phân đoạn với tên giống
nhau, phân đoạn đầu tiên sẽ được trả về.
|
Ví dụ
|
#include
<segment.hpp>
// Get the segment_t
structure for the .text segment.
Segment_t *textSeg =
get_segm_by_name(".text");
msg("Text segment is at %a\n",
textSeg->startEA);
|
5.6.4
getseg
Định nghĩa
|
inline segment_t * getseg(ea_t ea)
|
Chú giải
|
Trả về cấu trúc segment_t cho phân đoạn
chứa địa chỉ ea. Hàm này là hàm bao cho hàm
segs.get_area()
|
Ví dụ
|
#include <kernwin.hpp> // For get screen
ea() #include <segment.hpp>
|
5.6.5
get_segm_name
Định nghĩa
|
idaman ssize_t
ida_export
get_segm_name(const segment_t *s, char *buf,
size_t bufsize)
|
Chú giải
|
Lấy tên của phân đoạn và gán vào
vùng đệm *buf, được giới hạn bởi bufsize với tên
(“_text”,”_idata”,etc) của đoạn *s. Trả về kích
cỡ của tên phân đoạn, hoặc -1 nếu *s là NULL
|
Ví dụ
|
#include <segment.hpp>
|
No comments:
Post a Comment