【问题标题】:What exactly is this batch file supposed to do?这个批处理文件到底应该做什么?
【发布时间】:2009-04-20 21:03:10
【问题描述】:

这在 .bat 文件中有什么作用?

它是某种汇编语言还是什么?

@debug nul e100 48 e6 61 是 3f 01 31 db 8a 1c 80 fb ff 74 f4 81 e110 c3 d0 00 b0 b6 e6 43 31 d2 66 b8 dd 34 12 00 66 e120 f7 f3 e6 42 88 e0 e6 42 46 8a 0c 46 ba da 03 ec e130 a8 08 74 fb ec a8 08 75 fb fe c9 74 c9 eb f0 00 e140 0c 19 0c 45 0c 19 0c 8d 24 8d 24 67 48 00 0c 19 e150 0c 45 0c 19 0c 67 24 67 24 45 24 36 0c 19 18 00 e160 0c 19 0c 45 0c 19 0c 45 30 67 18 36 24 19 0c 00 e170 30 00 18 67 18 45 18 45 34 00 0c 19 0c 45 0c 19 e180 0c 8d 30 8d 18 67 48 00 0c 19 0c 45 0c 19 0c cf e190 30 45 18 45 24 36 0c 19 18 00 0c 19 0c 45 0c 19 e1a0 0c 45 30 67 18 36 24 19 0c 00 30 00 18 67 30 45 e1b0 6b 后 G

【问题讨论】:

    标签: batch-file obfuscation hex


    【解决方案1】:

    看看 Dan Olson 的dissasembly,它看起来像一个循环播放音乐的小程序:

    out 0x61
    

    打开和关闭电脑扬声器。

    out 0x43 
    

    设置系统定时器以生成方波。

    out 0x42
    

    设置定时器频率。

    然后是一堆循环,从0x13f开始读取数据,与视频状态同步计时,最后从头开始。

    当然,数据只是一对音符音高和长度。感兴趣的朋友可以收听youtube version

    【讨论】:

    • 我被搞得一团糟!不!
    【解决方案2】:

    是的,它使用“debug.exe”将一些原始十六进制作为 COM 文件放入内存,然后执行它。不管是什么,看起来都很危险。

    【讨论】:

    • @TStamper ... 因为它不存在,所以不需要通过动态生成可执行文件来混淆它正在做的事情。
    • 因为除非是故意混淆一些不受欢迎的行为,否则没有人会做这样的事情。唯一的其他选择是写它的人正在破解。
    • 而且让程序员破解也很危险。
    • 我是说它很危险,因为它正在做一些可能对您的系统造成极大伤害的事情,而没有告诉您它在做什么,并且以一种看起来像是为了避免病毒和木马而设计的方式来做扫描仪。
    • 自毁序列启动
    【解决方案3】:

    下面的反汇编版本...

    00000000  48                dec ax
    00000001  E661              out 0x61,al
    00000003  BE3F01            mov si,0x13f
    00000006  31DB              xor bx,bx
    00000008  8A1C              mov bl,[si]
    0000000A  80FBFF            cmp bl,0xff
    0000000D  74F4              jz 0x3
    0000000F  81C3D000          add bx,0xd0
    00000013  B0B6              mov al,0xb6
    00000015  E643              out 0x43,al
    00000017  31D2              xor dx,dx
    00000019  66B8DD341200      mov eax,0x1234dd
    0000001F  66F7F3            div ebx
    00000022  E642              out 0x42,al
    00000024  88E0              mov al,ah
    00000026  E642              out 0x42,al
    00000028  46                inc si
    00000029  8A0C              mov cl,[si]
    0000002B  46                inc si
    0000002C  BADA03            mov dx,0x3da
    0000002F  EC                in al,dx
    00000030  A808              test al,0x8
    00000032  74FB              jz 0x2f
    00000034  EC                in al,dx
    00000035  A808              test al,0x8
    00000037  75FB              jnz 0x34
    00000039  FEC9              dec cl
    0000003B  74C9              jz 0x6
    0000003D  EBF0              jmp short 0x2f
    
    ; Data starting at 0x13f
    0000000: 000c 190c 450c 190c 8d24 8d24 6748 000c  ....E....$.$gH..
    0000010: 190c 450c 190c 6724 6724 4524 360c 1918  ..E...g$g$E$6...
    0000020: 000c 190c 450c 190c 4530 6718 3624 190c  ....E...E0g.6$..
    0000030: 0030 0018 6718 4518 4534 000c 190c 450c  .0..g.E.E4....E.
    0000040: 190c 8d30 8d18 6748 000c 190c 450c 190c  ...0..gH....E...
    0000050: cf30 4518 4524 360c 1918 000c 190c 450c  .0E.E$6.......E.
    0000060: 190c 4530 6718 3624 190c 0030 0018 6730  ..E0g.6$...0..g0
    0000070: 456b ff0d 0a                             Ek...
    

    【讨论】:

    • 反汇编是正确的,只是com文件从0x100偏移;如果你这样做,那么第 3 行更有意义。
    • 另外,请注意,列表中 0x13f(或 0x3f)之后的所有内容都只是数据。
    猜你喜欢
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 2022-01-10
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多