Вопрос № 34020: Здравствуйте,Sager!Большое спасибо,что откликнулись.
Да задания действительно мудренные.
Это я летом учился на курсе по взлому и защите программного обеспечения на
сайте WWW.dekan.ru Я их окончил. А зти задания ,чтобы вступить в клуб.<br...Вопрос № 34080: Здравствуйте,Sager! Извините за назойливость,этот крекми
меня достал.
Осталось одно задание чтобы кнопка Еxit работала,
индификатор я нашел BB9h
по адресу 00401106 cmp ax, 0BB9h проверка
0040110A jnz short $+2- я изменил на jnz...Вопрос № 34084: Уважаемые эксперты. Занимаюсь ассемблером по книге Калашникова. В 13й главе (вирус) не могу понять один момент. Почему после комманды jmp меняется регистр cs:
############################################
; Процедура инициализации вируса<...
Вопрос № 34.020
Здравствуйте,Sager!Большое спасибо,что откликнулись.
Да задания действительно мудренные.
Это я летом учился на курсе по взлому и защите программного обеспечения на
сайте WWW.dekan.ru Я их окончил. А зти задания ,чтобы вступить в клуб.
Будут и еще. Нас этому и не учили,но очень интересно,некотрые пункты я сам выполнил.
У меня вопрос по 3 пункту если вы писали про эти адреса:
0040109A- jmp вместо jnz short 004010C6
004010D2 -заменить jnz short 00401117на jnz short 004010F
то по 0040109A нехватает места , еще вы писали про расширение секции-
я к сожалению не знаю как это сделать?
Отправлен: 24.01.2006, 23:46
Вопрос задал: Ua4aqc (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sager
Здравствуйте, Ua4aqc!
Все там хватает места по адресу 0040109A ставишь jmp short 004010C6
Здесь проверка такая - если это 7D00h(это пункт Message Box) то вывести текст с заданием, если нет то дальше проверять другие пункты, поэтому и jmp, а в конце проверки всех пунктов вызывается EndDialog, а нам надо(если это 1 пункт) вывести Message Box другой только. А насчет расширение и создание секции - лучше конечно этого во взламываемых программах не делать(в крэкми еще можно, а в реальных нет), в основном это используется в вирусах и касперский может принять взломанную прогу за вирус. Тут в двух словах
не объяснишь что к чему, если интересно, то почитай вот это:
http://www.wasm.ru/article.php?article=green2red02
Ответ отправил: Sager (статус: Студент)
Отправлен: 25.01.2006, 10:08
Вопрос № 34.080
Здравствуйте,Sager! Извините за назойливость,этот крекми
меня достал.
Осталось одно задание чтобы кнопка Еxit работала,
индификатор я нашел BB9h
по адресу 00401106 cmp ax, 0BB9h проверка
0040110A jnz short $+2- я изменил на jnz 004010D4 здесь Чтоб был переход туда же что и при нажатии в мению на Exit
но как попасть на 00401106 .
Я растеренности. Я если я задаю слишко много вопросов напишите я небуду.
Отправлен: 25.01.2006, 17:22
Вопрос задал: Ua4aqc (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sager
Здравствуйте, Ua4aqc!
Что-то ты там намудрил - она по умолчанию переходит как раз на этот адрес(00401106).Там же идет проверка - CMP AX,0BB8/ JNZ SHORT 00401106 . И там потом заменить JMP SHORT 00401117 на JMP SHORT 004010D4
Ответ отправил: Sager (статус: Студент)
Отправлен: 25.01.2006, 18:10
Вопрос № 34.084
Уважаемые эксперты. Занимаюсь ассемблером по книге Калашникова. В 13й главе (вирус) не могу понять один момент. Почему после комманды jmp меняется регистр cs:
############################################
; Процедура инициализации вируса
Init:
mov es,Seg_move ;ES - сегмент, куда будем перемещать код вируса,
mov di,100h ;DI - смещение
mov cx,offset Finish-100h ;CX - количество перемещаемых байт
;CX = конец нашего вируса - 100h (PSP)
;Т.е. CX = длина нашего вируса в байтах
mov si,100h ;DS:SI откуда перемещать будем
rep movsb ;перебрасываем нашу программу в область
;7 видеостраницы
; !!! Теперь ВНИМАТЕЛЬНО следим за CS в отладчике !!!
; ___________________________________________________
jmp dword ptr cs:[Off_move] ;Прыгаем куда переместили (фактически на
;следующую строку, только уже в сегменте
;0BF00h!)
; Что показал отладчик? Подумайте, что произошло...
############################################
Отладчик показал все правильно, CS изменился на 0BF00h. Не могу понять почему? Если cs:ip всегда указывают на текущую операцию, то почему после jmp dword ptr cs:[Off_move] меняется cs. Ведь в коде мы его вручную не меняли... CS указан явно, меняется лишь смещение. Не понимаю. :(
Отправлен: 25.01.2006, 18:40
Вопрос задал: Caesar (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Caesar!
Как это "не меняли"?
Прости, дорогой, но команда
jmp dword ptr cs:[Off_move]
как раз и меняет и смещение, и сегмент, которые берутся из двойного слова
по адресу Off_move в сегменте, адресуемым CS. Обрати внимание на DWORD...
Если надо "прыгнуть", не меняя сегмент, используй jmp cs:[Off_move]