我正在尝试生成PE格式的可执行文件;我正处于dumpbin满意的阶段,据我所知,这与与Microsoft链接器链接的空程序没有本质区别,但Windows仍然拒绝它:PEfile-what'smissing?如果我有一些生成有效PE文件的算法,也许我可以从那里爬山。到目前为止,这是我发现的内容:有大量文档、示例代码和工具可用于阅读PE文件,而不是从头开始生成它们。PEBliss在其功能中列出了生成,但不会编译。用于生成PE文件的示例汇编语言模板专注于最小化大小。看起来最有前途的生成一个Windows拒绝的文件,尽管据我所知它应该被接受;具有讽刺意味的是,我发现确实有效的那个生成了一个Wi
这是我的C++代码:#include#includeusingnamespacestd;voidfunc1(){staticint_count=0;if(_count现在,我需要删除asminline。它被加载到Ollydbg中,这是asminline的位置:我将填写在图像中用NOP标记的两条指令。行。我知道该怎么做。然后,我用一个新名称保存了它。但是当我将我编辑的程序加载到Ollydbg中时。我编辑的地方添加了新指令。并且新指令使程序崩溃。好的,如果我的问题足够清楚,我需要知道:该指令是如何自动添加的?我该如何解决?谢谢。更新1:下面是我修改程序的方法但是..我不知道为什么?
我们的组织正在从DataStage9.1升级到11.3。问题:DataStage11.3AssemblyEditor无法显示,并出现错误。后端操作系统:红帽企业Linux服务器6.6版(圣地亚哥)Linux2.6.32-504.3.3.el6.x86_64#1SMPFriDec1216:05:43EST2014x86_64x86_64x86_64GNU/Linux客户端操作系统:Windows7Professional64位(好吧,这是在Mac上运行的训练营Windows)。Flash播放器16ActiveX(最新版本)。我们向IBM提出了一个问题,他们说这是一个flash播放器问题,
我想用汇编语言创建一个延迟几秒钟的小程序。我使用的是WindowsXPSP3,打开DOS窗口,然后运行debug.exe我在那里输入了这个简短的汇编程序:MOVCX,3DMOVDX,0900MOVAH,86INT15中断15h中的功能86h,执行延迟,延迟的持续时间以CX、DX为单位,以微秒为单位。所以如果我想延迟4秒,那么它是4,000,000microseconds=3D0900h,这就是我在CX,DX中输入的内容。运行这个短程序,不幸的是没有执行任何延迟,它立即退出。然后我尝试了另一个中断函数:函数号0,在中断1Ah中,将PC的时钟计数返回到CX,DX。每个刻度为1/18.2
我试图逐个字符地打印一个字符串,遍历它。这是我得到的:.MODELSMALL.STACK64.DATAstringDB'Something',0lenequ$-string.CODExorbx,bxmovsi,offsetstringChar:moval,byte[si+bx]incbxcmpbx,lenjeFinmovah,2movdl,alint21hjmpCharFin:movax,4c00hint21hEND我不知道我是否获得了正确的字符串内存引用,因为它只显示了奇怪的符号。我尝试将30添加到dl,认为这是因为ascii表示。如何逐个打印一个字符?
我学习了汇编语言编码。现在我想通过在WindowsXP命令提示符下运行来检查它。我已经输入调试命令并成功编写了汇编语言代码。我遇到的问题是如何执行我在上面写的命令?任何key、语句或其他?在这种情况下请帮助我。我星期天有考试。问候。 最佳答案 我想展示如何重定向一些汇编助记符和调试命令,以便在批处理文件和一些管道(>必须将以下示例复制并粘贴到新的文本文件中。文本文件必须重命名为“bat”文件扩展名:示例:“Hello.bat”@echooffechoacs:100>tmp.debechomovdx,108>>tmp.debech
我最近在Windows10笔记本电脑上用visualstudio2017编写了我的汇编程序。我现在希望更改此代码,将从用户获得的值放入注册表eax、ebx、ecx和edx\我已经让程序使用默认的硬编码值,但我很难在网络上找到任何东西来帮助我获得用户输入。该任务指定我必须使用程序集询问用户.586;EnablesassemblyonnonPriiligedintructionsfortheprntiumprocessor.modelflat,c;model=Initialisestheprogrammemorymode,flat=Identifiesthesizeofcodeanddat
应用程序list和程序集list有什么区别?分别用在什么地方?在.dll或.exe资源中找到两者中的哪一个?(或者两者都可以?)。抱歉,如果一次有太多问题,但如果有人能向我解释一下,那将非常有帮助。我问这个的原因是我希望能够从PE文件中嵌入的list中提取信息。我找到了list的这些描述,但有两个,我不确定要遵循哪一个:ApplicationmanifestdescriptionAssemblymanifestdescription编辑:不,我不想使用任何API调用。我自己写的。 最佳答案 简而言之,两者是完全不同的概念,不幸的是名
我在使用Windows的Virtualprotect()api时遇到问题。我从学校得到了一个作业,我的老师告诉我们,在过去内存力稀缺且成本高昂的时候。程序员必须创建可以动态修改自身以节省内存的高级算法。好了,我们现在必须编写这样一个算法,它不一定是有效的,但它必须self修改。所以我开始这样做,而且我认为在寻求任何帮助之前我已经做得很好了。我的程序是这样运行的:我有一个函数和一个带有内置堆栈溢出的循环。堆栈溢出了在循环期间构造的代码所在的内存位置的地址。控制被传递给内存中的代码。代码加载一个dll然后退出,但在退出之前它必须修复循环。这是我们分配的条件之一,必须恢复原始循环中更改的所有
此应用程序是hackthissite.org网站上的第一个应用程序挑战。思路就是找连载。当您输入序列号并按确定时,它会弹出一个消息框,其中包含用于挑战的密码(如果正确),或者一条消息说序列号错误。要解决这个问题,您应该在0x1670FE的二进制文件中找到明文形式的密码。我试图找到IDAPro,其中将您输入的字符串与二进制文件中的序列进行比较。我希望能够找到它的比较位置,能够更改跳转以允许它接受任何错误的密码,或者更改它以接受任何密码。我好像做不到。我找到了显示消息框的位置(通过搜索Messagebox并添加断点),它将“抱歉”或“更正”字符串的地址推送到堆栈。我已经尝试在这些字符串的地