да ну ладно...
Вид для печати
daniel, если не ошибаюсь Сендецкий делал свой пакер под Спек
А вот товарищ Медноногов писал свои творения на ПЦ, и паковал тамже. не?
кто по распаковщику имеет желание написать пакер?
Это не наши писали :)
Скрытый текст
Код:;
; +-------------------------------------------------------------------------+
; | This file has been generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2011 Hex-Rays, <support@hex-rays.com> |
; | License info: 48-327F-7274-B7 |
; | ESET spol. s r.o. |
; +-------------------------------------------------------------------------+
;
; =============== S U B R O U T I N E =======================================
depack: ; CODE XREF: ROM:03DBp sub_1BAA+DAp ...
push de
jr dep_beg
; ---------------------------------------------------------------------------
dep_end: ; CODE XREF: depack+53j
pop bc
inc hl
ret
; ---------------------------------------------------------------------------
loc_7096: ; CODE XREF: depack+49j
ld b, a
loc_7097: ; CODE XREF: depack+4Dj
ld a, e
sub (hl)
inc hl
ld c, (hl)
push hl
ld l, a
ld a, d
sbc a, b
ld h, a
dec hl
ld a, c
ldi
ldi
ldi
ld c, a
ld b, 0
inc bc
jr loc_70CB
; ---------------------------------------------------------------------------
loc_70AE: ; CODE XREF: depack:loc_70DAj
ld b, a
and 0Fh
add a, 2
ld c, a
ld a, b
and 30h ; '0'
rlca
rlca
rlca
rlca
cpl
ld b, a
ld a, (hl)
push hl
cpl
add a, e
ld l, a
ld a, d
adc a, b
ld h, a
dec hl
loc_70C6: ; CODE XREF: depack+68j
ld b, 0
inc c
ldi
loc_70CB: ; CODE XREF: depack+21j
ldir
pop hl
inc hl
ex af, af'
jr dep_00
; ---------------------------------------------------------------------------
loc_70D2: ; CODE XREF: depack+A8j
cp 0Fh
jr nz, loc_7096
ld b, (hl)
inc hl
jr loc_7097
; ---------------------------------------------------------------------------
loc_70DC: ; CODE XREF: depack+9Bj
cp 0FFh
jr z, dep_end
and 60h ; '`'
rlca
rlca
rlca
inc a
ld c, a
ld a, (hl)
push hl
and 1Fh
add a, c
cpl
add a, e
ld l, a
ld a, d
adc a, 0FFh
ld h, a
jr loc_70C6
; ---------------------------------------------------------------------------
dep_000: ; CODE XREF: depack+93j
ldi
dep_beg: ; CODE XREF: depack+1j
scf
dep_02: ; CODE XREF: depack:dep_03j
ld a, (hl)
inc hl
adc a, a
jr c, dep_03
ldi
dep_00: ; CODE XREF: depack+45j depack+C5j ...
add a, a
jr c, dep_03
ldi
add a, a
jr c, dep_03
ldi
add a, a
jr c, dep_03
ldi
add a, a
jr c, dep_03
ldi
add a, a
jr c, dep_03
ldi
add a, a
jr c, dep_03
ldi
add a, a
jr nc, dep_000
dep_03: ; CODE XREF: depack+70j depack+75j ...
jr z, dep_02
ex af, af'
loc_7123: ; CODE XREF: depack:loc_719Fj
ld a, (hl)
;depack_code #80-#fe
cp 80h ; 'Ђ'
jr nc, loc_70DC
inc hl
sub 70h ; 'p'
jr nc, loc_715B
add a, 10h
jr c, loc_716F
add a, 10h
jr c, loc_70D2
add a, 30h ; '0'
jp c, loc_70AE
add a, 10h
jr nc, loc_7187
ld b, 0
sub 0Fh
jr z, loc_7152
add a, 11h
loc_7145: ; CODE XREF: depack+CBj depack+CEj
ld c, a
push hl
ld l, e
ld h, d
dec hl
ldir
pop hl
ex af, af'
jr dep_00
; ---------------------------------------------------------------------------
loc_7152: ; CODE XREF: depack+B6j
ld a, (hl)
inc hl
add a, 11h
jr nc, loc_7145
inc b
jr loc_7145
; ---------------------------------------------------------------------------
loc_715B: ; CODE XREF: depack+A0j
sub 0Fh
jr nz, loc_7161
ld a, (hl)
inc hl
loc_7161: ; CODE XREF: depack+D2j
add a, 11h
ld b, a
dec de
ld a, (de)
inc de
loc_7167: ; CODE XREF: depack+DFj
inc a
ld (de), a
inc de
djnz loc_7167
ex af, af'
jr dep_00
; ---------------------------------------------------------------------------
loc_716F: ; CODE XREF: depack+A4j
add a, 3
ld b, a
ld a, (hl)
push hl
cpl
scf
adc a, e
ld l, a
ld a, d
adc a, 0FFh
ld h, a
loc_717C: ; CODE XREF: depack+F5j
dec hl
ld a, (hl)
ld (de), a
inc de
djnz loc_717C
pop hl
inc hl
ex af, af'
jp dep_00
; ---------------------------------------------------------------------------
loc_7187: ; CODE XREF: depack+B0j
ld b, 0
inc a
jr z, loc_71A1
add a, 17h
ld c, a
loc_71AE: ; CODE XREF: depack+120j depack+134j ...
ldir
jr loc_7123
; ---------------------------------------------------------------------------
loc_71C9: ; CODE XREF: depack+119j
ld c, (hl)
inc hl
ld b, (hl)
inc hl
jr loc_71AE
loc_71A1: ; CODE XREF: depack+FFj
ld a, (hl)
inc hl
inc a
jr z, loc_71C9
add a, 1Dh
ld c, a
jr nc, loc_71AE
inc b
ldir
jp loc_7123
; ---------------------------------------------------------------------------
; End of function depack
[свернуть]
Сильно проиграл? понятно ли, хотя бы примерно, на данных какого рода? Я не экспериментировал с Pletter, спасибо, посмотрю обязательно.
Лично у меня для ZX7 случается 2 вида применений: когда мне нужен очень компактный распаковщик, и когда мне нужен распаковщик, оптимизированный по скорости. Т.е. когда возникают различные доп. требования, помимо коэффициента сжатия.