![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| EvilsInterrupt |
|
||||||||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
Есть код:
а внутри:
Т.е. кажется это соглашение cdecl С рипил ф-цию и обернул ее в такой прототип:
и вызываю:
В момент вызова UnpackRoutine lInSectionData содержит одно значение, но при загрузке в ESI там совершенно другое значение! Видно проблема в том что надо вместо Pointer в прототипе что-то другое указывать , но что именно и как это победить ? Очень прошу помочь ;) Это сообщение отредактировал(а) EvilsInterrupt - 19.6.2008, 14:53 |
||||||||
|
|||||||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 8 Всего: 76 |
EvilsInterrupt, врятли это из-за Pointer или не Pointer. Теже 4 байта, разницы никакой впринципе. Я в этом не силен, но может проблема в том что сама UnpackRoutine вызывается по умолчанию с register вроде...
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
Это уже эксперимент, ща поправлю, в начале стояло cdecl )
|
|||
|
||||
| EvilsInterrupt |
|
||||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
Вобщем я вставил весь код-ф-ции из отладчика, но дельфи сама ставит пролог и эпилог ф-ции, т.е. убрал:
то сразу прошло на ок! ;) Ща пока с эпилогом мучаюсь ) Может кто знает аналог _naked - ф-ций в С на Delphi ? Добавлено через 6 минут и 10 секунд Вот эпилог:
вот ну никак не пойму, а нафига Delphi eax и ebx портит ? может все таки кто-то знает как вставить нативные данные ? |
||||
|
|||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
Кароче решено, орел с cracklab.ru PE_Kill посказал решение и в итоге оно сводится К тому что надо писать без begin end; и в начале асм-вставки прописать pop ebp.
видя pop ebp Delphi не будет делать пролог и эпилог ф-ции. Т.е. вы можете таким образом получить то что в си naked Это сообщение отредактировал(а) EvilsInterrupt - 20.6.2008, 12:31 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
тут никогда ничего не было
Это сообщение отредактировал(а) bems - 26.6.2008, 18:01 -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |