unc1e 24 дек 2017 в 18:04Yet another kaspersky crackmeВремя на прочтение3 минКоличество просмотров8.7KAssembler * C * Реверс-инжиниринг * Системное программирование * Всего голосов 15: ↑12 и ↓3+7Добавить в закладки47Комментарии5
potan 25 дек 2017 в 05:43А пробовали ломать что-нибудь, написанное на Haskell? Он такой код создает, что ни один человек на ассемблере руками не напишет.
unc1e 26 дек 2017 в 15:10Показать предыдущий комментарийНет, не пробовал. Проблема зачастую не в коде, а в его количестве. Сколько метров (наверняка именно в этих единицах) весит хелловорлд?
potan 26 дек 2017 в 16:21Показать предыдущий комментарийФункция main из helloworld: .data .align 8 .align 1 .globl __stginit_Main __stginit_Main: .data .align 8 .align 1 sK5_closure: .quad sK5_info .quad 0 .quad 0 .quad 0 .section .rodata .align 8 .align 1 cKc_str: .byte 72 .byte 101 .byte 108 .byte 108 .byte 111 .byte 44 .byte 32 .byte 87 .byte 111 .byte 114 .byte 108 .byte 100 .byte 0 .text .align 8 .long SKg_srt-(sK5_info)+0 .long 0 .quad 0 .quad 4294967318 sK5_info: .LcKd: leaq -16(%rbp),%rax cmpq %r15,%rax jb .LcKe .LcKf: movq %r13,%rcx movq %rbx,%rdx subq $8,%rsp subq $32,%rsp xorl %eax,%eax call newCAF addq $40,%rsp testq %rax,%rax je .LcKb .LcKa: movq $stg_bh_upd_frame_info,-16(%rbp) movq %rax,-8(%rbp) movl $cKc_str,%r14d movl $ghczmprim_GHCziCString_unpackCStringzh_closure,%ebx addq $-16,%rbp jmp stg_ap_n_fast .LcKb: jmp *(%rbx) .LcKe: jmp *-16(%r13) .data .align 8 .align 1 sK4_closure: .quad sK4_info .quad 0 .quad 0 .quad 0 .text .align 8 .long SKg_srt-(sK4_info)+8 .long 0 .quad 0 .quad 12884901910 sK4_info: .LcKt: leaq -16(%rbp),%rax cmpq %r15,%rax jb .LcKu .LcKv: movq %r13,%rcx movq %rbx,%rdx subq $8,%rsp subq $32,%rsp xorl %eax,%eax call newCAF addq $40,%rsp testq %rax,%rax je .LcKs .LcKr: movq $stg_bh_upd_frame_info,-16(%rbp) movq %rax,-8(%rbp) movl $base_GHCziShow_zdfShowChar_closure,%r14d movl $base_GHCziShow_zdfShowZMZN_closure,%ebx addq $-16,%rbp jmp stg_ap_p_fast .LcKs: jmp *(%rbx) .LcKu: jmp *-16(%r13) .data .align 8 .align 1 .globl Main_main_closure Main_main_closure: .quad Main_main_info .quad 0 .quad 0 .quad 0 .text .align 8 .long SKg_srt-(Main_main_info)+24 .long 0 .quad 0 .quad 30064771094 .globl Main_main_info Main_main_info: .LcKH: leaq -16(%rbp),%rax cmpq %r15,%rax jb .LcKI .LcKJ: movq %r13,%rcx movq %rbx,%rdx subq $8,%rsp subq $32,%rsp xorl %eax,%eax call newCAF addq $40,%rsp testq %rax,%rax je .LcKG .LcKF: movq $stg_bh_upd_frame_info,-16(%rbp) movq %rax,-8(%rbp) movl $sK5_closure,%esi movl $sK4_closure,%r14d movl $base_SystemziIO_print_closure,%ebx addq $-16,%rbp jmp stg_ap_pp_fast .LcKG: jmp *(%rbx) .LcKI: jmp *-16(%r13) .data .align 8 .align 1 .globl ZCMain_main_closure ZCMain_main_closure: .quad ZCMain_main_info .quad 0 .quad 0 .quad 0 .text .align 8 .long SKg_srt-(ZCMain_main_info)+48 .long 0 .quad 0 .quad 12884901910 .globl ZCMain_main_info ZCMain_main_info: .LcKV: leaq -16(%rbp),%rax cmpq %r15,%rax jb .LcKW .LcKX: movq %r13,%rcx movq %rbx,%rdx subq $8,%rsp subq $32,%rsp xorl %eax,%eax call newCAF addq $40,%rsp testq %rax,%rax je .LcKU .LcKT: movq $stg_bh_upd_frame_info,-16(%rbp) movq %rax,-8(%rbp) movl $Main_main_closure,%r14d movl $base_GHCziTopHandler_runMainIO_closure,%ebx addq $-16,%rbp jmp stg_ap_p_fast .LcKU: jmp *(%rbx) .LcKW: jmp *-16(%r13) .section .data .align 8 .align 1 SKg_srt: .quad ghczmprim_GHCziCString_unpackCStringzh_closure .quad base_GHCziShow_zdfShowZMZN_closure .quad base_GHCziShow_zdfShowChar_closure .quad base_SystemziIO_print_closure .quad sK4_closure .quad sK5_closure .quad base_GHCziTopHandler_runMainIO_closure .quad Main_main_closure .ident «GHC 7.10.3»
unc1e 27 дек 2017 в 22:29Показать предыдущий комментарийЭто довольно цивильный код)) Правда, неинтеловский формат режет глаза + оверхед директив
Yet another kaspersky crackme