Powershield一个疑似的BUG
来源:互联网 发布:unity3d guilayout 编辑:程序博客网 时间:2024/04/29 15:41
在分析Powershield保护过的代码时,遇到非常低概率地出现了如下错误的跳转:
GET BOOL_TRUE //注意这里
GET BOOL_FALSE
IF LOGIC_FALSE THEN JUMP TO 正确的地址 //匹配第二个BOOL_FALSE可以正确跳
IF LOGIC_FALSE THEN JUMP TO 正确的地址 //这里其实会执行不到
而且出现多行sqlca.sqlcode <> 0 判断跳到如上逻辑的开头。而sqlca.sqlcode <> 0 判断之后是messagebox错误提示以及return -1或return 1,所以逻辑核对是很容易判断。我想这个是Powershield存在的bug。采用反编译测试,在代码段头部,出现多个嵌套的do。证明这个跳转的确不对。Powershield的原意应该是:
GET BOOL_TRUE //注意这里
GET BOOL_FALSE
IF LOGIC_FALSE THEN JUMP TO 正确的地址 //匹配第二个BOOL_FALSE可以正确跳
IF LOGIC_TRUE THEN JUMP TO 正确的地址 //这里才会执行
为什么这么判断呢,还有个原因是因为代码在此处只需要连接(sqlca.sqlcode <> 0判断之后错误与正确跳转之间),而不是需要
if true then
//
else
//
end if
这样的毫无意义的逻辑判断。
这个错误将引起死循环或者运行时报错。
以上只是疑似和自己的猜错,有遇到混淆后出现运行错误的可以告诉我。。
PB混淆加密大师从此下载
- Powershield一个疑似的BUG
- 疑似c++ Builder6的bug
- STM32 CUBEMX的疑似BUG
- 5.6 explain update一个疑似bug
- 当Generic.xaml遇上BitmapImage:发现一个疑似WPF Bug而又不似Bug的问题
- 关于网络状况判断的一个疑似iOS或xcode的BUG
- 发现一个疑似IE与mshta的bug,发上来大家看下
- Spring2.5.6 的一段源码疑似bug
- 两个疑似WLC软件BUG的现象
- sql语句的case-end语句的疑似bug经历
- tomcat6.0下中文字符转换的疑似bug
- 疑似...微软拼音输入法 2007 Bug?
- 一个疑似高德数据分析的招聘要求
- VMware5.5.3 + Ubuntu6.10 + Apache2.2.3的注意事项,疑似VMware的BUG!
- MYSQL使用存储过程插入中文数据的疑似bug(UTF8)
- 实际例子描述和分析“猎豹抢票跨站推荐功能跨站有票刷不到”的疑似bug
- 疑似Intel芯片RAID技术bug!
- 丰田行车电脑系统重大疑似bug
- 排序算法--冒泡排序C++实现
- mysql自动备份脚本
- [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
- hdu 4389 囧,打表
- [Cocoa]深入浅出Cocoa之Core Data(2)- 手动编写代码
- Powershield一个疑似的BUG
- JavaFX之Pagination的使用
- 电子工程师的告白——爱的飞线~
- 黑马程序员——求字符串中每个字母出现的次数
- Web入侵安全测试与对策学习笔记(一)——总览
- Android中Launcher对于AppWidget处理的分析:AppWidgetHost角色
- 一个忽视了的小问题
- Centos 6.2安装lnmp
- Web入侵安全测试与对策学习笔记之(二)——获取目标信息之淘金