智能ABC输入法溢出分析

本文详细分析了智能ABC输入法的溢出机制,通过Ollydbg调试工具,发现当输入特定字符序列如v、delete、回车后,程序在处理ImeToAsciiEx函数时出现错误。关键代码段在0x7380AC95,当删除V后,DS:[73811F52]变量为0,但DS:[7381486C]未正确重置,导致后续拷贝操作可能溢出。此外,还存在另一个问题,与DS:[738155C0]的检查有关。这些问题可能导致IME所Hook的进程异常退出,影响到某些软件的运行,但不会对远程主机产生影响。
摘要由CSDN通过智能技术生成

作者:sunwear[E.S.T]
MAIL:shellcoder#163.com  shellcoder@hotmail.com
http://blog.csdn.net/sunwear
http://www.eviloctal.com/

感谢dancefire的帮忙 :)
   智能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为输入中间阶段
7380ACA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值