· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› math

Посл.отвђт Сообщенiе


Дата: Сен 2, 2003 01:32:10

Привет.
Помогите решить проблему.
Есть такой код:
mov edx, eax
imul edx, 2F5C55F3h
imul edx, 2A3376D3h
imul edx, 9BFA03Bh
imul edx, 9E51CF03h
imul edx, 84A1B3EBh
imul edx, 0EE69DA83h
imul edx, 0D437ED3Bh
imul edx, 0D7422C43h
imul edx, 0A4D159FBh
imul edx, 0E466E7CBh
imul edx, 0C8AE3C4Bh
imul edx, 0BAEE533Bh
imul edx, 0A9EA299Bh
mov eax, edx

Как можно восстановить начальный eax, имея результат
после перемножения?
Ведь всё время теряется старшая часть числа.
Сделать это можно.. Что-то из теории
больших простых чисел, вычетов...
Не знаю с чего начать.. :P
Буду очень благодарен.


Дата: Сен 2, 2003 09:55:06

а перебор не подойдет? зарядить цикл, пока выходное значение не совпадет с нужным. таких чисел (входных), возможно, будет несколько. не думаю, что время перебора будет слишком большим.


Дата: Сен 2, 2003 11:52:21

Восстановить невозможно в принципе - будет слишком много значений
Здесь в eax исходное значение
mov edx, 1
	mov ebx, 6A281303h
	div ebx

А здесь будет один из вариантов.


Дата: Сен 2, 2003 12:46:04

Bruteforce not allowed, как говорится..
А откуда 6A281303h? Или это пример просто?..


Дата: Сен 2, 2003 12:49:09 · Поправил: masquer

Почему пример? Это типа magic value, для данного случая, конечно. Ладно, просто весь этот код (из верхнего поста) можно привести к одной строке
mov edx, eax 
imul edx, 6A281303h
mov eax, edx


Дата: Сен 2, 2003 14:07:17

Ага, ясно..


Дата: Сен 2, 2003 14:25:31

А как этот magic value быстро получить?
Алгоритм какой-то или просто математика?
Поясните, пожалуйста, а то чуть-чуть
не понимаю...


Дата: Сен 2, 2003 14:32:21

Перемножь все числа


Дата: Сен 2, 2003 17:07:20

Точно: D8EBF244|6A281303
Ну я и... ;P


Дата: Сен 3, 2003 03:20:48

Взгляните на это:
mov edx,magic_value
imul edx,eax
mov eax,0FFFFFFFFh
sub eax,edx
inc eax
Вернёт в eax начальное значение точно после:
mov edx,eax
imul edx,dword
mov eax,edx
Но как вот отыскать этот magic value?
И в чём тут вся "фишка"?


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.035