天极Yesky
  • 笔记本电脑
    笔记本
  • 台式电脑
    台式机
  • 手机
    手机
  • 电脑硬件DIY
    DIY硬件
  • CPU
    主板
    音箱
  • 硬盘
    显卡
    键鼠
  • 内存光驱
    显示器
    机箱电源

  • 数码相机DC
    数码相机
  • MP3播放器
    MP3/MP4
  • 数码摄像机DV
    摄像机
  • 电脑外设
    外设
  • 网络
    网络
  • 服务器
    服务器
  • 数字家庭
    数字家庭
  • 群乐
    群乐
  • 产品报价 行情 经销商 渠道 评测 | 软件 设计 网页 开发 安全 论坛 E时代 游戏 图片 壁纸 下载 网摘 博客 索尼专区 Vista 科技奥运
    天极网
    智能ABC输入法溢出分析
    作者: sunwear
    出处: xfocus
    责任编辑: BabyBear
    [ 2005-05-01 11:20 ]


      智能ABC输入法漏洞已经被人发现很久了,广泛用于网吧计费系统的破解。不过很少有人去研究他是怎么溢出的。所以我也是闲的无事分析一下他的溢出。

      需要的工具:ollydbg 哪都有下载的地方。
      首先用OD打开笔记本。然后切换输入法到智能ABC,输入v,左箭头delete ,回车(空格也可以)。然后立刻造成进程死掉,然后OD的信息会告诉你问题出在7380****.而7380****属于winabc.ime的地址。经过跟踪,确定出错指令为ImeToAsciiEx函数,此函数是用来处理输入的字符。每按一个键就会调用一次,当上面这个动作做完后又调用了 0x7380AC95函数。下面是这个函数的汇编代码
      7380ACA1 |> 66:81FE 3D80 CMP SI,803D ;si为你按的那个键的hex值
      7380ACA6 |. 75 26 JNZ SHORT WINABC.7380ACCE
      7380ACA8 |. 803D B0298173 >CMP BYTE PTR DS:[738129B0],3 ;3为输入中间阶段
      7380ACAF |. 0F84 E7010000 JE WINABC.7380AE9C
      7380ACB5 |. 833D AC298173 >CMP DWORD PTR DS:[738129AC],1
      7380ACBC |. 0F8E DA010000 JLE WINABC.7380AE9C
      7380ACC2 |. C605 B0298173 >MOV BYTE PTR DS:[738129B0],1
      7380ACC9 |. E9 CE010000 JMP WINABC.7380AE9C

      下面在来看一段关于0x7380AC95的代码

      7380ADB4 |> 56 PUSH ESI
      7380ADB5 |. E8 58140000 CALL WINABC.7380C212
      7380ADBA |. 85C0 TEST EAX,EAX
      7380ADBC |. 74 20 JE SHORT WINABC.7380ADDE
      7380ADBE |. 66:83FE 76 CMP SI,76 ; 与'v'比较
      7380ADC2 |. C605 B0298173 >MOV BYTE PTR DS:[738129B0],3
      7380ADC9 |. 0F94C0 SETE AL ; 不是的话al=0
      7380ADCC |. A2 6C488173 MOV BYTE PTR DS:[7381486C],AL ; 是v的话进入v输入状态
      7380ADD1 |. E8 F6110000 CALL WINABC.7380BFCC
      7380ADD6 |. 391D CC558173 CMP DWORD PTR DS:[738155CC],EBX
      7380ADDC |. EB 23 JMP SHORT WINABC.7380AE01

     

    共2页。 1 2 :
    笔名:
    请您注意:

     遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

     天极网拥有管理笔名和留言的一切权利。
    相关内容