Сейчас на форуме: tyns777 (+5 невидимых) |
![]() |
eXeL@B —› Программирование —› Как в коде получить Entry Point |
Посл.ответ | Сообщение |
|
Создано: 03 апреля 2011 21:01 · Поправил: Модератор · Личное сообщение · #1 Как в с++ , а возможно и асм вставкой ,узнать точку входа типа 00410010 в программу и адрес списка машинных команд в хексе такой как в винхексе типа 00000653 с которого начинают идти нужные команды? вот на картинке в атаче точнно что мне надо чтоб скажем я скармливаю ему екзешку ввожу нужный машинный код а он мне говорит их адрес в файле , и чтоб екзешку скармливая он мне говорил ее ентри поинт ![]() ![]() |
|
Создано: 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 ![]() |
|
Создано: 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 тем более вы забыли выложить бинарный поиск по файлу, так что незачёт Этот код из моего незавершенного сканера одного протектора, не особо хочется его светить ![]() http://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 |
Эта тема закрыта. Ответы больше не принимаются. |