Вопрос № 155550: Здравствуйте, уважаемые эксперты! Как в ручную посчитать следующую задачу: mov AH,-28 mov BL,7 1) add ax,bx ; AX=? ; CF, AF, PF, SF, ZF, OF - ? 2) mul BL ; AX=? 3...
Вопрос № 155554: Здравствуйте! У меня задача: дана прога, которая складывает два числа (написана на VB6) в откомпилированном виде. С помощью программы WinHEX сделать так, чтобы вместо сложения было вычитание.
Скажите, пожалуйста, как это можно сделать, есть ли ...
Вопрос № 155.550
Здравствуйте, уважаемые эксперты!
Как в ручную посчитать следующую задачу:
mov AH,-28 mov BL,7
1) add ax,bx ; AX=? ; CF, AF, PF, SF, ZF, OF - ?
2) mul BL ; AX=?
3) imul BL ; AX=?
4) cbw idiv BL ; AX=?
Задача происходит в четырёх разных вариантах. Для каждого варианта необходимо узнать содержание AX. И флаги состояния для первого. Только всё это надо сделать вручную.
;11101011b - 6 единиц(6 - чётн
ое число, чётное число делится без остатка на 2)
;PF=1 - 8 младших разрядов результата содержат чётное число единиц
;================================================================ ; ;0000000011101011b ; ;SF=0 - старший бит результата равен 0 ; ;================================================================ ; ;ZF=0 - результат ненулевой ; ;================================================================ ; ;OF=0 - в результате операции не происходит переноса
в старший знаковый бит результата ; ;================================================================
mov al,-28 mov bl,7 mul bl ;MULtiply - целочисленное умножение без знака
;после выполнения команды CF=?, OF=?, SF=?, ZF=?, AF=?, PF=?
nop
code ENDS
stk SEGMENT PARA STACK DB 200h DUP(?) stk ENDS
END
entry_point
Ответ отправил: Trulala (статус: 3-й класс)
Ответ отправлен: 26.12.2008, 03:34
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 239682 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Вопрос № 155.554
Здравствуйте! У меня задача: дана прога, которая складывает два числа (написана на VB6) в откомпилированном виде. С помощью программы WinHEX сделать так, чтобы вместо сложения было вычитание. Скажите, пожалуйста, как это можно сделать, есть ли какие-нибудь методы поиска ? По крайней мере, переименовавыть Caption (заголовок) у формы с помощью этой программы я уже научился, а вот как заменить сложение вычитанием не знаю, помогите, пожалуйста. Спасибо!
Отправлен: 23.12.2008, 23:11
Вопрос задал: AkaProc (статус: 4-й класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 8)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, AkaProc! Программы на vb6 характерны тем, что все операции выполняются подпрограммами, вызываемыми из DLL, в данном случае, из Msvbvm60.dll Поэтому надо менять вызов подпрограммы. Посмотрев таблицу экспорта Msvbvm60.dll, находим, что адрес функции __vbaVarSub отличается от __vbaVarAdd на 29h Итак, в Exe-файле нам надо поменять в 3 местах: 1) меняем 'Add' в имени __vbaVarAdd по адресам 1664h и 1d14h на 'Sub' 2) меняем байт 2Dh по адресу 1074h на 56h (добавляем 29h
до адреса вызова фукции в DLL) После всех этих манипуляций, в заголовке напишется "-1" Удачи!
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 26.12.2008, 03:18
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 239681 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Благодарю! Но только у меня возникла неясность: почему-то, когда я пытаюсь перейти на строку по указаному Вами адресу, он говорит, что такого адреса нет. У меня вообще адреса начинаются с 401000. Может, я что-то не так делаю ? Использую программу PE Explorer. Хотя... если честно, меня больше интересует то, как Вы догадались до того, где именно надо менять...
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.