herm1t LIVE!ng room - April 29th, 2011 [entries|archive|friends|userinfo]
herm1t

[ website | twilight corner in the herm1t's cave ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

April 29th, 2011

jump tables, arrays of pointers [Apr. 29th, 2011|10:35 am]
[Tags|, , ]
[Current Mood | bored]

Задумался над тем, как определить размер таблицы переходов, или (что хуже) массива структур содержащих указатели на код. (Чтобы коректно восстановить CFG) Идейка простенькая, предположим, что уже известно, где лежат указатели и откуда к ним осуществляется доступ.
----*----*----*---- ... ----*--*--*--*---- ... --*******--*----
    ^                       ^                    ^   ^    ^
Для того, чтобы определить размер - смотрим расстояние (в количестве указателей, естсественно, а не в байтах) между теми указателями, к которым есть прямые обращения. Сейчас буду пробовать. Придумать бы еще, что делать, если таблица указателей формируется "на лету", но в этом случае едва ли статикой можно что-нибудь сделать...
Link8 comments|Leave a comment

navigation
[ viewing | April 29th, 2011 ]
[ go | Previous Day|Next Day ]