首页
社区
课程
招聘
[原创]FASM汇编 自修改 SMC 代码测试
发表于: 2007-9-3 13:52 7591

[原创]FASM汇编 自修改 SMC 代码测试

2007-9-3 13:52
7591

;FASM汇编 自修改 SMC 代码测试

format pe console
entry start

include 'Win32AXP.inc'
;include 'List.inc'

section '.text' code readable writeable executable ;确保代码段有写入权限,必须的

start:
        call        f1
        call        f2

        ;memcpy(f1.Start,f2.Start,f2.CodeLen)
        mov        esi,f2.Start
        mov        edi,f1.Start
        mov        ecx,f2.End-f2.Start
        rep        movsb
       
        ;再次调用f1和f2
        call        f1
        call        f2

        ret

f1:
.Start=$
        cinvoke        printf,buf1
        ret
.End=$
        ;确保有足够的空间来存放f2的代码
        repeat        (f2.End-f2.Start)-(f1.End-f1.Start)
                nop
        end        repeat

f2:
.Start=$
        cinvoke        printf,buf2
        ret
.End=$

data import
        library        msvcrt,'msvcrt.dll'
        import        msvcrt,\
                printf,'printf'
end data

buf1        db        "SMC 前",0dh,0ah,0
buf2        db        "SMC 后",0dh,0ah,0


[注意]APP应用上架合规检测服务,协助应用顺利上架!

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
消灭0回复~~~~~
2008-11-1 13:28
0
雪    币: 155
活跃值: (20)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
给LZ送点人气,好文章,可惜看不懂。
2009-8-13 15:40
0
雪    币: 150
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
分析得挺详细的……
2009-8-13 22:34
0
雪    币: 148
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看明白了,就是为了在执行过程中调用f2函数~~
2009-9-18 17:23
0
雪    币: 148
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
呵呵 ,保证确保有足够的空间来存放f2的代码 是个好办法 呵呵
2009-9-18 17:58
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
只是用的人少,所以观注少,其实fasm还是蛮好的
2009-9-19 06:38
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码