![]() |
eXeL@B —› Основной форум —› Разрешение коллизий при создании сигнатур IDA Pro |
Посл.ответ | Сообщение |
|
Создано: 29 апреля 2006 22:33 · Поправил: STiX0r · Личное сообщение · #1 Ковыряю Lizardtech DjVu SDK (http://dstu2204.narod.ru/djvu/index.htm) для снятия ограничений на количество обрабатываемых файлов. Из библиотек делаю сигнатуры вот таким скриптом (по мотивам оригинальных батников из flair) @echo off set patname=lizard set signame=lizard set sigtitle=LizardTech ECM @echo off set pat=lizard set sig=lizard set sigtitle=LizardTech ECM if not exist %sig%.pat ( pcf *.lib %pat% ) sigmake "-n%sigtitle%" -p0 -o2 -a16F -fC00 %pat% %sig% if exist %sig%.sig ( zipsigx %sig% del *.pat ) Библиотеки кривые, в результате получаю кучу (7419) коллизий. Устраняю их (как написано в readme к flair) путем расставления + и - в начале строк. Т.к. строк много, делаю так: cat lizard.exc | sed 's/\r\n\r\n/\r\n\r\n+/g' > lizard.exc~ ; mv lizard.exc~ lizard.exc т.е. включаю только первые из групп конфликтующих функций. Перезапускаю sigmake -- все изменения почему-то игнорируются, опять создается .exc файл с неразрешенными коллизиями. ![]() |
|
Создано: 29 апреля 2006 22:51 · Личное сообщение · #2 |
|
Создано: 30 апреля 2006 05:33 · Личное сообщение · #3 |
|
Создано: 30 апреля 2006 15:13 · Личное сообщение · #4 Удаление комментов тоже не спасает. sigmake просто начинает дописывать в конец exc-файла тот же самый список. В конце концов, удалось создать сигнатуры, используя только +. Возникла другая проблема: Signature file format error при загрузке. IDA 4.9.0.863 (по ссылке с этого сайта). Сигнатуры, созданные без разрешения коллизий тоже не грузятся. DrGolova Что значит "дело нечистое"? Я думаю, что это из-за кривого майкрософтовского линкера, а не из-за хитрых программистов. ![]() |
![]() |
eXeL@B —› Основной форум —› Разрешение коллизий при создании сигнатур IDA Pro |