用 OD 载入一 exe 文件,下好断点,运行,断在 00AF6D1F 处,字符是 ? 号,只占一个字节。如果在数据窗口中直接改的话,不能改。我想把 push 0AFBECC 改成 Push 其它的偏移地址 (这里指自己加入的那段文字的偏移地址),
00116D11 . 51 push ecx ; /IniFileName
00116D12 . 68 00010000 push 100 ; |BufSize = 100 (256.)
00116D17 . 8D9424 3801000>lea edx,dword ptr ss:[esp+138] ; |
00116D1E . 52 push edx ; |ReturnBuffer
00116D1F . 68 CCBE1100 push NJCOM32_.0011BECC ; |?
<------------------------------------我想改掉这个字符
00116D24 . 68 5CBD1100 push NJCOM32_.0011BD5C ; |U
00116D29 . 68 94BD1100 push NJCOM32_.0011BD94 ; |R
00116D2E . FFD7 call edi ; \GetPrivateProfileStringW
Ctrl + B 查找所有的空二进制代码找到:
0089A552 00 db 00
0089A553 00 db 00
0089A554 00 db 00
0089A555 00 db 00
0089A556 00 db 00
0089A557 00 db 00
0089A558 00 db 00
0089A559 00 db 00
0089A55A 00 db 00
0089A55B 00 db 00
0089A55C 00 db 00
0089A55D 00 db 00
然后选其中一部分用 00 填充,如下:
0089A552 0000 add byte ptr ds:[eax],al
0089A554 0000 add byte ptr ds:[eax],al
0089A556 0000 add byte ptr ds:[eax],al
0089A558 0000 add byte ptr ds:[eax],al
0089A55A 0000 add byte ptr ds:[eax],al
0089A55C 0000 add byte ptr ds:[eax],al
0089A55E 0000 add byte ptr ds:[eax],al
0089A560 0000 add byte ptr ds:[eax],al
现在我想往里面写这段文字: Cracker: cxj98 ,让其实现软件在关于窗口出现这些字符,而不是 那个 ? 号,怎么写,谢谢大侠指点。
[注意]APP应用上架合规检测服务,协助应用顺利上架!