Just_Like_Fire 发表于 2017-9-4 18:59

易语言问题小菜求解,

本帖最后由 Just_Like_Fire 于 2017-9-4 19:00 编辑





求教一下,怎么判断某个地址后面的二进制是多少,就比如上图 那里 的401339的55和40133A的8BEC,

或者得到该地址后取出后面的二进制是多少,
如果可以,最好有个例子,谢谢!


Shy 发表于 2017-9-4 18:59

Just_Like_Fire 发表于 2017-9-5 15:05
我试过你说的读内存字节集,读出来以后再转换成二进制发现跟该地址不一样,
才发的帖子来问的,

二进制只有0和1,这个明显也不是二进制啊,这个叫十六进制,所以你读出来的是字节集,直接用命令,字节集转16进制就可以了

Shy 发表于 2017-9-4 19:29

内存读字节集

千里冰封 发表于 2017-9-5 00:12

读内存,然后再把读到的字节集转换成想要的进制(2,8,10,16)

XiaoNuo 发表于 2017-9-5 08:03

楼主加油 楼主辛苦

heiheidz 发表于 2017-9-5 08:21

Just_Like_Fire 发表于 2017-9-5 15:02

千里冰封 发表于 2017-9-5 00:12
读内存,然后再把读到的字节集转换成想要的进制(2,8,10,16)


我读出来的字节集转换过来跟该地址的二进制不一样,所以才愁,

Just_Like_Fire 发表于 2017-9-5 15:03

heiheidz 发表于 2017-9-5 08:21
0040133955这行55可以拆分两个8位二进制   01010101    这是最基础知识,但其实这个东西你知道原理即 ...


我就想读出来该内存地址后面的二进制数据,
我试过读内存字节集,开始读出来以后再转换成二进制发现跟该地址不一样,

Just_Like_Fire 发表于 2017-9-5 15:05

Shy 发表于 2017-9-4 19:29
内存读字节集


我试过你说的读内存字节集,读出来以后再转换成二进制发现跟该地址不一样,
才发的帖子来问的,

butcher 发表于 2017-9-5 16:29

代码给你了,。不过易语言就不知道怎么写了       
//修改些数据
        DWORD dwTemp=0;
        DWORD dwOldProtect;

        if (IsBadReadPtr((LPVOID)401339,5))
        {
                return 0;
        }
        while(TRUE)
        {
                Sleep(50);
                if ((char)0xC3 == *(char *)(OldDbgBreakPoint))
                {
                        VirtualProtectEx(GetCurrentProcess(),(LPVOID)401339,5,PAGE_READWRITE,&dwOldProtect);
                        WriteProcessMemory(GetCurrentProcess(),(LPVOID)401339,5,NewCode,5,0);
                        VirtualProtectEx(GetCurrentProcess(),(LPVOID)401339,5,5,dwOldProtect,&dwTemp);

                        return 0;
                }
               
        }
页: [1] 2
查看完整版本: 易语言问题小菜求解,