易语言教程_易语言源码_易语言写挂_易语言论坛_看流星社区

 找回密码
 注册
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
零基础辅助入门教学 原创 高清 专业课程售后(每日解答)
赞助广告位 请点击这里联系站长 QQ20209081
赞助广告位 请点击这里联系站长 QQ20209081
赞助广告位 请点击这里联系站长 QQ20209081
楼主: 小小思维

原创 [基础7] 如何调试CALL可能对应的功能?

  [复制链接]
发表于 2014-11-30 16:27:18 | 显示全部楼层
发表于 2014-12-1 14:28:23 | 显示全部楼层
第三方公司的风格第三分公司东风阿斯蒂芬阿斯蒂芬
发表于 2014-12-1 21:02:12 | 显示全部楼层
学习学习,看哈子。
发表于 2014-12-4 09:45:42 | 显示全部楼层
谢谢分享。。。
发表于 2014-12-4 16:17:19 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶
发表于 2014-12-5 10:14:54 | 显示全部楼层
dddddddddddddddddddddddddddddd
发表于 2014-12-5 22:35:32 | 显示全部楼层
好东西啊啊啊
发表于 2014-12-6 09:06:37 | 显示全部楼层
我顶顶顶顶顶顶顶顶顶顶顶顶顶
发表于 2014-12-7 15:31:22 | 显示全部楼层
天啊,还要回复
发表于 2014-12-11 09:38:26 | 显示全部楼层
................:
发表于 2014-12-12 06:46:49 | 显示全部楼层
回复 1# 小小思维
发表于 2014-12-13 15:46:10 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶
发表于 2014-12-15 05:38:04 | 显示全部楼层
好东西顶起来
发表于 2014-12-15 21:10:32 | 显示全部楼层
感谢分享,学习一下
发表于 2014-12-17 19:59:02 | 显示全部楼层
好好学习~~~~~~~~~~~
发表于 2014-12-20 18:49:00 | 显示全部楼层
实战举例说明:

这个CALL:

0042FC9F > $  E8 ECCF0000   CALL start.0043CC90   //内存地址是0043CC90   

进入CALL里面,OD里是用enter回车键进入:

0043CC90  /$  55            PUSH EBP
0043CC91  |.  8BEC          MOV EBP,ESP
0043CC93  |.  83EC 10       SUB ESP,10
0043CC96  |.  A1 10F84500   MOV EAX,DWORD PTR DS:[45F810]
0043CC9B  |.  8365 F8 00    AND DWORD PTR SS:[EBP-8],0
0043CC9F  |.  8365 FC 00    AND DWORD PTR SS:[EBP-4],0
0043CCA3  |.  53            PUSH EBX
0043CCA4  |.  57            PUSH EDI
0043CCA5  |.  BF 4EE640BB   MOV EDI,BB40E64E
0043CCAA  |.  3BC7          CMP EAX,EDI
0043CCAC  |.  BB 0000FFFF   MOV EBX,FFFF0000
0043CCB1  |.  74 0D         JE SHORT start.0043CCC0
0043CCB3  |.  85C3          TEST EBX,EAX
0043CCB5  |.  74 09         JE SHORT start.0043CCC0
0043CCB7  |.  F7D0          NOT EAX
0043CCB9  |.  A3 14F84500   MOV DWORD PTR DS:[45F814],EAX
0043CCBE  |.  EB 60         JMP SHORT start.0043CD20
0043CCC0  |>  56            PUSH ESI
0043CCC1  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
0043CCC4  |.  50            PUSH EAX                                 ; /pFileTime
0043CCC5  |.  FF15 74C14400 CALL DWORD PTR DS:[<&KERNEL32.GetSystemT>; \GetSystemTimeAsFileTime
0043CCCB  |.  8B75 FC       MOV ESI,DWORD PTR SS:[EBP-4]
0043CCCE  |.  3375 F8       XOR ESI,DWORD PTR SS:[EBP-8]
0043CCD1  |.  FF15 70C24400 CALL DWORD PTR DS:[<&KERNEL32.GetCurrent>; [GetCurrentProcessId
0043CCD7  |.  33F0          XOR ESI,EAX
0043CCD9  |.  FF15 7CC24400 CALL DWORD PTR DS:[<&KERNEL32.GetCurrent>; [GetCurrentThreadId
0043CCDF  |.  33F0          XOR ESI,EAX
0043CCE1  |.  FF15 B4C14400 CALL DWORD PTR DS:[<&KERNEL32.GetTickCou>; [GetTickCount
0043CCE7  |.  33F0          XOR ESI,EAX
0043CCE9  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
0043CCEC  |.  50            PUSH EAX                                 ; /pPerformanceCount
0043CCED  |.  FF15 70C14400 CALL DWORD PTR DS:[<&KERNEL32.QueryPerfo>; \QueryPerformanceCounter
0043CCF3  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
0043CCF6  |.  3345 F0       XOR EAX,DWORD PTR SS:[EBP-10]
0043CCF9  |.  33F0          XOR ESI,EAX
0043CCFB  |.  3BF7          CMP ESI,EDI
0043CCFD  |.  75 07         JNZ SHORT start.0043CD06
0043CCFF  |.  BE 4FE640BB   MOV ESI,BB40E64F
0043CD04  |.  EB 0B         JMP SHORT start.0043CD11
0043CD06  |>  85F3          TEST EBX,ESI
0043CD08  |.  75 07         JNZ SHORT start.0043CD11
0043CD0A  |.  8BC6          MOV EAX,ESI
0043CD0C  |.  C1E0 10       SHL EAX,10
0043CD0F  |.  0BF0          OR ESI,EAX
0043CD11  |>  8935 10F84500 MOV DWORD PTR DS:[45F810],ESI
0043CD17  |.  F7D6          NOT ESI
0043CD19  |.  8935 14F84500 MOV DWORD PTR DS:[45F814],ESI
0043CD1F  |.  5E            POP ESI
0043CD20  |>  5F            POP EDI
0043CD21  |.  5B            POP EBX
0043CD22  |.  C9            LEAVE
0043CD23  \.  C3            RETN                    //注意看这个retn返回命令,直接retn返回说明该CALL没参数。


=================================================

再举例 说明有参数的识别:

0040C0B6  |.  6A FF         PUSH -1               //参数
0040C0B8  |.  53            PUSH EBX              //参数
0040C0B9  |.  50            PUSH EAX              //参数  可以看这里有多少个push 代表有多少个参数。是在CALL的前面
0040C0BA  |.  8D8C24 D00000>LEA ECX,DWORD PTR SS:[ESP+D0]
0040C0C1  |.  C68424 180100>MOV BYTE PTR SS:[ESP+118],4
0040C0C9  |.  E8 02C2FFFF   CALL start.004082D0       //这个CALL,进入里面

得到:

004082D0  /$  53            PUSH EBX
004082D1  |.  8B5C24 08     MOV EBX,DWORD PTR SS:[ESP+8]
004082D5  |.  55            PUSH EBP
004082D6  |.  8B6C24 10     MOV EBP,DWORD PTR SS:[ESP+10]
004082DA  |.  396B 14       CMP DWORD PTR DS:[EBX+14],EBP
004082DD  |.  56            PUSH ESI
004082DE  |.  57            PUSH EDI
004082DF  |.  8BF1          MOV ESI,ECX
004082E1  |.  73 05         JNB SHORT start.004082E8
004082E3  |.  E8 ACE70300   CALL start.00446A94
004082E8  |>  8B7B 14       MOV EDI,DWORD PTR DS:[EBX+14]
004082EB  |.  8B4424 1C     MOV EAX,DWORD PTR SS:[ESP+1C]
004082EF  |.  2BFD          SUB EDI,EBP
004082F1  |.  3BC7          CMP EAX,EDI
004082F3  |.  73 02         JNB SHORT start.004082F7
004082F5  |.  8BF8          MOV EDI,EAX
004082F7  |>  3BF3          CMP ESI,EBX
004082F9  |.  75 1F         JNZ SHORT start.0040831A
004082FB  |.  6A FF         PUSH -1
004082FD  |.  03FD          ADD EDI,EBP
004082FF  |.  57            PUSH EDI
00408300  |.  8BCE          MOV ECX,ESI
00408302  |.  E8 99E6FFFF   CALL start.004069A0
00408307  |.  55            PUSH EBP
00408308  |.  6A 00         PUSH 0
0040830A  |.  8BCE          MOV ECX,ESI
0040830C  |.  E8 8FE6FFFF   CALL start.004069A0
00408311  |.  5F            POP EDI
00408312  |.  8BC6          MOV EAX,ESI
00408314  |.  5E            POP ESI
00408315  |.  5D            POP EBP
00408316  |.  5B            POP EBX     
00408317  |.  C2 0C00       RETN 0C     //看这里 是返回 0c 是16机制,转成10进制 12/4=3个参数 为什么要除以4,因为1个push 占用4个字节 3个push就是3*4=12字节
发表于 2014-12-21 20:46:38 | 显示全部楼层
回复 1# 小小思维
发表于 2014-12-22 19:18:40 | 显示全部楼层
6312222222222222
发表于 2014-12-22 19:19:03 | 显示全部楼层
13222222222222222222222222
发表于 2014-12-23 13:32:01 | 显示全部楼层
这个call学习持续关注中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|看流星社区  |网站地图

GMT+8, 2017-7-22 20:46 易语言论坛 易语言导航

Powered by 看流星社区 X3.2

©2011-2016 最好的辅助编程技术论坛

快速回复 返回顶部 返回列表