替换内存数据例子

例子.exe                原程序
例子_替换文本.exe        已经用替换文本方式修改过的
例子_替换地址.exe        已经用替换文本地址方式修改过的


按钮事件地址:004011D4 
自定义文本地址:0041259A


===================================华丽的分割线=====================================


 


替换文本内容代码

00412551   > \60            pushad                                   ;  保存环境
00412552   .  33C0          xor     eax,eax                          ;  清空eax备用,这里好像用不到那么多寄存器
00412554   .  33C9          xor     ecx,ecx                          ;  清空ecx备用,存放欲替换地址
00412556   .  33D2          xor     edx,edx                          ;  清空edx备用,替换位置记位
00412558   .  33DB          xor     ebx,ebx                          ;  清空ebx备用,替换内容过渡
0041255A   .  8B4D FC       mov     ecx,dword ptr [ebp-4]            ;  获取欲替换内容地址
0041255D   >  8B9A 9A254100 mov     ebx,dword ptr [edx+41259A]       ;  讲替换内容临时存放ebx,edx=记位,41259A=内容地址
00412563   .  891C11        mov     dword ptr [ecx+edx],ebx          ;  替换原内容
00412566   .  83FA 08       cmp     edx,8                            ;  检查是否替换完
00412569   .  74 05         je      short 00412570                   ;  完成则恢复环境执行原来代码
0041256B   .  83C2 04       add     edx,4                            ;  记位+4由于是dword型
0041256E   .^ EB ED         jmp     short 0041255D                   ;  继续替换
00412570   >  61            popad                                    ;  下面的你们都懂了
00412571   .  8D45 FC       lea     eax,dword ptr [ebp-4]
00412574   .  50            push    eax
00412575   .  68 8C4A4100   push    00414A8C
0041257A   .^ E9 71ECFEFF   jmp     004011F0

二进制代码
60 33 C0 33 C9 33 D2 33 DB 8B 4D FC 8B 9A 9A 25 41 00 89 1C 11 83 FA 08 74 05 83 C2 04 EB ED 61
8D 45 FC 50 68 8C 4A 41 00 E9 71 EC FE FF


===================================华丽的分割线=====================================


 

替换文本地址代码00412551   > \60            pushad                                   ;  保存环境00412552   .  A1 8A254100   mov     eax,dword ptr [41258A]           ;  自定义文本指针(即地址)给EAX00412557   .  8945 FC       mov     dword ptr [ebp-4],eax            ;  替换原来文本的地址为自定义文本的地址0041255A   .  61            popad                                    ;  恢复环境0041255B   .  8D45 FC       lea     eax,dword ptr [ebp-4]            ;  这些这些都是原来的代码0041255E   .  50            push    eax0041255F   .  68 8C4A4100   push    00414A8C00412564   .^ E9 87ECFEFF   jmp     004011F0二进制代码60 A1 8A 25 41 00 89 45 FC 61 8D 45 FC 50 68 8C 4A 41 00 E9 87 EC FE FF
相关文章
相关标签/搜索