替換內存數據例子

例子.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]           ;  自定義文本指針(即地址)給EAX
00412557   .  8945 FC       mov     dword ptr [ebp-4],eax            ;  替換原來文本的地址爲自定義文本的地址
0041255A   .  61            popad                                    ;  恢復環境
0041255B   .  8D45 FC       lea     eax,dword ptr [ebp-4]            ;  這些這些都是原來的代碼
0041255E   .  50            push    eax
0041255F   .  68 8C4A4100   push    00414A8C
00412564   .^ 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章