Сейчас на форуме: zds (+5 невидимых) |
![]() |
eXeL@B —› Программирование —› Запросы на сорцы |
<< . 1 . 2 . 3 . >> |
Посл.ответ | Сообщение |
|
Создано: 01 сентября 2010 12:02 · Личное сообщение · #1 Подобной темы не нашел, потому предлагаю постить тут. Цель темы: Выкладывать запросы на сорец чего-либо. Обоснование: Иногда чел хочет принести вклад в общество, либо ему хочется чего-то сделать, а вроде ничего и не надо, но кодить-то хочется! ;))) Тогда заглянув сюда, можно увидеть кому-чего надо и тем самым помочь не только себе, развитием навыков, но и другому, разработкой хоть какого-то готового куска кода. Формат постов с запросами: 1) Цель сорца, т.е. что должно сделать функция 2) Язык разработки и нужны ли файлы проектов, солюшенов Формат постов с решениями: 1) Указать номер поста, пример "#2" 2) Приложить файл с сорцами, проектами или еще чем-то 3) Указать возможные баги, т.е. на чем нужно потестить просившему решение 4) Указать ограничения, к примеру сервис пак винды Формат постов с доработкой и просьбами улучшить: 1) Указать номера постов или последнего с выкладываем решением 2) Указать чего не хватает Возможные правила: Удаление постов не подходящих под форматы выше ЗЫ: 1) Вот ща хочу чего-нить полезное сделать, так сказать дома в свободное время, но чего не знаю, вот и возникла подобная мысль ) 2) Если модеры сочтут темой бредовой, не обижусь если удалят ) ![]() |
|
Создано: 08 сентября 2010 11:07 · Личное сообщение · #2 |
|
Создано: 09 сентября 2010 06:41 · Личное сообщение · #3 >> int пишет: >> Ещё нужен парсер .h файлов (заголовочный файлы), а если конкретно, нужно вытаскивать прототипы >> функций и их параметры. Парсить надо вплоть до выдирания всех структур со всей их вложенностью. > Вот это более интересно. У меня даже есть готовое ТЗ на эту тему, прилагаю. Парсер требуется для > Декомпилятора С++. Делать парсер хедеров - это сильно унылое занятие, сравнимое по сложности с написанием того-же компилятора. А декомпилятор С++ - это во первых ересь, а во вторых он уже куплен Ильфаком =) Даю наводку - парсить .pch/.pdb гораздо проще, хотя годика 4 назад, когда я обработал весь Platform SDK, осталалось некоторое количество экспортируемых функций, для которых не образовалось протототипов. Толи это был косяк парсера, толи их действительно небыло в .h файлах, толи я скомпилял не тот SDK - не разбирался, ибо моя задача была решена сполна ![]() ![]() |
|
Создано: 09 сентября 2010 06:56 · Личное сообщение · #4 > Там кто-то интересовался на счет zip-крякера под CUDA. На сколько я знаю алгоритм используемый в zip'е > под CUDA будет работать ничуть не быстрее, чем на CPU, может даже медленее!!! Это почему же? Старый zip-crypto - это практически банальный xor с перестановкой, новый - AES. Сами алгоритмы естесно паралелятся хреново, да это для брутфорса и не надо - главное можно 100500 тредов запустить под разные пароли. Могу попробовать, хоть и не сталкивался никогда, надо тока zlib и crc32 на куде написать, хотя, подозреваю, что все уже давно написано и вылизано - уж больно задача бенчмарковая. ![]() |
|
Создано: 09 сентября 2010 08:06 · Личное сообщение · #5 |
|
Создано: 09 сентября 2010 14:41 · Личное сообщение · #6 [offtop] DrGolova Я на досуге решил почитать про старую шифровку зипа. В связи с этим, у меня возник вопрос. Файл шифруется тремя 32хбитными ключами, а для проверки используется в лучшем случае 2 байта (CRC32 или времени). Получается, надо расшифровывать весь файл, если проверка прошла? И дальше считать CRC32 и сравнивать? Но тогда все равно можно на коллизии наткнуться. СRC32 - 32 бита, а ключей -96 бит. Получается, должно быть примерно 1<<64 коллизий? или там не все ключи возможны? [/offtop] ![]() |
|
Создано: 09 сентября 2010 15:26 · Поправил: neomant · Личное сообщение · #7 |
|
Создано: 09 сентября 2010 16:06 · Поправил: tomac · Личное сообщение · #8 |
|
Создано: 09 сентября 2010 16:17 · Личное сообщение · #9 |
|
Создано: 09 сентября 2010 22:20 · Личное сообщение · #10 |
|
Создано: 09 сентября 2010 22:26 · Личное сообщение · #11 Интерпретатор выполняет код, компилятор создаёт бинарный само выполняющийся код. Общая их часть, это лексический анализатор, синтаксический анализатор, семантический анализатор. Также часто цепляют конвертер в ПОЛИЗ. Теперь внимание вопрос. К чему это написано: Coderess пишет: лексический разбор то это интерпритатор, который куда проще чем компилятор ? Я в этих терминах разбираюсь, уж поверьте. Я писал интерпретатор для Си. Потом планирую вставить его в отладчик в качестве скриптового языка. ![]() |
|
Создано: 10 сентября 2010 03:10 · Личное сообщение · #12 |
|
Создано: 10 сентября 2010 06:54 · Личное сообщение · #13 tomac CRC проверка не дает 100 проц. вероятности в том что файл оригинален, НО вероятность достаточно велика в твоем случае 1/ FFFFFFFF FFFFFFFF т.е. практически 100 проц. И применяеца потому что это достаточно быстрый способ с достаточной степенью вероятности определить оригинальность файла. Если ВЫ такой счастливчик и попадете в эту вероятно то лучше играйте в лотореи ![]() ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 10 сентября 2010 12:34 · Личное сообщение · #14 |
|
Создано: 10 сентября 2010 16:26 · Поправил: geograph · Личное сообщение · #15 Здесь classic zip encryption isn’t that suitable for GPUs (especially for ATI ones) because of CRC32 (== lookup tables) and 32-bit multiplications usage. Can’t say for sure but there are some chances that GPUs will be even slower than CPUs for this task. I’m planning to add plaintext and guawz attacks (with CPU usage only) for classic zip though, as they still can be very useful. ![]() |
|
Создано: 10 сентября 2010 20:04 · Личное сообщение · #16 |
|
Создано: 11 сентября 2010 00:10 · Личное сообщение · #17 |
|
Создано: 16 сентября 2010 00:15 · Личное сообщение · #18 |
|
Создано: 16 сентября 2010 14:31 · Личное сообщение · #19 этих парсеров хедеров полно, достаточно загуглить "header parser" например ctags.sourceforge.net/ www.gccxml.org/ только на выходе все-равно затачивать под себя надо. если не очень усложнять задачу, то можно парсер структур на перле и регексах сделать, будет не большим. у меня в 150 строк уместился - ищет структуры в h/c/cpp и на выходе выдает скрипт для иды. ![]() |
|
Создано: 16 сентября 2010 18:13 · Личное сообщение · #20 |
|
Создано: 16 сентября 2010 22:33 · Личное сообщение · #21 |
|
Создано: 21 сентября 2010 03:42 · Личное сообщение · #22 > А по вашему написать компилятор очень сложно? Может я отстал от жизни, но по моему - совсем не просто. Особенно, если надо распарсить полтора гигабайта Platform SDK, написанного далеко не на стандартном С++ Йа неоднократно видел, как на этой задаче падают плашмя интеллисенсы, вижалассисты и прочие статические анализаторы кода, которые пишутся не первый год, и далеко не в одно рыло. Так что рекомендую протереть розовые очки. ![]() |
|
Создано: 21 сентября 2010 03:53 · Личное сообщение · #23 > Файл шифруется тремя 32хбитными ключами, а для проверки используется в лучшем случае 2 байта > (CRC32 или времени). Получается, надо расшифровывать весь файл, если проверка прошла? И дальше > считать CRC32 и сравнивать? Но тогда все равно можно на коллизии наткнуться. СRC32 - 32 бита, а > ключей -96 бит. Получается, должно быть примерно 1<<64 коллизий? или там не все ключи возможны? Таки да, контекст классического zip-crypto - 'всего' 3 дворда (48 бит) + офицальный backdoor с быстрой проверкой правильности пароля (после расшифровки 12-ти байтового salt'а последние 16 бита должны совпадать с младшим вордом TDS). Эту быструю проверку можно распараллелить на GPU. А дальше - расшифровывать кандидатными ключами поток, и пытаться его распаковать, сравнивая результирующий размер и CRC32. Так, собственно, приходится делать для любых зашифрованных архивов. На кривых данных zlib распаковка тоже будет быстро обламываться. Но тем не менее - это банальный брутфорс, зоть и с кучей быстрых стоп-условий. Это тоже должно неплохо параллиться. ![]() |
|
Создано: 19 февраля 2011 11:08 · Личное сообщение · #24 |
|
Создано: 19 февраля 2011 13:26 · Личное сообщение · #25 |
|
Создано: 19 февраля 2011 13:59 · Поправил: VodoleY · Личное сообщение · #26 harad Может поможет, когдато искал, для делфи лучшего не нашел Там хардваре нету,но основные структуры все уже есть. ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 19 февраля 2011 15:07 · Личное сообщение · #27 |
|
Создано: 20 февраля 2011 08:38 · Личное сообщение · #28 PE_Kill пишет: "Простейшего" и "Hardware breakpoint" трудновато совместить. Работа с тредами, синхронизация их контекстов, битовые флаги DRx регистров. ИМХО ты не стой стороны к задаче подошел. Дорогу осилит идущий. Флаги, треды - рога до копыта остались от них. Разобрался в теме: ![]() Кому если пригодиться, простейший исходник для обучения в личку пишите. ![]() |
|
Создано: 20 февраля 2011 09:13 · Личное сообщение · #29 |
|
Создано: 23 февраля 2011 10:21 · Личное сообщение · #30 |
|
Создано: 23 февраля 2011 10:36 · Личное сообщение · #31 VodoleY пишет: а никто случайно не писал плагины под ольку на делфе, Plugin.h переписанный хотелось бы в студию Старо как мир. ![]() ----- Лучше быть одиноким, но свободным © $me ![]() |
<< . 1 . 2 . 3 . >> |
![]() |
eXeL@B —› Программирование —› Запросы на сорцы |