镜之边缘修改器原理

004024F0  /$  51            PUSH ECX                                 ;  锁定血量
004024F1  |.  B0 90         MOV AL,90
004024F3  |.  56            PUSH ESI
004024F4  |.  8B7424 0C     MOV ESI,DWORD PTR SS:[ESP+C]
004024F8  |.  884424 04     MOV BYTE PTR SS:[ESP+4],AL
004024FC  |.  884424 05     MOV BYTE PTR SS:[ESP+5],AL
00402500  |.  A1 CC454000   MOV EAX,DWORD PTR DS:[4045CC]
00402505  |.  83C0 0E       ADD EAX,0E
00402508  |.  6A 00         PUSH 0
0040250A  |.  85F6          TEST ESI,ESI
0040250C  |.  C64424 0A EB  MOV BYTE PTR SS:[ESP+A],0EB
00402511  |.  C64424 0B 14  MOV BYTE PTR SS:[ESP+B],14
00402516  |.  6A 02         PUSH 2
00402518  |.  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
0040251C  |.  75 04         JNZ SHORT Unpacked.00402522
0040251E  |.  8D4C24 0E     LEA ECX,DWORD PTR SS:[ESP+E]
00402522  |>  8B15 10464000 MOV EDX,DWORD PTR DS:[404610]            ; |
00402528  |.  51            PUSH ECX                                 ; |Buffer
00402529  |.  50            PUSH EAX                                 ; |Address
0040252A  |.  52            PUSH EDX                                 ; |hProcess => 00001A40
0040252B  |.  FF15 40304000 CALL DWORD PTR DS:[<&KERNEL32.WriteProce>; /WriteProcessMemory
00402531  |.  56            PUSH ESI
00402532  |.  E8 29F4FFFF   CALL Unpacked.00401960
00402537  |.  83C4 04       ADD ESP,4
0040253A  |.  5E            POP ESI
0040253B  |.  59            POP ECX
0040253C  /.  C3            RETN
 

00402540  /$  51            PUSH ECX                                 ;  一击必杀
00402541  |.  B0 03         MOV AL,3
00402543  |.  56            PUSH ESI
00402544  |.  8B7424 0C     MOV ESI,DWORD PTR SS:[ESP+C]
00402548  |.  884424 05     MOV BYTE PTR SS:[ESP+5],AL
0040254C  |.  884424 07     MOV BYTE PTR SS:[ESP+7],AL
00402550  |.  A1 C4454000   MOV EAX,DWORD PTR DS:[4045C4]
00402555  |.  83C0 16       ADD EAX,16
00402558  |.  6A 00         PUSH 0
0040255A  |.  85F6          TEST ESI,ESI
0040255C  |.  C64424 08 74  MOV BYTE PTR SS:[ESP+8],74
00402561  |.  C64424 0A EB  MOV BYTE PTR SS:[ESP+A],0EB
00402566  |.  6A 02         PUSH 2
00402568  |.  8D4C24 0C     LEA ECX,DWORD PTR SS:[ESP+C]
0040256C  |.  75 04         JNZ SHORT Unpacked.00402572
0040256E  |.  8D4C24 0E     LEA ECX,DWORD PTR SS:[ESP+E]
00402572  |>  8B15 10464000 MOV EDX,DWORD PTR DS:[404610]            ; |
00402578  |.  51            PUSH ECX                                 ; |Buffer
00402579  |.  50            PUSH EAX                                 ; |Address
0040257A  |.  52            PUSH EDX                                 ; |hProcess => 00001A40
0040257B  |.  FF15 40304000 CALL DWORD PTR DS:[<&KERNEL32.WriteProce>; /WriteProcessMemory
00402581  |.  56            PUSH ESI
00402582  |.  E8 D9F3FFFF   CALL Unpacked.00401960
00402587  |.  83C4 04       ADD ESP,4
0040258A  |.  5E            POP ESI
0040258B  |.  59            POP ECX
0040258C  /.  C3            RETN
 

00402670  /$  51            PUSH ECX                                 ;  保存坐标
00402671  |.  8B0D C8454000 MOV ECX,DWORD PTR DS:[4045C8]
00402677  |.  8B15 10464000 MOV EDX,DWORD PTR DS:[404610]
0040267D  |.  56            PUSH ESI
0040267E  |.  8B35 54304000 MOV ESI,DWORD PTR DS:[<&KERNEL32.ReadPro>;  kernel32.ReadProcessMemory
00402684  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
00402686  |.  8D4424 08     LEA EAX,DWORD PTR SS:[ESP+8]             ; |
0040268A  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
0040268C  |.  50            PUSH EAX                                 ; |Buffer
0040268D  |.  51            PUSH ECX                                 ; |pBaseAddress => E40541
0040268E  |.  52            PUSH EDX                                 ; |hProcess => NULL
0040268F  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
00402691  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00402695  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
00402697  |.  2D D0010000   SUB EAX,1D0                              ; |
0040269C  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
0040269E  |.  68 F8454000   PUSH Unpacked.004045F8                   ; |Buffer = Unpacked.004045F8
004026A3  |.  894424 10     MOV DWORD PTR SS:[ESP+10],EAX            ; |
004026A7  |.  50            PUSH EAX                                 ; |pBaseAddress
004026A8  |.  A1 10464000   MOV EAX,DWORD PTR DS:[404610]            ; |
004026AD  |.  50            PUSH EAX                                 ; |hProcess => NULL
004026AE  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
004026B0  |.  8B4C24 04     MOV ECX,DWORD PTR SS:[ESP+4]
004026B4  |.  8B15 10464000 MOV EDX,DWORD PTR DS:[404610]
004026BA  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004026BC  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
004026BE  |.  83C1 04       ADD ECX,4                                ; |
004026C1  |.  68 FC454000   PUSH Unpacked.004045FC                   ; |Buffer = Unpacked.004045FC
004026C6  |.  51            PUSH ECX                                 ; |pBaseAddress
004026C7  |.  52            PUSH EDX                                 ; |hProcess => NULL
004026C8  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
004026CA  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
004026CE  |.  8B0D 10464000 MOV ECX,DWORD PTR DS:[404610]
004026D4  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004026D6  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
004026D8  |.  83C0 08       ADD EAX,8                                ; |
004026DB  |.  68 00464000   PUSH Unpacked.00404600                   ; |Buffer = Unpacked.00404600
004026E0  |.  50            PUSH EAX                                 ; |pBaseAddress
004026E1  |.  51            PUSH ECX                                 ; |hProcess => NULL
004026E2  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
004026E4  |.  6A 01         PUSH 1
004026E6  |.  E8 75F2FFFF   CALL Unpacked.00401960
004026EB  |.  83C4 04       ADD ESP,4
004026EE  |.  5E            POP ESI
004026EF  |.  59            POP ECX
004026F0  /.  C3            RETN
 

00402590  /$  51            PUSH ECX                                 ;  传送到指定坐标
00402591  |.  8B0D C8454000 MOV ECX,DWORD PTR DS:[4045C8]
00402597  |.  8B15 10464000 MOV EDX,DWORD PTR DS:[404610]
0040259D  |.  56            PUSH ESI
0040259E  |.  8B35 54304000 MOV ESI,DWORD PTR DS:[<&KERNEL32.ReadPro>;  kernel32.ReadProcessMemory
004025A4  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004025A6  |.  8D4424 08     LEA EAX,DWORD PTR SS:[ESP+8]             ; |
004025AA  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
004025AC  |.  50            PUSH EAX                                 ; |Buffer
004025AD  |.  51            PUSH ECX                                 ; |pBaseAddress => E40541
004025AE  |.  52            PUSH EDX                                 ; |hProcess => 00005220
004025AF  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
004025B1  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
004025B5  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004025B7  |.  2D D0010000   SUB EAX,1D0                              ; |
004025BC  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
004025BE  |.  68 E8454000   PUSH Unpacked.004045E8                   ; |Buffer = Unpacked.004045E8
004025C3  |.  894424 10     MOV DWORD PTR SS:[ESP+10],EAX            ; |
004025C7  |.  50            PUSH EAX                                 ; |pBaseAddress
004025C8  |.  A1 10464000   MOV EAX,DWORD PTR DS:[404610]            ; |
004025CD  |.  50            PUSH EAX                                 ; |hProcess => 00005220
004025CE  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
004025D0  |.  8B4C24 04     MOV ECX,DWORD PTR SS:[ESP+4]
004025D4  |.  8B15 10464000 MOV EDX,DWORD PTR DS:[404610]
004025DA  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004025DC  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
004025DE  |.  83C1 04       ADD ECX,4                                ; |
004025E1  |.  68 EC454000   PUSH Unpacked.004045EC                   ; |Buffer = Unpacked.004045EC
004025E6  |.  51            PUSH ECX                                 ; |pBaseAddress
004025E7  |.  52            PUSH EDX                                 ; |hProcess => 00005220
004025E8  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
004025EA  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
004025EE  |.  8B0D 10464000 MOV ECX,DWORD PTR DS:[404610]
004025F4  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004025F6  |.  6A 04         PUSH 4                                   ; |BytesToRead = 4
004025F8  |.  83C0 08       ADD EAX,8                                ; |
004025FB  |.  68 F0454000   PUSH Unpacked.004045F0                   ; |Buffer = Unpacked.004045F0
00402600  |.  50            PUSH EAX                                 ; |pBaseAddress
00402601  |.  51            PUSH ECX                                 ; |hProcess => 00005220
00402602  |.  FFD6          CALL ESI                                 ; /ReadProcessMemory
00402604  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00402608  |.  8B0D 10464000 MOV ECX,DWORD PTR DS:[404610]
0040260E  |.  8B35 40304000 MOV ESI,DWORD PTR DS:[<&KERNEL32.WritePr>;  kernel32.WriteProcessMemory
00402614  |.  6A 00         PUSH 0                                   ; /pBytesWritten = NULL
00402616  |.  8D5424 10     LEA EDX,DWORD PTR SS:[ESP+10]            ; |
0040261A  |.  6A 04         PUSH 4                                   ; |BytesToWrite = 4
0040261C  |.  52            PUSH EDX                                 ; |Buffer
0040261D  |.  50            PUSH EAX                                 ; |Address
0040261E  |.  51            PUSH ECX                                 ; |hProcess => 00005220
0040261F  |.  FFD6          CALL ESI                                 ; /WriteProcessMemory
00402621  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
00402625  |.  8B0D 10464000 MOV ECX,DWORD PTR DS:[404610]
0040262B  |.  6A 00         PUSH 0                                   ; /pBytesWritten = NULL
0040262D  |.  8D5424 14     LEA EDX,DWORD PTR SS:[ESP+14]            ; |
00402631  |.  6A 04         PUSH 4                                   ; |BytesToWrite = 4
00402633  |.  83C0 04       ADD EAX,4                                ; |
00402636  |.  52            PUSH EDX                                 ; |Buffer
00402637  |.  50            PUSH EAX                                 ; |Address
00402638  |.  51            PUSH ECX                                 ; |hProcess => 00005220
00402639  |.  FFD6          CALL ESI                                 ; /WriteProcessMemory
0040263B  |.  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
0040263F  |.  8B0D 10464000 MOV ECX,DWORD PTR DS:[404610]
00402645  |.  6A 00         PUSH 0                                   ; /pBytesWritten = NULL
00402647  |.  8D5424 18     LEA EDX,DWORD PTR SS:[ESP+18]            ; |
0040264B  |.  6A 04         PUSH 4                                   ; |BytesToWrite = 4
0040264D  |.  83C0 08       ADD EAX,8                                ; |
00402650  |.  52            PUSH EDX                                 ; |Buffer
00402651  |.  50            PUSH EAX                                 ; |Address
00402652  |.  51            PUSH ECX                                 ; |hProcess => 00005220
00402653  |.  FFD6          CALL ESI                                 ; /WriteProcessMemory
00402655  |.  6A 01         PUSH 1
00402657  |.  E8 04F3FFFF   CALL Unpacked.00401960
0040265C  |.  83C4 04       ADD ESP,4
0040265F  |.  5E            POP ESI
00402660  |.  59            POP ECX
00402661  /.  C3            RETN
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值