узнать алгоритм

Тема в разделе "WASM.ASSEMBLER", создана пользователем Esbolov, 28 фев 2008.

  1. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    можете помоч с программой узнать алгоритм это часть программы где распаковает фаил на разныие части
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    loc_0 что за функция?
     
  3. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    вот сама программа
     
  4. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    программа распаковает фаил
     
  5. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    censored
    Судя по контексту отрывка loc_0 работает с файлом. arg_0, arg_4 - хэндлеры файлов.
     
  6. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    да это программа открывает зашифрованыи файл main.img распаковает на RE.01 до RE.0n n считывает из фаила
     
  7. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    вот с программои я разобрался а вот с процедурои распаковки нет
     
  8. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    ну кто нибудь что нибудь скажет
     
  9. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    кто может подскозать что это означает
    Код (Text):
    1. loc_56D:                ; CODE XREF: sub_2E4+27Fj
    2.         mov ax, word_234C
    3.         mov dx, word_234E
    4.         mov cx, 3
    5.         xor bx, bx
    6.         call    @$brrsh$q7Longint7Integer ; X1{DX:AX}>>=N{CX}
    7.         mov word_2350, ax
    8.         mov word_2352, dx
    9.         xor ax, ax
    10.         mov word_2344, ax
    11.         mov word_2346, ax
    12.         mov ax, word_2350
    13.         or  ax, word_2352
    14.         jnz short loc_599
    15.         jmp loc_A3D
     
  10. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Esbolov
    dword_2350 = dword_234C >> 3;
    dword_2344 = 0;
    //Дальше видимо так (мало кода ты привел)
    if (word_2350) //loc_599
    {
    }
    else //loc_A3D
    {
    }
     
  11. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    да но так
    Код (Text):
    1. dword_2350 = dword_234C >> 3;
    на паскале не запишеш
     
  12. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Esbolov
    dword_2350 = dword_234C/2^3
     
  13. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Esbolov
    На Паскале здесь не пишут :)
    dword_2350 := dword_234C/8;
     
  14. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    и еше один вапрос а это что
    Код (Text):
    1. les di, [bp+arg_4]
    2.         push    es
    3.         push    di
    4.         call    loc_0
     
  15. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    да но тип переменых longint
     
  16. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Esbolov
    1. Обзови как тебе надо, в названии dword_2350 отражено лишь то, что размер переменной 32 бита.
    2. Про loc_0 тебя в самом начале спрашивали, кода ты не привел. По смыслу - процедура, работающая с аргументом arg_4 (иначе говоря, loc_0(arg_4))
     
  17. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    и еше последня
    Код (Text):
    1. loc_5F3:                ; CODE XREF: sub_2E4+756j
    2.         les di, [bp+arg_0]
    3.         push    es
    4.         push    di
    5.         push    word_2396
    6.         push    word_2394
    7.         call    @Seek$qm4File7Longint ; Seek(var f; n: Longint)
     
  18. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Esbolov
    Seek(arg_0, dword_2394);
     
  19. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    dword_2350 := dword_234C shr 3;
    ?
     
  20. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    censored
    Может так даже правильнее.