Esbolov Как же Вы, батенька, не зная Паскаля, пытаетесь реверснуть программу, на нем написанную? Так дело не пойдет, учите матчасть!
Код (Text): ; Attributes: bp-based frame sub_2E4 proc near ; CODE XREF: PROGRAM+4D2p var_202 = word ptr -202h arg_0 = dword ptr 4 arg_4 = dword ptr 8 что это озна чет в загаловке помоему используемыие переменыие
censored М-да, тут наверное сначала русский язык нужно до конца доучить, а потом уже за Паскаль браться.
даваите может не будем обсуждать мой русски яз я ведь из Казахстана и конечно слаб с языком ладно что с этим кодом Код (Text): ; Attributes: bp-based frame sub_2E4 proc near ; CODE XREF: PROGRAM+4D2p var_202 = word ptr -202h arg_0 = dword ptr 4 arg_4 = dword ptr 8
подскажите что это может означать Код (Text): add sp, 4 call @__IOCheck$qv ; Exit if error mov al, byte ptr [bp+var_202+1] xor ah, ah xor dx, dx mov word_2364, ax mov word_2366, dx les di, [bp+arg_0] push es push di push word_2392 push word_2390 call @Seek$qm4File7Longint ; Seek(var f; n: Longint)
К тому что стоит в комментариях можно добавить только сохранение одного байта из локальных переменных в глобальный DWORD.
а это как Код (Text): mov al, byte ptr word_2364 mov byte ptr [bp+var_202+1], al les di, [bp+arg_0] push es push di lea di, [bp+var_202+1] push ss push di call @Write$qm4Filem3Any ; Write(var f: File{; buf: PByte}) add sp, 4 call @__IOCheck$qv ; Exit if error
Esbolov Такими темпами ты и за год не прореверсишь. То что ты спрашиваешь очевидно до безобразия : Seek подводит указатель в файле к нужному месту, а Write записывает(видимо уже распакованные данные). И на это затрачено 2 дня. Это все равно что по буквам книгу писать Или читать "по складам". А программу распаковки ты прошляпил..., т.к. там IDA не поставила буковов понятных.
Код (Text): mov al, byte ptr word_2364 mov byte ptr [bp+var_202+1], al les di, [bp+arg_0] push es push di lea di, [bp+var_202+1] push ss push di call @Write$qm4Filem3Any ; Write(var f: File{; buf: PByte})
Выкладываю "правленный" sub_0(бывший loc_0). Алгоритм вроде небольшой, но пока не могу разбирать. Может кто доделает... ?