Сейчас на форуме: tyns777 (+5 невидимых) |
![]() |
eXeL@B —› Программирование —› Снова вопросы снова ночь без сна |
Посл.ответ | Сообщение |
|
Создано: 05 апреля 2011 00:15 · Личное сообщение · #1 поспешили вы закрыть тему вот эту уменя возникла проблемма с темже сорцем..он выдаёт ентри поинт но он какойто нетакой как в PEiD и как в OllyDbg...посмотрите плиз еще раз сорец и скажите в чём проблемма. Code:
![]() |
|
Создано: 05 апреля 2011 00:38 · Личное сообщение · #2 |
|
Создано: 05 апреля 2011 00:39 · Личное сообщение · #3 |
|
Создано: 05 апреля 2011 01:06 · Личное сообщение · #4 |
|
Создано: 05 апреля 2011 01:18 · Поправил: Kaimi · Личное сообщение · #5 |
|
Создано: 05 апреля 2011 04:09 · Личное сообщение · #6 ixtorio Просто переведи число в шестнадцатеричную систему счисления(если у тебя в десятеричной) и прибавь ImageBase. Получится всё как в ольке. Честно, если не разбираешься в этом, напиши свою прогу/модуль для чтения структур, тогда всё станет понятно для тебя и не будет возникать подобных вопросов. Конечно, если цель оправдывает средства. ----- Research For Food ![]() |
|
Создано: 05 апреля 2011 07:52 · Личное сообщение · #7 |
|
Создано: 05 апреля 2011 10:00 · Личное сообщение · #8 ixtorio пишет: а в гугле рва ту офсет функций на с++ нету а сам я хз как реализовывать - При чём тут рва в оффсет перевод? Ни PeID, ни Ollydbg оффсеты не показывают. SLV глумится, походу. Но раз вы, ixtorio, согласны, что этот перевод нужно выполнить, тогда юзайте ImageRvaToSection. Из Рва вычитайте VirtualAddress из IMAGE_SECTION_HEADER, найденного предыдущей функцией, и к полученному результату прибавляйте PointerToRawData. Да, кстати, если олли покажет ЕР RVA + ImageBase, то PeID - только ЕР RVA. Убирать strcat не нужно, вводить wspintf - тоже, в данном случае достаточно чего-то типа этого: Code:
----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 05 апреля 2011 13:41 · Личное сообщение · #9 ixtorio пишет: int main(int argc, char* argv[]) { char buffer[7]; char Path[1024]; char EP[9]="00"; printf("Enter path:"); scanf("%s",Path); printf("\n%d",PEScan(Path)); //itoa(PEScan(Path),buffer,10); strcat(EP,buffer); //MessageBox(0, EP, "Entry Point", 0); return 0; } Переделай: int main(int argc, char* argv[]) { char buffer[7]; char Path[1024]; char EP[9]; printf("Enter path:"); scanf("%s",Path); sprintf(EP, "EntryPoint:\n%08X",PEScan(Path)); MessageBox(0, EP, "Entry Point", 0); return 0; } Изучай функции форматированного ввода/вывода в я зыке Си. Будешь понимать всякие ARCHANGEL пишет: При чём тут рва в оффсет перевод? Ему это тоже надо. Он хочет получать байты с EntryPoint... SergX пишет: ВСЁ ТУТ ixtorio Из этого источника выдирай функу: Code:
И передавай туда значение EP (из строчки DWORD EP = nt_headers_ptr->OptionalHeader.AddressOfEntryPoint;) и указатель на файл (pMapFile). P.S. Тему можно было просто попросить открыть (у любого из ![]() |
|
Создано: 05 апреля 2011 17:16 · Личное сообщение · #10 Может проще нанять кодера, если нужен сорс того, в чем не разбираешься и разбираться не хочешь? ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 06 апреля 2011 20:39 · Поправил: ixtorio · Личное сообщение · #11 |
|
Создано: 06 апреля 2011 20:45 · Личное сообщение · #12 Вот учиться надо самому, сидеть и гуглить, а не спрашивать про каждый чих на форуме. И не надо рассказывать, что десятичную форму от 16-ричной нельзя отличить без очередного топика на форуме, когда и так все сорцы уже выпросил. Данный форум поощряет людей, кто учится, но это называется попрошайничество, сделайте за меня кто-нибудь. Будешь так продолжать-надолго здесь не задержишься. ![]() |
![]() |
eXeL@B —› Программирование —› Снова вопросы снова ночь без сна |
Эта тема закрыта. Ответы больше не принимаются. |