标题:请帮忙,谢谢!
只看楼主
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
结帖率:75%
已结贴  问题点数:20 回复次数:2 
请帮忙,谢谢!
程序代码:
#include "stdafx.h"
#include "SROLibrary.h"
#include "SL_FORM.h"
#include "afxdialogex.h"
#include <string.h>
#include <map>

void SL_FORM::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    int addr;
    char *p = NULL;
    char b[5]={0};
    int k;

    _asm
    {
        mov eax, 0xEEF5EC
        mov eax, [eax]
        add eax, 0x80
        fld [eax]
        mov ecx, 0xDA0ED8
        fdiv [ecx]
        mov eax, 0xB42D10
        call eax
        mov ebx, eax
        mov edi, 0xa8
        lea ecx, [edi + edi*2 - 0x195]
        shl ecx, 6
        sub ecx, ebx
        mov eax, ecx
        mov addr, eax
        xor edi, edi
    }

    while (TRUE)
    {
        _asm
        {
            xor edx, edx
            mov eax, addr
            mov ebx, eax
            mov ecx, 0xa
            div ecx
            mov addr, eax
            mul ecx
            sub eax, ebx
            neg eax
            mov ecx, eax
            add ecx, 0x30
            lea esi, b
            mov[esi + edi], ecx
            inc edi
            mov edx, 0
            mov ebx, edx
            mov eax, addr
            or eax, ebx
            mov k, eax
        }

        if (k == 0)
            break;
    }

    p = &b[0];
    _strrev(p);
    AfxMessageBox(p);
}


代码如上

在VC6.0下可以正常编译和执行,结果为:6231 (正确结果)

在VS2017下可以正常编译,但执行结果为:2147489984 并且函数执行完毕后程序崩溃。
在VS下,若注释如下3行代码则不会崩溃:
    p = &b[0];
    _strrev(p);
    AfxMessageBox(p);

代码在VC6下执行正常,所以我觉得汇编部分可能没问题。

电脑上的VC6总是假死所以很不方便,但VS遇到的问题又解决不了,
请大家帮我看看这可能是什么原因?

请问rjsp大佬是否遇到过类似的问题,能不能教教我解决的思路,
实在是没办法,都不知道上网搜什么。。。

谢谢大家!
搜索更多相关主题的帖子: addr 执行 include 代码 mov 
2019-10-13 00:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
只能自己调试了,别人是没办法的。
你里面有好多别人猜不出的数,还有函数调用是否符合x64的函数调用约定,都是未知的。
2019-10-14 08:33
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
得分:0 
非常感谢老哥,谢谢!
2019-10-17 13:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497231-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044538 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved