Articles of 模拟

仿真ZPL打印机

为了模拟我的Mac上的ZPL打印机,我通过互联网search了几天。 最后,我有一个解决scheme发布在这里,所以其他用户可以find它的帮助。 我想在这里发布我的解决scheme仿真Zebra打印机 但是,对于那些认为这个问题重复了另一个问题的人来说,“感谢”,这在我看来是完全错误的。 所以对我来说唯一的select是创build另一个问题和答案。

帮助:达到的最大客户数 – 分段错误

我想模拟许多关键的新闻事件。 我使用XTestFakeKeyEventfind了一个解决scheme,但是当我模拟超过210次时,我的程序引发了“达到最大客户端数量”的分段错误。 我不知道如何解决这个问题。 我的代码在这里: #include <X11/Xlib.h> #include <X11/keysym.h> #include <X11/extensions/XTest.h> #include <stdio.h> #define PRESS_UP 0 #define PRESS_DOWN 1 #define PRESS_LEFT 2 #define PRESS_RIGHT 3 #define PRESS_ENTER 4 #define PRESS_ESC 5 #define PRESS_HOME 6 Display *display; unsigned int keycode; int press(int key){ display = XOpenDisplay(NULL); if(key == PRESS_UP) keycode = XKeysymToKeycode(display, XK_Up); else if(key == PRESS_DOWN) […]

QEMU CPU仿真原理

在QEMU中,操作系统可以在软件仿真CPU上运行。 如何可以通过软件模拟CPU? 我想知道细节。 如果CPU被软件模拟,寄存器是否与主机系统内存一起被模拟? 说有ARM汇编代码 LDRB r0,[r1],#1 这怎么能在x86环境下模拟? 我的猜测是仿真软件保持r0(4byte),r1(4byte)的内存映射空间,然后更新相应内存位置的寄存器值…我错了吗? 我想要详细的解释… 先谢谢你

在Mac OS X下仿真Linux二进制文件

如何在Mac OS X下运行Linux二进制文件? 谷歌search我发现了几个模拟器,但没有一个在Mac上运行Linux二进制文件。 在Linux上运行Mac OS X有很多相关的东西,但这与我想要做的是相反的。 更新: 感谢所有的答案! 我完全了解MacPorts和Fink或任何其他的东西; 不,我不想要这些工具中的任何一个,而且我也不想要任何包pipe理者,所以我更愿意自己编写一些东西。 我也有Parallels,可以设置虚拟机和爵士乐… 我唯一想做的就是find一种方法来运行一个二进制文件,我没有源代码并且已经为Linux编译,但是我不想在Linux下运行它,但是在Mac OS X下。关于模拟器的问题。

如何在PHP中以特定用户的身份运行外部命令

我想到了suPHP,但那不是我所需要的。 它不符合我的目的是以不同的用户身份运行整个PHP脚本。 我只需要以不同的用户身份运行一个单独的linux命令行。 可能吗?

Fabrice Bellard的Javascript模拟器是如何工作的?

今天我有一个令人沮丧的时刻,当我看到JavaScript模拟器在JavaScript中: http : //bellard.org/jslinux/ 它编译C程序,有vi和emacs,支持所有shell命令等。 它是如何工作的?

如何通过非交互式login模拟获得提升权限(UAC)?

我有一个类库,保存系统范围的configuration数据在registry中(HKLM \ Software \ XXX)。 这个库被用于各种版本的Windows(XP,2003,7,2008 R2)中的各种应用程序(服务,窗体,Web应用程序,控制台应用程序)。 因此,应用程序的身份不一致,甚至可能不是本机pipe理员组的成员。 所以我创build了一个AD域pipe理员用户,并进行模拟以获得对registry的写入权限。 这在XP / 2003中完美工作,但在UAC系统(7 / 2008R2)中不能。 我的理解是,只有交互式login将令牌拆分,这意味着非交互式login(服务标识,应用程序池标识等)不会。 我找不到任何证实,但从这个假设工作,我所做的冒充应该工作。 我编写了一个包装类,使用本机LogonUser(networkinglogintypes,默认提供程序)和DuplicateTokenEx(模拟,主令牌),然后使用WindowsIdentity.Impersonate()进行模拟。 我得到一个对我的根键的引用: using (ECR.Impersonator imp = new ECR.Impersonator("XXX", "XXX", "XXX")) { _root = Registry.LocalMachine.CreateSubKey("SOFTWARE\\XXX", RegistryKeyPermissionCheck.ReadWriteSubTree); } 根据MSDN ,通过使用ReadWriteSubTree,这应该是安全检查完成的唯一时间。 我可以将值写入该键,创build子键(也使用ReadWriteSubTree)并将值写入这些子键,而不需要另外的安全检查。 所以我认为我只需要做一次昂贵的模仿 – 获得对我的根键的引用。 我可以写我的根键的值就好了: _root.SetValue("cachedDate", value.ToBinary(), RegistryValueKind.QWord); } 但是当我用ReadWriteSubTree创build/打开一个子键时: RegistryKey key = _root.CreateSubKey("XXX", RegistryKeyPermissionCheck.ReadWriteSubTree); 它炸弹与Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\XXX\XXX' […]

有什么区别:LoadUserProfile -vs- RegOpenCurrentUser

这两个API非常相似,但不清楚它们之间的区别是什么以及什么时候应该使用(除了LoadUserProfile被指定用于CreateProcessAsUser,我没有使用它,我仅仅是为了configurationHive访问)。 LoadUserProfile http://msdn.microsoft.com/en-us/library/bb762281(VS.85).aspx RegOpenCurrentUser http://msdn.microsoft.com/en-us/library/ms724894(VS.85).aspx 根据服务和registry文章: http : //msdn.microsoft.com/en-us/library/ms685145( VS.85) .aspx我们应该在模仿时使用RegOpenCurrentUser。 但是,如果用户configuration文件正在漫游,RegOpenCurrentUser应该做什么?应该加载吗? 据我可以从这些文档告诉,这两个API提供了线程模拟的用户的HKEY_CURRENT_USER句柄。 因此,他们都“加载”configuration单元,即将其locking为数据库文件,并为registryAPI提供处理。 LoadUserProfile似乎可以像用户login时那样加载用户configuration文件,而RegOpenCurrentUser不会 – 这是正确的吗? 这两个API如何挂载configuration单元有什么根本区别(如果有的话)? 如果发生了什么,会有什么影响和差异(如果有的话) 用户login或注销时,每个模拟手柄已被使用? 当每个匹配closures函数(RegCloseKey和UnloadUserProfile)被调用时,用户已经login了?

如何调用LogonUser()在启用了UAC的Windows服务中获取非限制完整令牌?

我在Windows Server 2012上运行WindowsService,它需要模拟一个域pipe理员用户(他也被添加到机器上的本地pipe理员组中)。 在系统上启用UAC,并使用LogonType为LOGON32_LOGON_INTERACTIVE的凭据调用LogonUser,似乎会返回受限令牌而不是完整令牌。 这导致我正在尝试做的pipe理任务失败。 在这种情况下调用LogonUser的正确方法是什么,以便返回完整的令牌而不是受限制的令牌? PS:我在这里遇到一个相关的问题如何通过非交互式login模拟获得提升权限(UAC)? 但它并不显示需要获取完整令牌的确切调用。

.Net类来控制远程机器上的服务?

是的,我可以谷歌,但我有点懒。 我需要远程控制另一台机器上的Windows服务。 ServiceController类让我这样做吗? 那里有什么限制? 我是否可以远程启动/停止/更改“运行”细节,即更改由于过期而导致的密码? 我将试图给在工作的用户一个ASP.Net网站仪表板来控制在他们自己的帐户下运行的本地机器上的多个服务(他们都是他们机器上的本地pipe理员)。 这与其他function集成在一起,所以我没有考虑创build一个可以在本地运行的可分发组件。 将使用Windows身份validation和模拟用户进行更改。 我可能遇到什么问题? 干杯