通过OllyDbg调试windows窗口程序
来源:互联网 发布:centos kvm 多主机 编辑:程序博客网 时间:2024/06/16 05:04
1.OllyDeg找到GetDlgItemTextA函数的入口地址
2.获取文本内容后汇编指令
004011C8 . FFD7 call edi ; \GetDlgItemTextA004011CA . 8A4424 4C mov al, byte ptr [esp+4C]004011CE . 84C0 test al, al004011D0 . 74 76 je short 00401248004011D2 . 83FB 05 cmp ebx, 5004011D5 . 7C 71 jl short 00401248004011D7 . 8D5424 4C lea edx, dword ptr [esp+4C]004011DB . 53 push ebx;函数的参数1004011DC . 8D8424 A00000>lea eax, dword ptr [esp+A0]004011E3 . 52 push edx;函数的参数2004011E4 . 50 push eax;函数的参数3004011E5 . E8 56010000 call 00401340;函数的入口地址004011EA . 8B3D BC404000 mov edi, dword ptr [<&USER32.GetDlgI>; USER32.GetDlgItem
3.函数的内部处理过程
00401340 /$ 55 push ebp00401341 |. 8B6C24 0C mov ebp, dword ptr [esp+C]00401345 |. 56 push esi00401346 |. 57 push edi00401347 |. 8B7C24 18 mov edi, dword ptr [esp+18]0040134B |. B9 03000000 mov ecx, 300401350 |. 33F6 xor esi, esi00401352 |. 33C0 xor eax, eax00401354 |. 3BF9 cmp edi, ecx00401356 |. 7E 21 jle short 0040137900401358 |. 53 push ebx00401359 |> 83F8 07 /cmp eax, 70040135C |. 7E 02 |jle short 004013600040135E |. 33C0 |xor eax, eax00401360 |> 33D2 |xor edx, edx00401362 |. 33DB |xor ebx, ebx00401364 |. 8A1429 |mov dl, byte ptr [ecx+ebp]00401367 |. 8A98 30504000 |mov bl, byte ptr [eax+405030]0040136D |. 0FAFD3 |imul edx, ebx00401370 |. 03F2 |add esi, edx00401372 |. 41 |inc ecx00401373 |. 40 |inc eax00401374 |. 3BCF |cmp ecx, edi00401376 |.^ 7C E1 \jl short 0040135900401378 |. 5B pop ebx00401379 |> 56 push esi ; /<%ld>0040137A |. 68 78504000 push 00405078 ; |Format = "%ld"0040137F |. 55 push ebp ; |s00401380 |. FF15 9C404000 call dword ptr [<&USER32.wsprintfA>] ; \wsprintfA00401386 |. 8B4424 1C mov eax, dword ptr [esp+1C]0040138A |. 83C4 0C add esp, 0C0040138D |. 55 push ebp ; /String20040138E |. 50 push eax ; |String10040138F |. FF15 04404000 call dword ptr [<&KERNEL32.lstrcmpA>] ; \lstrcmpA00401395 |. F7D8 neg eax00401397 |. 1BC0 sbb eax, eax00401399 |. 5F pop edi0040139A |. 5E pop esi0040139B |. 40 inc eax0040139C |. 5D pop ebp0040139D \. C3 retn0040139E 90 nop0040139F 90 nop
4.根据函数的返回值判断是否指令
004011E5 . E8 56010000 call 00401340004011EA . 8B3D BC404000 mov edi, dword ptr [<&USER32.GetDlgI>; USER32.GetDlgItem004011F0 . 83C4 0C add esp, 0C004011F3 . 85C0 test eax, eax004011F5 . 74 37 je short 0040122E
阅读全文
0 0
- 通过OllyDbg调试windows窗口程序
- 程序调试工具 OllyDbg
- ollydbg调试全屏程序引发的血案
- ollydbg 调试
- Windows通过FindWindow控制其他程序的窗口
- Windows下利用WinDBG、OllyDBG进行源码级调试
- Windows下利用WinDBG、OllyDBG进行源码级调试
- OllyDbg源码调试
- ollydbg简单调试体验
- OllyDbg调试iTools
- windows程序窗口
- Windows程序窗口透明
- Windows创建窗口程序
- windows简单窗口程序
- Windows程序调试 - 调试过程
- 为什么Ollydbg重新启动被调试程序后总是重新分析该程序
- windows 程序调试 读书笔记
- drwtsn32 调试windows程序
- C# mvc 中把带 html标签的字符 当作 html标签 显示到页面
- struts2 文字过滤拦截器
- 深入浅出妙用 Javascript 中 apply、call、bind
- 关于最后
- LeetCode113. Path Sum II
- 通过OllyDbg调试windows窗口程序
- 【Spring笔记】2. XML装配Bean
- 11.服务链路追踪(sleuth+zikpin)
- 洛谷P3384 【模板】树链剖分
- 深入理解计算机系统--笔记
- Zju1610 Count the Colors
- 16C
- 1003: 两个整数的四则运算
- OpenGL着色器程序解析--keypress