diff --git a/27_day/Makefile b/27_day/Makefile index 8714cad..2bfddd0 100644 --- a/27_day/Makefile +++ b/27_day/Makefile @@ -164,10 +164,17 @@ color2.bim : color2.obj a_nask.obj Makefile color2.hrb : color2.bim Makefile $(BIM2HRB) color2.bim color2.hrb 56k +crack7.bim : crack7.obj Makefile + $(OBJ2BIM) @$(RULEFILE) out:crack7.bim stack:1k map:crack7.map crack7.obj + +crack7.hrb : crack7.bim Makefile + $(BIM2HRB) crack7.bim crack7.hrb 0k + haribote.img : ipl10.bin haribote.sys Makefile \ hello.hrb hello2.hrb a.hrb hello3.hrb hello4.hrb hello5.hrb \ winhelo.hrb winhelo2.hrb winhelo3.hrb star1.hrb stars.hrb stars2.hrb \ - lines.hrb walk.hrb noodle.hrb beepdown.hrb color.hrb color2.hrb + lines.hrb walk.hrb noodle.hrb beepdown.hrb color.hrb color2.hrb \ + crack7.hrb $(EDIMG) imgin:../z_tools/fdimg0at.tek \ wbinimg src:ipl10.bin len:512 from:0 to:0 \ copy from:haribote.sys to:@: \ @@ -191,6 +198,7 @@ haribote.img : ipl10.bin haribote.sys Makefile \ copy from:beepdown.hrb to:@: \ copy from:color.hrb to:@: \ copy from:color2.hrb to:@: \ + copy from:crack7.hrb to:@: \ imgout:haribote.img # 其他指令 diff --git a/27_day/crack7.nas b/27_day/crack7.nas new file mode 100644 index 0000000..134090f --- /dev/null +++ b/27_day/crack7.nas @@ -0,0 +1,28 @@ +[FORMAT "WCOFF"] +[INSTRSET "i486p"] +[BITS 32] +[FILE "crack7.nas"] + + GLOBAL _HariMain + +[SECTION .text] + +_HariMain: + MOV AX,1005*8 + MOV DS,AX + CMP DWORD [DS:0x0004],'Hari' + JNE fin ; 不是应用程序,因此不执行任何操作 + + MOV ECX,[DS:0x0000] ; 读取该应用程序数据段的大小 + MOV AX,2005*8 + MOV DS,AX + +crackloop: ; 整个用123填充 + ADD ECX,-1 + MOV BYTE [DS:ECX],123 + CMP ECX,0 + JNE crackloop + +fin: ; 结束 + MOV EDX,4 + INT 0x40