| Сейчас на форуме: tyns777 (+5 невидимых) |
| eXeL@B —› Программирование —› Как в коде получить Entry Point |
| Посл.ответ | Сообщение |
|
|
Создано: 03 апреля 2011 21:01 · Поправил: Модератор · Личное сообщение · #1 Как в с++ , а возможно и асм вставкой ,узнать точку входа типа 00410010 в программу и адрес списка машинных команд в хексе такой как в винхексе типа 00000653 с которого начинают идти нужные команды? вот на картинке в атаче точнно что мне надо чтоб скажем я скармливаю ему екзешку ввожу нужный машинный код а он мне говорит их адрес в файле , и чтоб екзешку скармливая он мне говорил ее ентри поинт 8886_03.04.2011_EXELAB.rU.tgz - Безымянный.jpg
![]() |
|
|
Создано: 03 апреля 2011 21:06 · Личное сообщение · #2 |
|
|
Создано: 03 апреля 2011 21:07 · Личное сообщение · #3 |
|
|
Создано: 03 апреля 2011 21:07 · Поправил: Модератор · Личное сообщение · #4 |
|
|
Создано: 03 апреля 2011 21:12 · Личное сообщение · #5 |
|
|
Создано: 03 апреля 2011 21:38 · Личное сообщение · #6 Я не жадный ![]() Code:
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: ixtorio |
|
|
Создано: 03 апреля 2011 22:12 · Личное сообщение · #7 |
|
|
Создано: 03 апреля 2011 22:34 · Личное сообщение · #8 |
|
|
Создано: 03 апреля 2011 22:39 · Личное сообщение · #9 |
|
|
Создано: 03 апреля 2011 23:28 · Личное сообщение · #10 |
|
|
Создано: 03 апреля 2011 23:31 · Поправил: Coderess · Личное сообщение · #11 tihiy_grom тем более вы забыли выложить бинарный поиск по файлу, так что незачёт Этот код из моего незавершенного сканера одного протектора, не особо хочется его светить Придерживаюсь мнения, что иногда небольшой код помогает понять как "это" работает, поэтому ставим int3 и отлаживаем в ольке. Также все написано в уроке Iczelion'а http://wasm.ru/article.php?article=1002002http://wasm.ru/article.php?article=1002004 вооружившись когда-то этими статьями мною много чего было написано ---- Code:
--- Djeck Неее, старый-корявый код, только щас заметил как оно работало??! ![]() ужас просто не используйте его
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
|
Создано: 03 апреля 2011 23:32 · Личное сообщение · #12 |
|
|
Создано: 03 апреля 2011 23:33 · Личное сообщение · #13 |
|
|
Создано: 03 апреля 2011 23:49 · Поправил: ixtorio · Личное сообщение · #14 послушайте ,я конечно понимаю что вас напрягает отвечать , но форум создан для обмена опытом .. и для общения и обсуждения...в гугле нету того что описал Coderess и исходников таких я ненашел там , и чувствуя что вы скажете что плохо я искал скажу таки что хорошо искал в своем понимании , думаете мне делать нех чем сидеть на форуме?мне гораздо легче мануал прочитать ... но если я его непонимаю или немогу найти это не значит что меня надо банить , а значит что можно было бы мне и помочь... мне всего навсего нужно знать какого типа переменные в исходнике ибо я в душе незнаю в каком типе переменных есть такая фигня ->e_lfanew вотак? PIMAGE_NT_HEADERS pnt_hdr; PIMAGE_NT_HEADERS pnt; PIMAGE_DOS_HEADER pdos_hdr; PIMAGE_DOS_HEADER pdos; если так то уменя программа прекращает работу , умну вин 7 и там это наглядно видно ... файл который скармливаю это чистый незапакованный и не закриптованный екзешник ![]() |
|
|
Создано: 03 апреля 2011 23:57 · Поправил: VodoleY · Личное сообщение · #15 |
|
|
Создано: 04 апреля 2011 00:01 · Личное сообщение · #16 |
|
|
Создано: 04 апреля 2011 00:04 · Личное сообщение · #17 |
|
|
Создано: 04 апреля 2011 00:07 · Личное сообщение · #18 |
|
|
Создано: 04 апреля 2011 00:09 · Личное сообщение · #19 ixtorio делай include <Windows.h> или <Winnt.h> Изучай структуры IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_OPTIONAL_HEADER. В-кратце: в исполняемых файлах винды формата PE32 лежит структура IMAGE_DOS_HEADER, ее поле e_lfanew указывает по какому смещению относительно начала файла лежит структура IMAGE_NT_HEADERS. Уже в ней найдешь вложенную структуру IMAGE_OPTIONAL_HEADER и поле AddressOfEntryPoint - оно тебе и нужно. Статьи и документация (на английском): http://msdn.microsoft.com/en-us/library/ms680336(v=vs.85).aspx http://www.skynet.ie/~caolan/pub/winresdump/winresdump/doc/pefile.html Если не понимаешь что-то из сказанного, иди лучше почитай книги по Си++. Я полагаю, неправильно работаешь с памятью (об этом мне говорит юзание структур PIMAGE_DOS_HEADER вместо IMAGE_DOS_HEADER), раз у тебя вылет. И вообще, покажи свой код, мы сможем сказать тебе, где и почему он падает. ![]() |
|
|
Создано: 04 апреля 2011 00:18 · Поправил: ixtorio · Личное сообщение · #20 теперь вообще не компилится Code:
когда вот так Code:
то воттак Code:
когда вот так Code:
то вот так Code:
вобщем теперь ошибка одна точнее варнинг Code:
в ответ на PIMAGE_DOS_HEADER pdos; ![]() |
|
|
Создано: 04 апреля 2011 00:35 · Поправил: Модератор · Личное сообщение · #21 Вам Coderess запостил неправильный код, а вы не можете головой подумать? warning C4101: 'pnt_hdr' : unreferenced local variable = переменная объявлена, но не используется local variable 'pdos' used without having been initialized = переменная используется, но не инициализирована Первый ворнинг не страшен (не тонкий намек о намеренном засорении стэка). Второй предупреждает о том, что программа упадет. PIMAGE_NT_HEADERS nt_headers_ptr; PIMAGE_DOS_HEADER dos_header_ptr; dos_header_ptr = (PIMAGE_DOS_HEADER)pMapFile; nt_headers_ptr = (PIMAGE_NT_HEADERS)(pMapFile + (DWORD)dos_headers_ptr->e_lfanew); DWORD ImageBase = nt_headers_ptr->OptionalHeader.ImageBase; DWORD EP = nt_headers_ptr->OptionalHeader.AddressOfEntryPoint; return EP+ImageBase; Archer А тебе слабо было посмотреть на исходники, прежде чем человека баном запугивать? ![]() От модератора: от Archer: а ему слабо голову включить? 1 поле из документированной структуры прочитать не может. не говоря про то, что дали сорцы, да и весь интернет завален примерами работы с ПЕ. либо пусть думает сам, либо отключает голову и идёт на кодерский сайт, где платит/выпрашивает за просто так готовый и компиляющийся. пока он это делает здесь ![]() |
|
|
Создано: 04 апреля 2011 00:43 · Поправил: Kaimi · Личное сообщение · #22 |
|
|
Создано: 04 апреля 2011 00:47 · Поправил: ixtorio · Личное сообщение · #23 |
|
|
Создано: 04 апреля 2011 01:27 · Личное сообщение · #24 |
|
|
Создано: 04 апреля 2011 01:31 · Личное сообщение · #25 |
|
|
Создано: 04 апреля 2011 01:44 · Личное сообщение · #26 |
|
|
Создано: 04 апреля 2011 01:47 · Личное сообщение · #27 |
|
|
Создано: 04 апреля 2011 10:06 · Личное сообщение · #28 |
| eXeL@B —› Программирование —› Как в коде получить Entry Point |
| Эта тема закрыта. Ответы больше не принимаются. |















Для печати