ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

18.04.2010, 14:11
|
|
Новичок
Регистрация: 03.12.2008
Сообщений: 3
Провел на форуме: 27446
Репутация:
0
|
|
В коде морфнаха заметил очень интересные строки
Код:
mov eax,[edi+IMAGE_OPTIONAL_HEADER32.ImageBase] ; закидываем в eax адрес имейдж базы
....
add eax,[FileSize] ; прибавляем к адресу имейджбазы размер файла
.....
cmp eax,1314BBB9h; производим сравнение пинч ли это
jnz fornexta
mov [RB_is],2
fornexta:
cmp eax,1314C600h ; производим сравнение пинч ли это
jnz fornexta2
mov [RB_is],2
fornexta2:
....
mov edx,[edi+IMAGE_SECTION_HEADER.PointerToRawData]; закидываем в edx смещение в файле
add edx,[hMap] ; плюсуем с началом файла в памяти
....
mov eax,[RB_is]
.if eax = 2; если у нас пинч...
add edx,512; добавляем 512 к смещению+началу файла в памяти
.endif
mov ecx,[edi+IMAGE_SECTION_HEADER.SizeOfRawData]; закидываем в eсx физический размер секции на диске
.if eax = 2 ; если у нас пинч...
sub ecx,512; уменьшаем на 512
.endif
...
mov edx,[edi+IMAGE_SECTION_HEADER.VirtualAddress];закидываем в edx виртуальный адрес
add edx,[dwImageBase]; складываем с имейдж базой
mov eax,[RB_is]
.if eax = 2 ; если у нас пинч...
add edx,512; добавляем к виртуальному адресу 512
.endif
....
После этих преобразований у нас получиться что первые 512байт секции уйдут и в память грузиться не будут...
Загрузил пинча в иде и заметил что в этих сегментах расположены данные которые выкидывать нельзя...
вот отрывок из секции данных в первых 512 байтах
Код:
.data:1314B0D2; char aSoftwareMicr_1[]
.data:1314B0D2 aSoftwareMicr_1 db 'SOFTWARE\Microsoft\Windows\CurrentVersion',0
.data:1314B0D2 ; DATA XREF: sub_13141780+Ao
.data:1314B0D2 ; sub_13141780+30o
.data:1314B0FC; char aProgramfilesdi[]
.data:1314B0FC aProgramfilesdi db 'ProgramFilesDir',0 ; DATA XREF: sub_13141780+2Bo
.data:1314B10C dd 6 dup(0)
Сей код размещен специально чтобы морфнахом не криптовали пинчи? или есть какой то сокральный смысл?))
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Вопросы для новичков! (faq)
|
PEPSICOLA |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
92 |
14.05.2010 17:59 |
|
ОС с нуля
|
z01b |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
36 |
03.07.2008 15:30 |
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
|
|