Сейчас на форуме: zombi-vadim, zds (+4 невидимых)

 eXeL@B —› Программирование —› dll-загрузчик своими руками
Посл.ответ Сообщение

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

Создано: 09 августа 2013 19:00 · Поправил: MisterSmile
· Личное сообщение · #1

Добрый день!
Не уверен, что верно выбрал ветку, но всё же рискну.
Хочу попросить помощи в следующем вопросе.
Устраиваюсь на работу, связанную с программированием на чистом С и Assembler'e.
Для этого необходимо выполнить тестовое задание:

"Написать приложение Win32, которое выводит Hello World через вызов спец функции.
Спец функция экспортируется тестовой dll (также самостоятельно написанной).
Пример экспортируемой функции

void ExportFunc(void)
{
MessageBox("Hello World");
}
Приложение должно загружать тестовую dll неявным образом, т. е. без использования функций LoadLibrary, GetProcAdreess и подобных, а также при отсутствии dll выводить сообщение об ошибке. Cделать собственную реализацию загрузчика dll."


Есть 2 вопроса:
1. что нужно знать и как подойти к написанию dll-загрузчика?
2. Получится ли его написать на С, или надо на Asm'e?

Извините за, может быть, простые вопросы. Это - пока что для меня не познанная область.

Спасибо.



p.s. Думал о создании собственной схемы устройства PE-файлов. Но, бороздя просторы интернета, нашёл очень наглядную. Держите, кому надо: https://docs.google.com/file/d/0B7RV63WIgbXbdE9uSmZ5bzRlTzQ/edit?usp=sharing




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

Создано: 09 августа 2013 19:03
· Личное сообщение · #2

вирусо пЕйсатели восновном на васме обитают, вам видимо туда
и там же и линк давали https://github.com/Deniskore/noimport
и тема там обильно большая по этому поводу есть



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 09 августа 2013 19:13
· Личное сообщение · #3

Да и тут где-то недавно тема проскакивала, я там пример на масме выкладывал.



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 09 августа 2013 19:39
· Личное сообщение · #4

Vovan666
--> Наверно тутэ <--MisterSmile
Тащемта, в гугле нужно набрать "сырая загрузка dll" и закрыть вопрос



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

Создано: 09 августа 2013 19:59
· Личное сообщение · #5

Воспользуйся моим примером который скинул reversecode, если такой вариант принимается,
но если будешь писать именно свой загрузчик, в любом случае системное апи придется использовать пусть и не явным образом (syscalls)




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 09 августа 2013 20:13
· Личное сообщение · #6

Что ж за работы такие, если не секрет? А то я вот, может, тоже хочу, а на постоянных работах, пусть даже удалённых, всякую хрень предлагают, типа, у нас есть игровой сервер, сорцов нет, но если что-то нам надо добавить, то берём иду и изучаем игру, и добавляем эффекты. И это было под доту 2 - вот так чел примерно и описывал т.з. Ну это ж бред. А вот реальных работ как-то нету таких.

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 09 августа 2013 20:22 · Поправил: MisterSmile
· Личное сообщение · #7

Спасибо всем откликнувшимся)

ARCHANGEL, к примеру, вот: http://hh.ua/vacancy/8160305?query=assembler



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 09 августа 2013 20:27
· Личное сообщение · #8

MisterSmile пишет:
Устраиваюсь на работу, связанную с программированием на чистом С и Assembler'e.

MisterSmile пишет:
Хочу попросить помощи в следующем вопросе.

Ты уверен, что правильно выбрал будущую работу? Если ты не можешь выполнить даже тестовое задание, то как ты будешь выполнять рабочие обязанности ?

-----
xchg dword [eax], eax




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

Создано: 09 августа 2013 20:34 · Поправил: deniskore
· Личное сообщение · #9

void пишет:
Ты уверен, что правильно выбрал будущую работу? Если ты не можешь выполнить даже тестовое задание, то как ты будешь выполнять рабочие обязанности ?

Согласен, тем более, что предстоит писать очередной протектор/упаковщик.... если конечно это та вакансия на которую ты пытаешься писать тестовое задание. И кстати ЗП маленькая для такой работы.




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

Создано: 09 августа 2013 20:44
· Личное сообщение · #10

на первые 3 месяца зп нормальная,
а вот на постоянку дальше маловата



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

Создано: 09 августа 2013 20:56 · Поправил: MisterSmile
· Личное сообщение · #11

void
Ожидал подобные вопросы.
Мне нравится разбираться в ассемблерных листингах, пытаться понять чужие алгоритмы. Это интересно и увлекательно. Если дело в защите программы, то я это воспринимаю как соревнование с её автором, и с самим собой.
Я пока что подтягиваюсь в этом направлении. И проучивишись 5 лет в политехническом, я понимаю, что тема низкоуровневого программирования - единственное, что меня привлекает и занимает. Может, потому что это мало, кто делает.
Пусть я сходу и не могу сделать это задание. Но сложные задачи, для выполнения которых нужно подпрыгнуть выше головы и вырасти, мотивируют.



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

Создано: 09 августа 2013 21:10
· Личное сообщение · #12

MisterSmile,я тебе советую обратиться к нему в скайп vans_coder
Я думаю он тебе поможет.



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

Создано: 09 августа 2013 21:13
· Личное сообщение · #13

Knighter11
Спасибо!



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 09 августа 2013 21:14 · Поправил: void
· Личное сообщение · #14

MisterSmile
Раз тянет, похвально.
MemoryModule - вот самый нормальный загрузчик dll на С который я встречал. Разбирайся
Microsoft pe loader - кода много, для понимания основ загрузки самое оно

-----
xchg dword [eax], eax


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

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

Создано: 09 августа 2013 21:15 · Поправил: MisterSmile
· Личное сообщение · #15

void, а по поводу уверенности в правильном выборе работы... Я никогда ни в чем не уверен на 100%.
Быть уверенным, значит, знать, что будет завтра. Завтра меня может унести совсем в другую сторону. Сфера моих интересов широка. Да и всё забавно в этой жизни получается: 2-е образование - звукорежиссура, а работаю актёром в театре в данный момент)

p.s. За загрузчик благодарю)




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 09 августа 2013 21:57
· Личное сообщение · #16

кг/ам

-----
От многой мудрости много скорби, и умножающий знание умножает печаль





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

Создано: 09 августа 2013 23:02
· Личное сообщение · #17

void

LWE, остальное шлак.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 09 августа 2013 23:48 · Поправил: ARCHANGEL
· Личное сообщение · #18

MisterSmile
И с такими знаниями вы пойдёте на эту работу? Мой вам совет - не позорьтесь, не надо идти туда и веселить людей - это бессмысленно. Платят, конечно, хорошо, базару нет. Да и упаковщик реально поднять, это не какой-то сказочный проект. В любом случае - удачи.

2-е образование - звукорежиссура, а работаю актёром в театре в данный момент)
Эх, как бы я хотел на собеседовании поприсутствовать.

-----
Stuck to the plan, always think that we would stand up, never ran.


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


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

Создано: 10 августа 2013 00:02
· Личное сообщение · #19

не ну а че, вон есть некоторе стоматологи которые ядро линукса всю жизнь развивают.. и ниче

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




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 10 августа 2013 01:33
· Личное сообщение · #20

Ничего! Если актер талантливый, то он сыграет роль прожженного программиста с большой дороги!

-----
Give me a HANDLE and I will move the Earth.




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 10 августа 2013 07:43
· Личное сообщение · #21

Да что Вы прицепились к его работе?! Вон на АвтоВАЗе такие же инженеры идут работать(чисто из любопытства), в Protection Technology тоже самое




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 10 августа 2013 10:10 · Поправил: Gideon Vi
· Личное сообщение · #22

MisterSmile пишет:
Устраиваюсь на работу, связанную с программированием на чистом С и Assembler'e.

MisterSmile пишет:
Это - пока что для меня не познанная область.






Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 10 августа 2013 10:21
· Личное сообщение · #23

кстати попахивает свиноводом с его гипер-загрузчиком стара. уже с десяток тем создал под разными никами на эту тему.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 11 августа 2013 14:49
· Личное сообщение · #24

Закрыто, гугл полон этих тем.


 eXeL@B —› Программирование —› dll-загрузчик своими руками
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати