保险箱竞赛 - 我如何改进我的保险箱?

问题描述 投票:0回答:1

我正在组装中进行保险箱竞赛,我写了这个保险箱: 编辑:现在这是我的保险箱:

MySafe:
  
  mov bx, 0Fh
  mov cx, 10h
  xor [bx], 3F3Fh
  add bx, 2
  and [bx+di], di
  and [bx+si], bh
  mov dx,8  
  mov ax, [bx]             ;ax = key , bx = adress
  mov cx, 9
  mov bx,550 
  mov word [1234h],2 
  mov si, dx                ;si = 8
  mul word [1234h]          ;dx:ax = 2k
  mov [1234h],cx            ;[1234h] = 9             
  mov dx, ax                ;dx = 2k & 0xffff
  dec bx                    ;bx = 550 - 1 = 549
  mov cx,si                 ;cx = 8 = si
  mov ax,si                 ;ax = 8
  
myLoop: ;the loop goes 8 times
  sub bx,ax                 ;bx = 549 - 8
  dec cx
jnz myLoop  
  dec bx                    ;bx = 485 - 1 = 484 
  mov ax, dx                ;ax = 2k & 0xffff
  add ax,bx                 ;ax = 484 + (2k & 0xffff)
  mul word [1234h]          ;ax = 9 * (484 + (2k & 0xffff))
  cmp ax,4644 
  jnz MySafe

现在,钥匙的地址在bx中,但我希望找到这个保险箱钥匙的地址会更加困难。 目标是停止无限循环。 有人有想法吗?

assembly intel obfuscation x86-16 corewars
1个回答
0
投票

这个保险箱的钥匙是什么?

© www.soinside.com 2019 - 2024. All rights reserved.