首页
社区
课程
招聘
如何去掉这个VB程序的NAG?[求助]
发表于: 2006-7-29 23:32 4868

如何去掉这个VB程序的NAG?[求助]

2006-7-29 23:32
4868
用VBParser分析了一个VB程序,是一个去NAG的crackme,我找到如下两处NOP了,但保存运行出错了,应该如何成功去掉这个弹出窗口呢?

00401DFE: 04 5C FF           FLdRfVar                Push local_A4
00401E01: 0A 01 00 14 00     ImpAdCallFPR4          CallPtr_00401020; check stack 0014 (no return value)

全部代码如下:
-----=====-----=====-----=====--Crackme--=====-----=====-----=====-----

[CommandButton]
Private Sub Command1_Click()
'-=-=-=-=-=-=-= ProcAddr Range: [00401DE8 - 00401E30] , ProcSize: 48 =-=-=-=-=-=-=-
00401DE8: 27 FC FE           LitVar_Missing          PushVarError 80020004 (missing)                                                   VT_ERROR signifies an optional argument that is missing
00401DEB: 27 1C FF           LitVar_Missing          PushVarError 80020004 (missing)                                                   VT_ERROR signifies an optional argument that is missing
00401DEE: 27 3C FF           LitVar_Missing          PushVarError 80020004 (missing)                                                   VT_ERROR signifies an optional argument that is missing
00401DF1: F5 00 00 00 00     LitI4:                  Push 00000000

*********** Referent String: "Another NAG" ***********
                              |
00401DF6: 3A 6C FF 00 00     LitVarStr               PushVarString Ptr_00401904

00401DFB: 4E 5C FF           FStVarCopyObj           [local_A4]=vbaVarDup(Pop)
00401DFE: 04 5C FF           FLdRfVar                Push local_A4
00401E01: 0A 01 00 14 00     ImpAdCallFPR4           Call Ptr_00401020; check stack 0014 (no return value)
00401E06: 36 08 00 5C FF 3C  FFreeVar                Free 0008 variants : 5C FF 3C FF 1C FF FC FE
          FF 1C FF FC FE   
00401E11: 08 08 00           FLdPr                   [SR]=[stack_08]
00401E14: 0D B4 02 02 00     VCallHresult            
00401E19: 27 4C FF           LitVar_Missing          PushVarError 80020004 (missing)                                                   VT_ERROR signifies an optional argument that is missing
00401E1C: 25                 PopAdLdVar              
00401E1D: 27 6C FF           LitVar_Missing          PushVarError 80020004 (missing)                                                   VT_ERROR signifies an optional argument that is missing
00401E20: 25                 PopAdLdVar              
00401E21: 05 03 00           ImpAdLdRf               Push Ptr_0040201C
00401E24: 24 04 00           NewIfNullPr             [Pop] [SR]
00401E27: 0D B0 02 05 00     VCallHresult            
00401E2C: 13                 ExitProcHresult         
00401E2D: 48 C0 0F           ILdPr                   [SR]=[[stack_FC0]]

-----=====-----=====-----=====--------------------=====-----=====-----=====-----

                                  Email ME: ljtt@yeah.net

-----=====-----=====-----=====--Done--=====-----=====-----=====-----

[CommandButton]
Private Sub Command1_Click()
'-=-=-=-=-=-=-= ProcAddr Range: [00401CE8 - 00401CEC] , ProcSize: 4 =-=-=-=-=-=-=-
00401CE8: FC C8 13           End                     
00401CEB: 00 04              LargeBos                IDE beginning of line with 04 byte codes

-----=====-----=====-----=====--------------------=====-----=====-----=====-----

                                  Email ME: ljtt@yeah.net

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
pcode代码你是如何NOP的?
个人感觉可以用Branach等跳转来代替

最初由 modi 发布
我找到如下两处NOP了,但保存运行出错了,应该如何成功去掉这个弹出窗口呢?
2006-7-30 10:37
0
雪    币: 494
活跃值: (629)
能力值: ( LV9,RANK:1210 )
在线值:
发帖
回帖
粉丝
3
1. pcode的nop不是0x90,要用对应的opcode
2. 要保持堆栈平衡,出错多半是这个原因
2006-7-30 16:51
0
雪    币: 158
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
最初由 softworm 发布
1. pcode的nop不是0x90,要用对应的opcode
2. 要保持堆栈平衡,出错多半是这个原因


呵呵,我就是在uedit中用90代替相关代码就出错...
原来pcode的nop是不相同的.

谢谢坛主,版主.
2006-7-31 09:39
0
游客
登录 | 注册 方可回帖
返回
//