逆向学习-大端机器

我们知道,Windows是小端机器,那么有没有办法在windows上创建一个大端机器呢?

方法是有的,借助虚拟机技术,可以在windows上运行大端机

总体思路:1.在windows上使用VMware安装ubuntu虚拟机,2.在ubuntu内使用QEMU安装mips版的debian

有人说,这不是虚拟机上安虚拟机吗?能嵌套吗?

一般来说,相同架构的虚拟机一般嵌套不了,不同架构的虚拟机嵌套是有可能成功的,下面是教程。

1.安装VMware

VMware14下载地址:http://download3.vmware.com/software/wkst/file/VMware-workstation-full-14.1.1-7528167.exe

VMware14安装密钥:

FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA
CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD

2.安装ubuntu

不想出问题的老老实实安装LTS版本

ubuntu 16.04版本下载:http://mirrors.shu.edu.cn/ubuntu-releases/16.04.3/ubuntu-16.04.3-desktop-amd64.iso

3.在ubuntu中安装QEMU

执行命令

sudo apt-get install qemu
4.安装mips版的debian

下载地址:https://people.debian.org/~aurel32/qemu/

注意下载mips目录的这个是大端,mipsel目录里面是小端
下载镜像+内核两个文件
不建议下载squeeze版,squeeze版本已经没有官方源了
建议下载wheezy版,目前这个有官方源支持
debian_wheezy_mips_standard.qcow2(镜像) 
vmlinux-3.2.0-4-4kc-malta(内核)

启动虚拟机: 
qemu-system-mips -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -nographic

用户名user密码user, root的密码是root。

更换清华源
配置生成器
Debian选wheezy
把配置内容贴到/etc/apt/sources.list最前面
默认没有安装gcc
apt-get install gcc
然后试试前面文章的的大端小端检测代码
#include <stdio.h>

void checkdxd3(){
    static union
    {
        char a[4];
        unsigned long ul;
    } endian = {{'L', '?', '?', 'B'}};
    #define ENDIAN ((char)endian.ul)
    printf("%c\n", ENDIAN);//L是小端,B是大端
}

int main()
{
    checkdxd3();
    return 0;
}
linux下编译
gcc -o test test.c

运行
./test











猜你喜欢

转载自blog.csdn.net/gsls200808/article/details/79113864
今日推荐