|
[求助]请问OD中的反汇编如何改写成汇编源码?
如楼上所说,那一句应该结合整个程序的上下文才能写。单纯的写: mov eax,004183D1 jmp eax 不能达到你要的预期目标的。 程序是你自己再写过的,那么资源程序的地址肯定也会改变,那个004183D1肯定也是不正确的地址了。 |
|
[求助]请问OD中的反汇编如何改写成汇编源码?
.386 .model flat,stdcall option casemap:none include windows.inc include kernel32.inc include user32.inc includelib kernel32.lib includelib user32.lib .code start: invoke Sleep,1388h invoke ExitProcess,NULL end start |
|
[求助]VC内联汇编中不识别QWORD关键字?
不会吧,我测试了一下,没有问题。 |
|
[求助]AddressOfEntryPoint的值没变
memcpy((void*)image_nt_headers, (char*)pMem+image_dos_header->e_lfanew, sizeof(IMAGE_NT_HEADERS)); image_nt_headers只是一个程序的变量,你将pMem文件的数据拷贝到程序的变量,对程序的变量修改数据只对变量有效,而不会对文件有影响。 image_nt_headers->OptionalHeader.AddressOfEntryPoint = codeRVA; //你这里只是修改image_nt_headers变量的数据,但他和pMem变量是没有任何联系的,也就是说他和文件没有任何联系,你修改这里只是变量里的数据被改动了,但文件的pMem数据并没有改变。 |
|
[求助]AddressOfEntryPoint的值没变
随便看了一下,你修改的似乎只是拷贝到你自己里的内存数据,没有修改pMem的数据。要修改文件你必须修改pMem里的数据才对。 |
|
[求助]用汇编实现ExitThread(0)语句的问题!
最简单的方法是你可以先在OD里修改,然后记下机器码,再在程序里将这些机器码修改即可。 |
|
|
|
[求助]用汇编实现ExitThread(0)语句的问题!
两处代码的Call指令后的操作数都不一样?什么意思???你是说这两Call都Call同一个函数,但机器码不一样?如果是这样,那是正常的,Call指令后的机器码是Call函数的偏移地址,Call在不同的位置,偏移地址自然也就不会相同,虽然是Call同一个函数 |
|
[求助]子程序中ReadProcessMemory返回值问题
嗯,就是这样。函数返回那个缓冲区地址就行了,如果为了保险,还可以在函数里判断一下。 fnReadInteger PROC hProcess:DWORD,lpBaseAddress:WORD,nSize:BYTE .data? lpBuffer db ? .code invoke ReadProcessMemory,hProcess,lpBaseAddress,addr lpBuffer,nSize,NULL .if eax ; 如果返回成功则返回lpBuffer缓冲区指针,否则返回FALSE lea eax,lpBuffer ret .endif ret fnReadInteger ENDP 不过如果lpBuffer是局部变量而不是全局变量就不行了。只有想办法申请一个全局变量将数据拷贝到全局变量再返回这个全局变量地址,或用内存管理函数申请一个动态内存,返回后取出数据再释放这个地址内存。 |
|
[求助]子程序中ReadProcessMemory返回值问题
fnReadInteger PROC hProcess:DWORD,lpBaseAddress:WORD,nSize:BYTE .data? lpBuffer db ? .code invoke ReadProcessMemory,hProcess,lpBaseAddress,addr lpBuffer,nSize,NULL lea eax,lpBuffer ret fnReadInteger ENDP |
|
[求助]请人帮忙解释下这段代码
不太明白你想要说些什么。如果那个按钮地址是关键的算法点,你在那个地点下了断了,程序会中断到那里是正常的。 |
|
[求助]请教一句汇编!
没可能吧。。。。 |
|
[求助]请人帮忙解释下这段代码
那段代码你可不能去除他,那段代码是函数在初始化函数的局部变量,去除掉程序肯定出问题。你可以在OD里直接按F4跳到004A8F73继续运行。 |
|
[求助]PE文件的问题
一样的。。。 |
|
[求助]如何保存内存数据?
FindWindow找到窗口句柄 GetWindowThreadProcessId获取程序pID OpenProcess打开进程 ReadProcessMemory读取进程数据 CreateFile创建新文件 WriteFile将数据写入新文件 FlushFileBuffers刷新写入的缓冲区 CloseHandle关闭OpenProcess打开的句柄 完成。 |
|
[求助]关于Iczelion的win32教程中的windowsHOOK函数
mousehook.lib在生成了Dll以后就会有了,而mousehook.inc必须由你自己定义。上面的mousehook.inc一般是这样定义就行了。 ;------------------------------------------- ; 下面的内容是mousehook.inc里的内容 ;------------------------------------------- InstallHook proto :DWORD UninstallHook proto |
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值