![]() |
eXeL@B —› Программирование —› Помогите разобраться в ASM Коде |
Посл.ответ | Сообщение |
|
Создано: 15 июня 2009 13:57 · Личное сообщение · #1 edx = 00000000 eax = 00E10000 Code:
Это код исспользует таблицу символов кол-ва более 300 располагается в esi хотелось бы получить аналог этого кода на Delphi исспользуя асм вставки. но возникли некоторые трудности с операторами. так же не могу понять: xor dx, bp xor ax, di откуда берутся значения bp и di которые сохраняютя и потом участвую в дальнейшей расшифровке. ![]() |
|
Создано: 15 июня 2009 14:55 · Личное сообщение · #2 на входе заданы eax и edx в начале цикла они посылаются в стек: Code:
в конце цикла эти значения получают edi и ebp Code:
т.о. в конце цикла edi = eax, ebp = edx ShEriF пишет: но возникли некоторые трудности с операторами. какие конкретно трудности? ShEriF пишет: так же не могу понять: xor dx, bp xor ax, di откуда берутся значения bp и di которые сохраняютя и потом участвую в дальнейшей расшифровке. bp - это часть ebp, di - часть edi как они получаются - см. выше ----- EnJoy! ![]() |
|
Создано: 15 июня 2009 16:19 · Поправил: Модератор · Личное сообщение · #3 |
|
Создано: 15 июня 2009 17:14 · Поправил: Jupiter · Личное сообщение · #4 |
|
Создано: 15 июня 2009 19:53 · Личное сообщение · #5 |
|
Создано: 16 июня 2009 05:20 · Поправил: ShEriF · Личное сообщение · #6 я уже не помню какие трудности были, но вроде бы Delphi 7 ругася на 2 подрят XOR Code:
и вот на эту конструкцию Code:
во 2й я походу просто не правильно описал тип переменой. Jupiter пишет: судя по коду, данные расположены по указателю esi таблица - по адресу ebx действительно мой косяк. в ESI находится ссылка на блок констант, а таблица символов в EBX эти таблицы достаточно большие и выкладывать их сюда думаю нет смысла. Всем спасибо, в принципе получил ответ, пойду копать дальше. ![]() |
![]() |
eXeL@B —› Программирование —› Помогите разобраться в ASM Коде |