Посл.ответ |
Сообщение |
Ранг: 1.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 23 января 2008 12:05 · Личное сообщение · #1
Привет всем, такая проблемка, ида при дизассме пишет:
Начало функции:
.text:0002AA69 _GetMcastNTEFromAddr@4 proc near ; CODE XREF: IPSetMCastAddr(x,x,x,x,x,x,x)+22
.text:0002AA69 ; GetIfIndexFromAddr(x,x)+FB34 ...
...
.text:0002AA69 ; FUNCTION CHUNK AT .text:000317CA SIZE 00000057 BYTES
.text:0002AA69 ; FUNCTION CHUNK AT .text:000374C0 SIZE 00000048 BYTES
...
;Далее идет код другой функции:
.text:0002ABE0 ; START OF FUNCTION CHUNK FOR _IPDispatchDeviceControl@8
...
.text:0002ABE0 ; END OF FUNCTION CHUNK FOR _IPDispatchDeviceControl@8
Далее наш чанк:
.text:000317CA ; START OF FUNCTION CHUNK FOR _GetMcastNTEFromAddr@4
...
.text:000317CA ; END OF FUNCTION CHUNK FOR _GetMcastNTEFromAddr@4
Подскажите плиз, как можно избавиться от чанков, т.е. склеить код?
| Сообщение посчитали полезным: |
|
Ранг: 10.9 (новичок) Активность: 0=0 Статус: Участник
|
Создано: 23 января 2008 14:20 · Личное сообщение · #2
никак.
| Сообщение посчитали полезным: |
Ранг: 32.9 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 23 января 2008 17:38 · Личное сообщение · #3
угу а как ты вообще это себе представляешь?
| Сообщение посчитали полезным: |
Ранг: 160.1 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 23 января 2008 17:56 · Личное сообщение · #4
gloomyraven пишет:
Подскажите плиз, как можно избавиться от чанков, т.е. склеить код?
избавится можно, отключив опцию (в самом начале при открытии файла, кернел специфик, disable function tails)
склеить - никак, будут разные куски кода.
| Сообщение посчитали полезным: |
Ранг: 527.7 (!), 381thx Активность: 0.16↘0.09 Статус: Участник Победитель турнира 2010
|
Создано: 23 января 2008 18:19 · Личное сообщение · #5
Иногда удается после автоанализа удалить функу и потом снова ее создать и чанки уходят.
----- 127.0.0.1, sweet 127.0.0.1 | Сообщение посчитали полезным: |
Ранг: 24.1 (новичок), 1thx Активность: 0.01↘0 Статус: Участник
|
Создано: 23 января 2008 20:05 · Личное сообщение · #6
;Далее идет код другой функции:
.text:0002ABE0 ; START OF FUNCTION CHUNK FOR _IPDispatchDeviceControl@8
...
.text:0002ABE0 ; END OF FUNCTION CHUNK FOR _IPDispatchDeviceControl@8
Это скорее всего тоже код, относящийся к данной функции (_GetMcastNTEFromAddr@4). У меня получается только так: стать на начало чанка, затем Edit - Function - Delete - чанк удаляется, а основная функция остается, затем можно присоединить код бывшего чанка к основному телу функции (хоткей "E").
| Сообщение посчитали полезным: |
Ранг: 1.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 24 января 2008 15:46 · Личное сообщение · #7
slackhead
я себе представляю это так, берешь чанк, вырезаешь его и вставляешь в "родную" функцию. Логика программы при этом не нарушается, а код становится читабельнее (ох уж эти оптимизаторы кода...)
Спасибо, думаю метод RedAbishai подойдет, если получится
| Сообщение посчитали полезным: |
Ранг: 196.6 (ветеран), 11thx Активность: 0.07↘0.01 Статус: Участник
|
Создано: 24 января 2008 22:34 · Личное сообщение · #8
Совет от infern0 - то что надо, волшебным образом чанки исчезают (копаю в основном arm/компилятор gcc, там чанков вроде как и нет, просто короткие функции)
| Сообщение посчитали полезным: |
Ранг: 32.9 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 25 января 2008 00:31 · Личное сообщение · #9
нада у микрософта спросить зачем эти чанки, кажется (перекрестился) что не только из чистой оптимизации, а зачем ещё хз
| Сообщение посчитали полезным: |
Ранг: 251.8 (наставник), 17thx Активность: 0.12↘0 Статус: Участник Seeker
|
Создано: 25 января 2008 07:21 · Личное сообщение · #10
Вопрос на засыпку -- а как самому создать ручками чанк функции? Иногда бывает нужно...
----- DREAMS CALL US | Сообщение посчитали полезным: |