首页
社区
课程
招聘
如何带参数调试程序
发表于: 2004-8-16 17:39 4659

如何带参数调试程序

2004-8-16 17:39
4659
运行这个程序时,只有带有合法的参数的时候才显示nag对话框
比如
app "c:\xxx\xxx.exe" /xxx
否则的话出现的是其他的画面。
我用reshack察看到它调用的某个dll文件里有这个nag对话框资源,接下来我能做什么呢?
请赐教,谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 11
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
下个断,不用带参
2004-8-16 19:38
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我用wd32asm调试,发现它调用了DialogBoxParamW函数来显示对话框,并且在01003A32地址处定义了一个DialogProc函数。如果我屏蔽DialogBoxParam的调用那么程序就无法正常运行了。

如下

   :01003F9B push 01003A32
   :01003FA0 push 00000000
   :01003FA2 push 00000091
   :01003FA7 push dword ptr [0100503C]
int DialogBoxParamW(HINSTANCE,LPWSTR,HWND,DLGPROC,LPARAM)
   :01003FAD call USER32.DialogBoxParamW
             跳过这一步不行的说,该做的事情在这一个call里都做完了。
   :01003FB3 xor eax, eax
   :01003FB5 inc eax
   :01003FB6 jmp AppLoc.01003FBA
   :01003FB8 xor eax, eax
   :01003FBA mov ecx, dword ptr [ebp-04]

API int Arg00 = DialogBoxParamW(Arg01,Arg02,Arg03,Arg04,Arg05)
API Address=01003FAD, API Return Address=01003FB3
  Arg01 = (HINSTANCE) 00800000
  lpArg02 = (LPWSTR) ID:0091
  Arg03 = (HWND) 00000000 (Window"")
  Arg04 = (DLGPROC) 01003a32
  Arg05 = (LPARAM) 00000000

谢谢
2004-8-16 20:37
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
4
在OD打开文件的窗口里,最下面的文本框就是用来输入命令行参数的
2004-8-16 23:30
0
游客
登录 | 注册 方可回帖
返回
//