Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.08.2008, 13:10
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Также есть вариант (может уже был озвучен, но приведу все равно) получение базы кернела (kernel32.dll) через адрес возврата, после загрузки программы в отладчик
на верхушке стека лежита адрес возврата на kernel32.dll
Следующая картина:
Код:
0012FFC4 77E7EB69 RETURN to kernel32.77E7EB69
0012FFC8 00000007
0012FFCC 00566ED0
0012FFD0 7FFDF000
0012FFD4 F4262CF4
0012FFD8 0012FFC8
0012FFDC 80536A0E
0012FFE0 FFFFFFFF End of SEH chain
0012FFE4 77E9BB86 SE handler
Используем следующий код для получения базы
Код:
start:
pop ebp ;Return to kernel32.dll
; (ошибка) адрес внутри кернела
Используя таблицу экспорта можно искать API функции по ординалу, просмотри в иде
таблицу экспорта, в ней можно получить адреса API функций и их ординалы, достаточно дизассемблировать kernel32.dll
Последний раз редактировалось 0verbreaK; 23.08.2008 в 16:28..
|
|
|

23.08.2008, 13:45
|
|
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме: 369629
Репутация:
54
|
|
после загрузки программы в отладчик на верхушке стека лежита адрес возврата на kernel32.dll
не обязательно в отладчик
; т.е. мы извлекаем базу кернела
не базу, а какойто адрес внутри kernel32.dll
можно искать API функции по ординалу
ненадежно, ординал может отличатся в зависимости от весии библиотеки, лучше по хешу от имени
|
|
|

26.08.2008, 23:41
|
|
Новичок
Регистрация: 23.07.2008
Сообщений: 28
Провел на форуме: 104504
Репутация:
1
|
|
Народ, кто нить подскажите плиз простейший генератор чисел в 16 битах? Пытался использовать миллисекунды, но функция 2c прерывания 21 ничего не возвращает 
|
|
|

26.08.2008, 23:53
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от w_2k
Народ, кто нить подскажите плиз простейший генератор чисел в 16 битах? Пытался использовать миллисекунды, но функция 2c прерывания 21 ничего не возвращает 
тебе нужен код генерации псевдо-случайных чисел для дос?
|
|
|

27.08.2008, 00:21
|
|
Новичок
Регистрация: 23.07.2008
Сообщений: 28
Провел на форуме: 104504
Репутация:
1
|
|
Ну, в принципе да.
|
|
|

27.08.2008, 00:24
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от w_2k
Ну, в принципе да.
Простой:
Код:
randomize:
in al, 40h ; read micro-clock for initial seed
mov ah, al
in al, 40h
xchg al, ah
or ax, 1
mov rnum, ax
ret
Длинный:
Код:
jmp start
xxx:
mov ah, 02ch
int 21h
and dl, 0fh
cmp dl, 9
ja xxx
add dl, 30h
mov [di], dl
ret
delay:
mov cx, 0
yyy:
mov dx, 0a00h
zzz:
xor ax, ax
dec dx
cmp dx, 0
jne zzz
loop yyy
ret
start:
lea di, numb
call xxx
inc di
call delay
call xxx
inc di
call delay
call xxx
mov ah, 09h
lea dx, numb
int 21h
int 20h
numb db 4 dup('$')
ЗЫ В каком-то номере журнала комманды 29а, тоже был код генерации для дос .
|
|
|

27.08.2008, 00:33
|
|
Новичок
Регистрация: 23.07.2008
Сообщений: 28
Провел на форуме: 104504
Репутация:
1
|
|
О! Спасиба) Пошёл тестить)
----------------------------------------
Странно, MASM короткий не хочет компилить....ругаецо, мол не известная операция(in)
А вот длинный работает как часы, завтра буду разбираться что к чему. Спасиба еще раз
Последний раз редактировалось w_2k; 27.08.2008 в 00:42..
|
|
|

27.08.2008, 03:02
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от w_2k
О! Спасиба) Пошёл тестить)
----------------------------------------
Странно, MASM короткий не хочет компилить....ругаецо, мол не известная операция(in)
А вот длинный работает как часы, завтра буду разбираться что к чему. Спасиба еще раз
у тебя масм какой версии? =)
|
|
|

27.08.2008, 11:18
|
|
Новичок
Регистрация: 23.07.2008
Сообщений: 28
Провел на форуме: 104504
Репутация:
1
|
|
Сообщение от z01b
у тебя масм какой версии? =)
Версия 6.11. Выкидывать пора? =)
|
|
|

27.08.2008, 13:19
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Нет, старше если не ошибаюсь не линкует Дос код, а если для вин32апи, то лучше конечно юзать масм10 =)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|