代码:
mov findaddr, 401000
mov findover, findaddr
add findover, 8C7000

START:
cmp findaddr, findover
jae END
findop findaddr, #8B??#
cmp $RESULT, 0
je END
mov findaddr, $RESULT
add findaddr, 2
cmp [findaddr], 0118
je FIND118
cmp [findaddr], 05F8
je FIND5F8
jmp START

FIND118:
mov opcode, findaddr
sub opcode, 2
eval "{opcode} MOV E?X,DWORD PTR DS:[E?X+118]"
log $RESULT
jmp START

FIND5F8:
mov opcode, findaddr
sub opcode, 2
eval "{opcode} MOV E?X,DWORD PTR DS:[E?X+5F8]"
log $RESULT
jmp START

END:
ret
通常在破解某些限制程序时 需要了解特定变量在程序中的各个位置和其作用,比如 这里的 

call XXXXXXXX  这里通常是调用 一个配置 比如 FConf->SocketCount() 的 FConf 
MOV MCX, EAX
MOV EAX, DWORD PTR DS:[ECX+118] 是读取 socket 连接数的
MOV EDX, DWORD PTR DS:[ECX+5F8] 是读取 在线用户数的
SUB EAX, EDX

有些软件为了限制你使用人数,会做分别读取这2个变量,然后相减,再判断其活动数量,
再调用 closeSocket 而不是直接判断 socket 的总数, 用这个脚本可以找到其所有读取 
这2个内存的位置,然后判断其功能,就可以去掉限制,当然还有其他目的。

脚本很简单,高手飘过