在HOW TO EXCUTE CODE IN DATA SEGMENT中: 实现在数据段 加入指令 执行数据段的指令 既然可以做到这点,那就可以将数据段的指令进行加密,在运行的时候进行动态解密,什么时候进行解密,解密算法怎么样都是变化无穷的,也就是同样一段有特出意义的指令集合具体到程序的时候是千变万化的。 只是为了说明可以这样,为了简单,我只是用了一个最简单的方法对数据段的code1,code2,code3,进行了处理。 源代码如下: ;FOR STUDY I WRITE THIS PROGRAM ;NEED FORWARD STUDY ;HOW TO ENCRYPTION YOUR CODE ;********************************* stackseg SEGMENT DW 10 DUP(0) tos LABEL WORD stackseg ENDS ;****************************** dataseg SEGMENT code1 DB 0 code2 DB 0 code3 DB 0 code4 DB 0 code DW 0 code7 DB 0 code8 DB 0 code910 DW 0 code11 DB 0 code12 DB 0 code13 DB 0 code14 DB 0 code15 DB 0 code16 DB 0 code17 DB 0 code18 DB 0 code19 DB 0 code20 DB 0 code21 DB 0 code22 DB 0 dataseg ENDS ;**************************** codeseg2 SEGMENT main PROC FAR ASSUME CS:codeseg2,DS:dataseg,SS:stackseg MOV AX,stackseg MOV SS,AX MOV SP,OFFSET tos ; MOV AX,0 ; MOV DL,2ch ;put out , ; MOV AH,02h ;INT 21h CALL FAR PTR laozhu ; MOV AX,0 ; MOV DL,1fh ; MOV AH,2bh ; put out + ; INT 21h main ENDP codeseg2 ENDS codeseg1 SEGMENT laozhu PROC FAR ASSUME CS:codeseg1 ;************************************************* MOV AX,0 ;AX value is used to change ds MOV DS,AX MOV AX,DS PUSH AX ;use as cs when ret MOV AX,0 PUSH AX ;use as ea when ret ;************************************************* ;for simple i only encryption three code in data segment ;MOV code1,0adh ;MOV code2,0adh ;MOV code3,0adh MOV code1,0ach MOV code2,0aeh MOV code3,09dh ADD code1,1 SUB code2,1 ADD code3,10h ;**************************************** ;wtite code to data segment MOV code4, 0b8h ; MOV AX,cs MOV code, CS MOV code7,50h ;push ax MOV code8, 0b8h ;mov ax ,0h MOV code910,0h ;very important you need choose a good value can be changed MOV code11,50h ;push ax MOV code12,0b8h ; put out # to indicate code in data segment is runing MOV code13,0 MOV code14,0 MOV code15,0b2h MOV code16,23h MOV code17,0b4h MOV code18,2 MOV code19,0cdh MOV code20,21h MOV code21,0cbh ;ret ;****************************************** ; MOV AX,0 ;put out ! ; MOV DL,21h ; MOV AH,02h ; INT 21h ; MOV AX,0 ;put out ! ; MOV DL,21h ; MOV AH,02h ; INT 21h ;************************************************** RET laozhu ENDP codeseg1 ENDS ;********************************************** ;******************************** END 欢迎交流
二 How to encryption your code
最新推荐文章于 2024-07-08 22:12:26 发布