Сейчас на форуме: zds, UniSoft (+5 невидимых)

 eXeL@B —› Программирование —› Development contest (организационное)
Посл.ответ Сообщение

Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 10 февраля 2013 22:36 · Поправил: r_e
· Личное сообщение · #1

Привет участникам соцсоревнований! =)
Предлагаю устроить забег по программированию. С пользой для общества.
Выбрать несколько задач. Придумать няшечки в призовой фонд и вперед.

Мои варианты.
Задача 1. Необходимо накодить утилиту (или плагин), которая бы позволяла подменять произвольный класс/метод в одной сборке на указанный пользователем класс/метод из другой сборки. (50 вмз)

Задача 2. Плагин к иде, который по выделенному значению, показывал бы ресурс. Или делал отдельный таб для управления ресурсами. (40 вмз)

Задача 3. Допил фишек форума. Список предлагайте. (от 5 вмз)

Открытый исходный код. Желательно все это в c#, c++ или delphi. Впрочем, другие варианты тоже приемлемы.

Заинтересовавшимся предлагаю либо голосовать электроденьгами за имеющиеся варианты, либо предлагать свои с указанием взноса.
Давайте срок сбора задач назначим до 1 марта. Регистрация участников - до 8 марта. А сам забег - с 8 марта до 1 июня.

-----
старый пень





Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 10 февраля 2013 22:55 · Поправил: hors
· Личное сообщение · #2

Интересная идея. А что означает "голосовать деньгами"? Перевести их куда-то или обязаться выплатить?

Или вот например "Допил фишек форума". Какого форума? этого?

r_e пишет:
Задача 1. Необходимо накодить утилиту (или плагин), которая бы позволяла подменять произвольный класс/метод в одной сборке на указанный пользователем класс/метод из другой сборки. (50 вмз)


Если яснее напишите ТЗ(плагин к чему, какие сборки) и это будет нужно более чем 3 людям, то я могу и бесплатно накодить.

-----
http://ntinfo.biz





Ранг: 57.3 (постоянный), 67thx
Активность: 0.060
Статус: Участник

Создано: 10 февраля 2013 23:07
· Личное сообщение · #3

http://www.exelab.ru/f/action=vthread&forum=5&topic=20837#8



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 10 февраля 2013 23:16
· Личное сообщение · #4

Можно голосовать чем угодно: руки, ноги, почку может победитель возьмет. Может софт какой редкий или инвайт на сиськи-пати в малибу. Просто задачи достаточно объемные на мой взгляд (уж точно не на 2 часа фана).
Также не знают прокатит ли "у нас джентельменам верят на слово" (и тут мне как поперло =)). В принципе, я готов закинуть указанное на кошель мембера, который будет представлять эхолаб/жюри в этом соревновании.

Конечно фишки для _этого_ форума. Зачем педалить для какого-то другого?

По поводу задачи 1. Вообще, не ясно возможно ли это в принципе. Допустим у нас есть определенный управляемый код (managed code method) в сборке. Метод выполняет следующее - декриптует другой метод и вызывает его. Со стороны атакующего что делать? Беру студию, пишу аналог криптованного метода. Компилю сборку. Дальше я беру _волшебную утилиту_, которой указываю оригинальную сборку и протекченный метод + свою сборку и самописный метод. После чего _волшебную утилита_ переносит самописный метод в оригинальную сборку, попутно фикся зависимости, а также находит все рефы на вызов протекченного метода и заменяет их на вызов проинжекченного метода.

-----
старый пень





Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 10 февраля 2013 23:30
· Личное сообщение · #5

r_e пишет:
По поводу задачи 1. Вообще, не ясно возможно ли это в принципе

Возможно. Другое дело, будет ли это интересно более чем 3 людям(которые бы мне тестировали очередные сборки и присылали регулярно багрепорты.)

-----
http://ntinfo.biz




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 10 февраля 2013 23:45
· Личное сообщение · #6

hors
Описанная фича защиты, по идее, должна быть в протекторах. Хз как с ней сейчас справляются. Но мне кажется что рано или поздно с этим прийдется столкнуться многим.
Кстати, тут подумалось что для реализации инжекта из "левой" сборки могут быть проблемы с доступом к интернал классам и прочим приватным данным. Может даже было бы лучше подгружать атакуемую сборку и давать окно миниредактора кода, котороый потом компилить и инжектить.
В качестве плага такая фича могла бы быть в ILSpy или SAE - типа "Add new method..." или "Replace method..."

-----
старый пень




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 11 февраля 2013 02:19
· Личное сообщение · #7

r_e
А с задачей номер два, какие сложности?
Взять какую нибудь библиотеку работы с PE, запилить скрипт на python и вывести все это дело в новый таб IDA.
Или я не понял ТЗ?



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 11 февраля 2013 02:46
· Личное сообщение · #8

F_a_u_s_t
Да никаких. Участвуйте и компелируйте. =)

-----
старый пень




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 12 февраля 2013 00:10
· Личное сообщение · #9

r_e
Хех, 40 wmz плохой стимул, что бы писать pip install pefile, import pefile...бла бла бла... просто подсказал что на python задача в разы проще решается, а он в списке не обозначен был.
Уступлю молодым талантам.



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 12 февраля 2013 01:10
· Личное сообщение · #10

F_a_u_s_t
Собственно, идея была дать начало конкурсам на разработку минитулов. С надеждой на то что может еще кто подключится. Тогда и задач интересных бы прибавилось и призовой фонд подрос. Но судя по активности - никому нифига не надо.
Ясно что если припечет, то все это можно и самому написать.

-----
старый пень




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 12 февраля 2013 02:08
· Личное сообщение · #11

r_e
Тут дело не в деньгах ( точнее сумма должна быть в разы больше что бы заинтересовать "стариков" ), а в необходимости инструмента, например мне редактор ресурсов в IDA не нужен, был бы нужен, написал бы и выложил бесплатно.
Просто "молодежь" привыкла к готовому, а "старикам" уже не нужно, а такая сумма не добавляет стимула.
Как то так, хотя если будут интересные идеи и посчитаю их полезными для себя, то можно запилить и поделиться с общественность.
Как то так.
Могу только еще добавить вариант решения ТЗ номер два, ламерский - в лоб, взять библиотеку для работы с PE из темы движков, запилить на ее основе dll, в python заюзать ctypes, распарсить все это дело и в таб вывести.



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 12 февраля 2013 02:17
· Личное сообщение · #12

F_a_u_s_t
Я ж про то и говорю. Что никому не надо. И даже задач интересных никто не предлагает.
Из интересных задач или монстры, типа вмп декомпиля, или что-то частное. А мелочь рутинную никто делать не хочет.

А что с ресурсами делать я вкурсе =)
Кстати, сюда же можно было бы Qt-шные .qm файлы распарсить.

-----
старый пень





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 12 февраля 2013 02:38
· Личное сообщение · #13

а некоторым и своей основной работы хватает
даже на хобби времени нет, не то что бы запилить что то полезное даже за деньги



Ранг: 4.7 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 12 февраля 2013 06:27
· Личное сообщение · #14

r_e пишет:
Мои варианты.
Задача 1. Необходимо накодить утилиту (или плагин), которая бы позволяла подменять произвольный класс/метод в одной сборке на указанный пользователем класс/метод из другой сборки. (50 вмз)

Хм. Давно была такая идея. Радует что есть люди, которые мыслят похоже



Ранг: 85.4 (постоянный), 51thx
Активность: 0.090
Статус: Участник

Создано: 12 февраля 2013 08:39
· Личное сообщение · #15

Если память мне не изменяет, то задача 1 уже решена, на b-at-s.info пробегала тулза



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 12 февраля 2013 12:10
· Личное сообщение · #16

drone
Посмотрел - не нашел.

-----
старый пень




Ранг: 4.7 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 12 февраля 2013 12:13
· Личное сообщение · #17

r_e пишет:
drone
Посмотрел - не нашел.

Подтверждаю. В сети пару раз находил open-source статические инжекторы (и то на стадии разработки), а подобных задаче 1 не видел




Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 12 февраля 2013 15:42
· Личное сообщение · #18

Ripped_Boy пишет:
Хм. Давно была такая идея. Радует что есть люди, которые мыслят похоже


А готовы ли тогда лично Вы тестировать эту программу и присылать мне багрепорты?

-----
http://ntinfo.biz




Ранг: 4.7 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 13 февраля 2013 06:16 · Поправил: Ripped_Boy
· Личное сообщение · #19

hors пишет:
А готовы ли тогда лично Вы тестировать эту программу и присылать мне багрепорты?


Вы уже готовы представить тестовый вариант? Я готов, если будет адекватное восприятие критики.




Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 13 февраля 2013 13:02
· Личное сообщение · #20

Ripped_Boy пишет:
Вы уже готовы представить тестовый вариант? Я готов, если будет адекватное восприятие критики.


Напишите мне в ЛС, как с Вами можно будет потом связаться.
С адекватным восприятием все нормально. А тестовые варианты появятся сразу же после того, как найду достаточно бетатестеров.

-----
http://ntinfo.biz




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 13 февраля 2013 14:23
· Личное сообщение · #21

На этом форуме любят рвать майку(трусы, лифчик на выбор) по поводу низкой оплаты нереально крутых программеров/реверсеров, кем они являются, поэтому следуя логике местных гуру за 50/40/5 вмз никто даже студию не запустит



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 13 февраля 2013 14:30
· Личное сообщение · #22

TryAga1n
Плиз, сделайте копию поста на rsdn и ссылку на топик сюда.
Посмотрим достоверную оценку вашей логики.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 13 февраля 2013 14:45
· Личное сообщение · #23

да что там студию! некоторым доплачивают по 100wmz только что бы они сюда заходили



Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 13 февраля 2013 16:07 · Поправил: vden
· Личное сообщение · #24

по поводу ресурсов Ильфак или Элиас вроде уже делали, только для строк
http://www.hexblog.com/?p=117 - # Displaying resource strings

а так затея с контестом интересная, но как уже было сказано, многим даже на свои проекты не хватает времени

| Сообщение посчитали полезным: r_e, reversecode

Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 13 февраля 2013 16:56
· Личное сообщение · #25

vden
Там допилить надо чтоб можно было модуль указать. Да и желательно сделать поддержку .qm трансляторов.
Хотя, для базы подойдет и указанное по ссылке.

Если контест не состоится (что скорее всего), могу закинуть на пиво =)

-----
старый пень





Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 13 февраля 2013 21:57 · Поправил: zeppe1in
· Личное сообщение · #26

r_e
1.
Да вроде слепить все сборки в одну не проблема.
http://www.codeproject.com/Articles/9364/Merging-NET-assemblies-using-ILMerge
http://code.google.com/p/il-repack/
Заменить вызовы одного метода на другой тоже ничего особенного.
r_e пишет:
В качестве плага такая фича могла бы быть в ILSpy или SAE - типа "Add new method..." или "Replace method..."

Reflexil же инжектит всё что хочешь, и как то ни разу не пригодилась эта фича)
r_e пишет:
Беру студию, пишу аналог криптованного метода.

Может сразу аналог софта?

r_e пишет:
Черкни мне в ПМ ВМ или ЯД.

не за что)

-----
zzz


| Сообщение посчитали полезным: r_e

Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 14 февраля 2013 00:35 · Поправил: r_e
· Личное сообщение · #27

zeppe1in
Man, you made my day. Судя по всему, это то что надо. Я рефлексил видел года два назад последний раз. Тогда он еще был гадким утенком. Завтра потестирую фичи.
_СПАСИБО_ =)

-----
старый пень





Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 14 февраля 2013 02:19 · Поправил: hors
· Личное сообщение · #28

zeppe1in пишет:
Да вроде слепить все сборки в одну не проблема.
http://www.codeproject.com/Articles/9364/Merging-NET-assemblies-using-ILMerge
http://code.google.com/p/il-repack/
Заменить вызовы одного метода на другой тоже ничего особенного.

Ну вот. И не пришлось велосипед изобретать.

-----
http://ntinfo.biz



 eXeL@B —› Программирование —› Development contest (организационное)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати