• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 软件应用 >> 病毒安全 >> 详细内容
 

推荐文章

 
 

热点文章

  • 网吧任我行
  • 诺基亚手机杀毒软件使用指南
  • 加密软件PGP教程
  • 如何防止黒客远程盗取QQ密码
  • 远程盗ADSL帐号密码竟如此简单?
  • 如何破解PCAnyWhere的密码
  • 破解 女性基础体温管理软件 v1.2
  • 破万象.免费上网
  • 使用ARP命令来绑定IP和MAC地址
  • 完全免费!国外杀毒软件AVG新版试用!
  • C语言学习系统 v3.0 破解过程
  • IE再现漏洞,立刻升级新补丁!
 
 

相关文章

 
 

百度搜索

 
 

指令动态执行加密法

  • 阅览次数:
  • 文章来源: CodePub整理
  • 原文作者: 不详
  • 整理日期: 2006-10-05
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

概述:

    这儿讲述的是用单条指令加密法,再用 int 1 单步中断解下一条指令的第一字节,由于用另外程序解密时无法预知指令长, 所以不能用编程的方法解密,只能用手工一条一条地解。具体实现见注释,这种加密法的麻烦只处就是加密时也要一句一句来。

汇编编程示例:



code    segment
        assume    cs:code,ds:code
        org    100h
start:
        jmp    install

d_ok    db    'OK, passed...',0dh,0ah,24h

temp_bx     dw    ?
off1        dw    ?
seg1        dw    ?

int1:
        mov    temp_bx,bx     ;save bx
        mov    bx,sp         ;BX=SP=0016h
        mov    bx,ss:[bx]
        xor    byte ptr ds:[bx],55h     ;decode
        mov    bx,temp_bx
        iret

install:
        mov    ax,3501h             ;保存原 INT 1 中断向量
        int    21h
        mov    off1,bx              ;设置新 INT 1 到 offset int1
        mov    seg1,es
        mov    ax,2501h
        mov    dx,offset int1
        int    21h
       
        xor    byte ptr x1,55h      ;这些指令是先把以下
        xor    byte ptr x2,55h      ;的一些指令加密
        xor    byte ptr x3,55h      ;当然,在应用时就不会有这些指令了
        xor    byte ptr x4,55h
        xor    byte ptr x5,55h
        xor    byte ptr x6,55h
        xor    byte ptr x7,55h
        xor    byte ptr x8,55h
        xor    byte ptr x9,55h

        pushf
        pop    ax
        or     ax,0100h
        push   ax
        popf                         ;打开单步跟踪
       
        nop                          ;由于单步跟踪要在执行下一条指令后才激活
x1:                                  ;所以这儿是一条 NOP 指令
        mov    ah,9
x2:
        mov    dx,offset d_ok
x3:
        int    21h
x4:       
        pushf
x5:
        pop    ax                     ;从 X1 到 X9 的指令要在
x6:
        and    ax,0feffh              ;执行中才由 INT 1 逐句解开
x7:
        push    ax
x8:
        popf
x9:
        nop
       
        mov    ax,2501h             ;把 INT 1 复原
        lds    dx,dword ptr off1
        int    21h

        int    20h

  

上一篇:PHP编程技巧:看实例学正则表达式
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号