|
|
|
|
|
[讨论]通过修改pe文件注入dll
谢谢 //dll.dll #include "stdio.h" #include "windows.h" #ifdef __cplusplus extern "C"{ #endif __declspec(dllexport)void dumy() { return; } #ifdef __cplusplus } #endif BOOL WINAPI DllMain(HANDLE hModule, DWORD DwReason, LPVOID lpReserved) { printf("asd"); getchar(); } //Project1.exe void main() {} 改后回车显示两次asd后报错,上面是文件,vs2013 win10 |
|
|
[求助][求助]vb直接修改关键跳转会报错,又找不到注册码
是说改成jz吗,这样只有开始的注册窗口没了,我还是往后面学学,再回头弄这个吧,谢谢了 |
|
|
[原创][原创]XX某个函数应该补ret多少的问题
int _stdcall add(int a, int b) 3: { 00401020 push ebp 00401021 mov ebp,esp 00401023 sub esp,40h 00401026 push ebx 00401027 push esi 00401028 push edi 00401029 lea edi,[ebp-40h] 0040102C mov ecx,10h 00401031 mov eax,0CCCCCCCCh 00401036 rep stos dword ptr [edi] 4: return a+b; 00401038 mov eax,dword ptr [ebp+8] 0040103B add eax,dword ptr [ebp+0Ch] 5: } 0040103E pop edi 0040103F pop esi 00401040 pop ebx 00401041 mov esp,ebp 00401043 pop ebp 00401044 ret 8 int _stdcall add(int a, int b, int c) 3: { 00401020 push ebp 00401021 mov ebp,esp 00401023 sub esp,40h 00401026 push ebx 00401027 push esi 00401028 push edi 00401029 lea edi,[ebp-40h] 0040102C mov ecx,10h 00401031 mov eax,0CCCCCCCCh 00401036 rep stos dword ptr [edi] 4: return a+b+c; 00401038 mov eax,dword ptr [ebp+8] 0040103B add eax,dword ptr [ebp+0Ch] 0040103E add eax,dword ptr [ebp+10h] 5: } 00401041 pop edi 00401042 pop esi 00401043 pop ebx 00401044 mov esp,ebp 00401046 pop ebp 00401047 ret 0Ch 能调试后再说话吗? |
|
|
[原创][原创]XX某个函数应该补ret多少的问题
我表达能力不行啊,可以自己调试下stdcall和cdecl |
|
|
[原创][原创]XX某个函数应该补ret多少的问题
谢谢,这个是书上的方法,我觉得有一个好处,就是能够比较快比较精准的找到,因为在od中,而之后的函数还有跳转,并不能确定哪个ret才是。 还有关于stdcall和cdecl,在vc6中各自写含三个参数的做个试验,应该更清晰 |
|
|
[原创][原创]XX某个函数应该补ret多少的问题
这个是凑巧的,可以看一下 #include "stdio.h" int add(int a, int b, int c) { return a+b+c; } void main() { printf("%d", add(1,2,3)); } 这个是cdecl的,可以看到反汇编中在call后面立即加了0xc,而printf又另加0x8 00401068 push 3 0040106A push 2 0040106C push 1 0040106E call @ILT+10(_add@12) (0040100f) 00401073 add esp,0Ch 00401076 push eax 00401077 push offset string "%d" (0042201c) 0040107C call printf (004010b0) 00401081 add esp,8 |
|
|
[求助]这个是挂起进程的程序,不知道vc6为什么报错
谢谢,第一个问题解决办法好奇葩,把include "tlhelp32.h"放到最后包含就好了,就换了下位置,为什么啊? 第二个问题看了msdn,原文 th32ProcessID [in] Specifies the process identifier. This parameter can be zero to indicate the current process. This parameter is used when the TH32CS_SNAPHEAPLIST or TH32CS_SNAPMODULE value is specified. Otherwise, it is ignored. |
|
|
[求助这个函数为什么后面打省略号也可以?
谢谢你的帮助! |
|
|
[求助]if后面的为什么会执行(c和汇编代码)
自己搞懂了,其实就是编译器是死的,两个指针相减结果是他们之间的距离,要除以4,由于强制类型转换,1/4 = 0,所以if通过 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值