首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> .NET Framework >> 正文

GetACP的使用方法

今天分析一个加了变形壳的样本,感觉不像有什么保护,可是一运行就退出了。仔细调试了一下,发现是壳中这段代码导致的退出:

call dword ptr ds:[edi-10]   ;GetACP
cmp eax,3A8                    
jnz short next
push 0
call dword ptr ds:[edi-14]   ;ExitProcess

上网查了一下,GetACP() 这个 API 用于判断目前正在生效的ANSI代码页,返回值为目前活动ANSI代码页的标识符,可能的代码页包括下面这些:

874 泰语 932 日语
936 中文(简体) 949 朝鲜语
950 中文(台湾和香港繁体) 1200 Unicode
1250 东欧语言 1251 西里尔语
1252 美国和西欧语言 1253 希腊语
1254 土耳其语 1255 希伯来语
1256 阿拉伯语 1257 波罗的语

印象中熊猫烧香也是用这个 API 判断日文操作系统的。0x3A8 即 936,若操作系统是简体中文就退出了。
【责编:Ken】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航