首页
社区
课程
招聘
关于msvbvm60.__vbaVarTstNe
发表于: 2006-4-28 11:23 6175

关于msvbvm60.__vbaVarTstNe

2006-4-28 11:23
6175
关于msvbvm60.__vbaVarTstNe  一直找不到是哪两个数比较。 为了能测试出来,我使用了2个key进行对照  一个是真的合法的key 一个是非法的,字长都一样。  

我用正确的key和假的key都试过了
得到的相对应的edx ecx的数据是一样的
ECX=0335E5D0
EDX=0335E570

D *(ECX-8)
D *(EDX-8)
也是如此

可就是奇怪 在112E5FA3 得到的结果不同
真key下比较的结果 eax=00000000 程序验证通过
假key下比较的结果 eax=ffffffff 失败,在112E5FC3跳走

所以,肯定是我找错了比较的数字。  请大家帮我看看,谢谢了。

112E5F7B    FF92 24010000   CALL DWORD PTR DS:[EDX+124]
112E5F81    8D8D 74FFFFFF   LEA ECX,DWORD PTR SS:[EBP-8C]
112E5F87    8D95 14FFFFFF   LEA EDX,DWORD PTR SS:[EBP-EC]
112E5F8D    51              PUSH ECX
112E5F8E    52              PUSH EDX
112E5F8F    C785 1CFFFFFF F>MOV DWORD PTR SS:[EBP-E4],-1
112E5F99    C785 14FFFFFF 0>MOV DWORD PTR SS:[EBP-EC],800B
112E5FA3    FF15 68120011   CALL DWORD PTR DS:[<&msvbvm60.__vbaVarTstNe>]              ; msvbvm60.__vbaVarTstNe
// 关键比较,判断是否不相等:不相等 eax=ffffffff, 相等 eax=0
// 在这里是不相等 eax=fffffff  
112E5FA9    8D8D 74FFFFFF   LEA ECX,DWORD PTR SS:[EBP-8C]
112E5FAF    66:8985 BCFEFFF>MOV WORD PTR SS:[EBP-144],AX
112E5FB6    FF15 28100011   CALL DWORD PTR DS:[<&msvbvm60.__vbaFreeVar>]               ; msvbvm60.__vbaFreeVar
112E5FBC    66:399D BCFEFFF>CMP WORD PTR SS:[EBP-144],BX
112E5FC3    0F85 1F3A0000   JNZ MY_CMS6.112E99E8
// 这里跳走就完蛋,改成JZ就ok了,但是我不知道究竟是哪两个数在比较,请高手示下,谢谢!
112E5FC9    8D86 AC000000   LEA EAX,DWORD PTR DS:[ESI+AC]
112E5FCF    C785 1CFFFFFF 0>MOV DWORD PTR SS:[EBP-E4],1
112E5FD9    50              PUSH EAX
112E5FDA    8D85 14FFFFFF   LEA EAX,DWORD PTR SS:[EBP-EC]
112E5FE0    50              PUSH EAX
112E5FE1    C785 14FFFFFF 0>MOV DWORD PTR SS:[EBP-EC],8002
112E5FEB    FF15 1C110011   CALL DWORD PTR DS:[<&msvbvm60.__vbaVarTstLt>]              ; msvbvm60.__vbaVarTstLt
112E5FF1    66:85C0         TEST AX,AX
112E5FF4    74 26           JE SHORT MY_CMS6.112E601C
112E5FF6    8D95 14FFFFFF   LEA EDX,DWORD PTR SS:[EBP-EC]
112E5FFC    8D8E BC000000   LEA ECX,DWORD PTR DS:[ESI+BC]
112E6002    C785 1CFFFFFF B>MOV DWORD PTR SS:[EBP-E4],MY_CMS6.110335BC                 ; UNICODE "ACCESS"
112E600C    C785 14FFFFFF 0>MOV DWORD PTR SS:[EBP-EC],8
112E6016    FF15 B4120011   CALL DWORD PTR DS:[<&msvbvm60.__vbaVarCopy>]               ; msvbvm60.__vbaVarCopy
112E601C    8D8E BC000000   LEA ECX,DWORD PTR DS:[ESI+BC]
112E6022    8D95 14FFFFFF   LEA EDX,DWORD PTR SS:[EBP-EC]
112E6028    51              PUSH ECX
112E6029    52              PUSH EDX
112E602A    C785 1CFFFFFF 7>MOV DWORD PTR SS:[EBP-E4],MY_CMS6.11031D78                 ; UNICODE "SQL"
112E6034    C785 14FFFFFF 0>MOV DWORD PTR SS:[EBP-EC],8008
112E603E    FF15 60110011   CALL DWORD PTR DS:[<&msvbvm60.__vbaVarTstEq>]              ; msvbvm60.__vbaVarTstEq
112E6044    66:85C0         TEST AX,AX
112E6047    0F84 19010000   JE MY_CMS6.112E6166

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2006-4-28 11:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
怎么没人理我啊
2006-4-28 16:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
help
2006-4-28 20:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
发给我,我帮你跟踪一下,不过我也是新手,我会尽力的,因为别人帮助了我,
Jammy.linux@hotmail.com
到我的blog讨论也行http://spaces.msn.com/jammyshare
2006-4-28 20:13
0
雪    币: 333
活跃值: (40)
能力值: ( LV9,RANK:730 )
在线值:
发帖
回帖
粉丝
6
__vbaVarTstNe       ;关系运算 <>

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstNe  ;if var1 <> var2 then ax = &Hffff
                    ;else ax = 0
                    ;end if
2006-4-29 09:32
0
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
F7进vbaVarTstNe,查看CMP参数,很简单的。何必拘泥於教材?变量1,2未必能直接显示需要CMP的参数。
2006-4-29 09:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
是iis组件 我用softice调试的  用OD调试Attach以后 一下断点,弹出一堆的东东。。。。。不会

softice 搞了半天 代码贴不出来,log只能导出自己打入的命令, IceEtc 也用不去来。输入 !dump 老说无效指令。

我跟进vbaVarTstNe 里面只有一个call 73491017 还有一个就是mov语句,用于修改eax值,不相等 eax=ffffffff, 相等 eax=0,最后ret返回。 跟进call 73491017 没走几步就到了OLEAUT32.VarCmp ,进去看了,没看到有字符串的比较.....
2006-4-29 15:00
0
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
最初由 bney 发布
是iis组件 我用softice调试的 用OD调试Attach以后 一下断点,弹出一堆的东东。。。。。不会

softice 搞了半天 代码贴不出来,log只能导出自己打入的命令, IceEtc 也用不去来。输入 !dump 老说无效指令。

我跟进vbaVarTstNe 里面只有一个call 73491017 还有一个就是mov语句,用于修改eax值,不相等 eax=ffffffff, 相等 eax=0,最后ret返回。 跟进call 73491017 没走几步就到了OLEAUT32.VarCmp ,进去看了,没看到有字符串的比较.....

OLEAUT32.VarCmp有参数比较,注意查看就知道了!
跟进,看到:
77D27854    DD46 08         fld     qword ptr [esi+8]
77D27857    DC5B 08         fcomp   qword ptr [ebx+8]
77D2785A    DFE0            fstsw   ax
这么明显的比对没有跟到?
fcomp   qword ptr [ebx+8]就是ST跟[EBX+8}两个值进行比对
2006-4-29 16:36
0
游客
登录 | 注册 方可回帖
返回
//