首页
社区
课程
招聘
[求助]TASM病毒 中的难点。
发表于: 2009-4-20 08:14 3354

[求助]TASM病毒 中的难点。

2009-4-20 08:14
3354
我在阅读TASM汇编代码时,发现在开始处看到 locals jumps的内容,不知是什么意思。在网上找了好久没找到什么意思。看雪有人知道吗?

上下文是这样的:

page 75,132
%title "Object Oriented Memory Management System - TASM 4.0"
%subttl "Testing/Benchmark module"
; Copyright (c) 1993 By Borland International, Inc.

ifndef MDL
    display "Error: This module requires that you provide a memory model"
    display "    definition on the command line. I.E. /dMDL=SMALL."
    display "Also, /m must be given on the command line to enable multiple"
    display "    passes."

MDL equ <SMALL>

endif

ModuleVersion EQU "0.32"

nowarn
jumps
page
locals @@

; Things to check:
;   Check the effect of /ML  on generated macros for method calls.

.model small,pascal
.stack 1000h
.code

CR  = 0DH
LF  = 0AH

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
说错了,不懂
2009-4-20 09:19
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
把你遇到的问题详细说一下,locals jumps的上下文都怎么说的?
2009-4-20 12:26
0
雪    币: 466
活跃值: (1377)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我贴上上下文了,顶一下!
2009-4-21 08:59
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
手册上好像有详细描述,自己先看看吧。
2009-4-21 12:49
0
雪    币: 466
活跃值: (1377)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
手册上好像有详细描述,自己先看看吧。

找是能找到解释,但上面好象是介绍MASM的手册。一样的吗?
2009-4-21 14:46
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
7
我今天大概看了一下,像jumps、page、locals等这些directive都是MASM的,其它的assembler如果也支持的话,应该是会与MASM兼容的。

JUMPS指示汇编器查看条件分支的目的地址,如果超过了8位偏移量的范围,则生成一条相反条件的条件跳转,跳向另一个分支,同时跟一条绝对JMP指令到原来的目标地址。例如,假设有一条指令:jne next,汇编器查看next标号的偏移量,如果超过了-128~+127的范围,那它则生成两条指令:je $+2+5 / jmp next。(第一条指令跳到紧跟着jmp next指令的下一条指令。因为80386中分支指令只有一种short的形式,使用8位偏移量,而jmp指令有near形式,可以使用32位偏移量。实际上INTEL后来的处理器中扩展指令集时也加入了near形式的分支指令,现在的汇编器已经用不着这样的指示命令了。)

LOCALS指示汇编器局部标号的前缀。通常缺少情况就是@@,那么编译器遇到以@@开头的标号,会识别出它是一个局部标号。
2009-4-21 19:22
0
游客
登录 | 注册 方可回帖
返回
//