| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > перл парсер для адреса стека |
| Автор: Tailz 1.11.2007, 07:49 |
| Всем доброй ночи ! собственно имеем мы адрес стека 0xbfffffff использую парсинг перла с командной строки как мы ее выведем в обратном порядке + '\x' тоест 0xbffffff -> "\xff\xff\xff\xbf" буду оч благодарен спасибо, начинаю учить магию перла |
| Автор: Unrealm 1.11.2007, 12:03 | ||
Немного не понял, что требуется, но вот код, я думаю его не составит труда привести к необходимому виду:
|
| Автор: Tailz 1.11.2007, 16:38 | ||||
| спасибо большое Unrealm !!! работает как надо
можно ли такое с командной строки на перле замутить? с командной строки имеется что то вроде етого на большее голова не тянет :(
Еще раз спасибо большое за помощь !!! |
| Автор: Unrealm 1.11.2007, 23:57 | ||
Разве что так:
|
| Автор: Tailz 2.11.2007, 05:21 | ||
| сорри че то не выходит крутил вертел командные опции не выходит :( и в нете не чего подобного не нашел подкорректируй пожалуйста код вот что пишет
|
| Автор: pompei 2.11.2007, 06:49 |
| Вот работает без проблемм perl -e "$_=$ARGV[0]; s/^0x//; push @x, $1 while /(\w\w)/g; print '\\x', join '\\x', reverse @x " -- 0x123456ab или perl -e "$_=$ARGV[0];s/^0x//i;unshift@x,$&while/\w\w/g;print'\\x',join'\\x',@x" -- 0x123456ab Вывод: \xab\x56\x34\x12 Это на винде, в линуксе просто поменяйте апострофы на двойные кавычки и двойные кавычки на апострофы |
| Автор: Tailz 2.11.2007, 07:54 | ||
| 2pompei, спасибо большое за код блин писец не фига не пойму или у меня битая версия перла или хз пытался менял строки знаки хочет работает хочет ошибки выдает скажите плиз какая у вас рабочия версия перла у меня This is perl, v5.8.8 built for i486-linux-gnu-thread-multi странно но не один код ис вышеприведенных на етой версии не работает :( в чем же дело может быть ? не ужели там такие значительные изменения между версиями :(((( pompei, посмори плис что значит?
|
| Автор: pompei 2.11.2007, 08:09 |
| У Вас Перл нормальный, просто в консоли дело, она отличается в винде и линуксе (там по разному воспринимаются апострофы и дв.кавычки). В линуксе в двойных кавычках, например, $x - обозначает что нужно на это место поставить значение переменной окружения x. А в винде уже апострофы имеют специальное значение. Поэтому проблемма совсем не в перле. В выше приведённых примерах, чтобы они работали на линуксе поменяйте апострофы на двойные кавычки и двойные кавычки на апострофы |
| Автор: Tailz 2.11.2007, 09:48 |
| огромное спасибо pompei ! давно мне нормально не кто не помогал были бы права добавил бы репутацию или модером бы сделал ;) спасибо что указал на мои ошибки очень благодарен ! незная перла я и не подозревал что противоположные расличия ковычек на винде и линуксе. |
| Автор: pompei 2.11.2007, 11:05 |
| Перл на винде и на линуксе ОДИНАКОВО использует кавычки (одна из догм перла - платформонезависимость). РАЗЛИЧИЯ же наблюдаются только у консолей. |
| Автор: amg 2.11.2007, 12:17 | ||
Как всегда в перле, возможны и другие варианты. Например:
|
| Автор: Tailz 3.11.2007, 23:37 | ||||
| большое спасибо amg восникло пару вопросов
как обьединить ети 2 запроса в один? так как я новичок к перлу пытался у меня не получалось также помогите плис с реверсом етого запроса
ето у нас идет char to hex а как на перле сделать hex to char ? спасибо большое всем за помошь |
| Автор: amg 5.11.2007, 11:21 | ||||
Для начала скажу, что опции перла особенно хорошо приспособлены для обработки строк из потока или из файлов. Можно, конечно, подавать перлу данные и через аргументы, вводя их вручную или с помощью xargs, но обычно данные все же берутся из файла или поступают с выхода другой программы. И так, объединить команды:
Добавлено через 11 минут и 13 секунд Самое очевидное решение в данном случае отлично работает
|