Аз пиша програма в C #, където чета байта на PE. Но за да получа RVA, трябва да използвам заглавията на разделите. Бих искал да знам какъв е максималният брой на заглавията на разделите?
Опитах Google и аз погледнах тук, но не намерих нищо, което да ме насочи в правилната посока
Благодаря.
Отговори:
3 за отговор № 1Тъй като броят на секциите се съхранява в 16 битаinteger, най-много секции, които някога биха могли да бъдат 65535. На XP, програми с повече от 96 секции няма да се изпълняват. На Vista и W7 можете да използвате всички 65535 секции и програмата ще продължи да работи. Други ограничения могат да съществуват в други операционни системи.
1 за отговор № 2
Трябва да прочетете PE заглавието. Можете да намерите описание тук или можете да изтеглите пълно описание от MSDN
По принцип трябва да прочетете MZ заглавката и след това PE заглавието. Там се записва броят на разделите, така че не можете просто да кажете, че има N секции в средния изпълним файл.
Може да се намери доста добро въведение, заедно с някои примерен код тук както и.