[分享]编译反汇编引擎lde64源代码 | 宜武汇-ag真人国际厅网站

问题找到了,出在includes/datas.asm中的
dq   f1_ 语句(所有的都是),这个编译后理论上是f1_的绝对地址,但obj文件中是f1_与这一句的相对偏移 – 4,是不是goasm的bug?

然后我改成dq  f1_ – $,结果编译后obj中此处为0,又是一个bug?
最后改成dd   f1_     – $,就对了
为了改成与官方的shellcode二进制完全一致,改成了以下代码:
dd   f1_     – $,        0……所有地方都得改

加个0是为了与dq的8个字节一致:

方法1:改datas.asm

dd f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f3_ – $, 0, f6_ – $, 0, f5_ – $, 0, f5_ – $, 0, f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f3_ – $, 0, f6_ – $, 0, f5_ – $, 0, esc_2byte  – $, 0

dd f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f3_ – $, 0, f6_ – $, 0, f5_ – $, 0, f5_ – $, 0, f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f1_ – $, 0, f3_ – $, 0, f6_ – $, 0, f5_ – $, 0, f5_     – $, 0

…………#

方法2:改lde64.asm和opcodes.asm

不改datas.asm,在lde64.asm和opcodes.asm的全部call rax前添加 add rax, 4,一共12个地方,目的是弥补dq  f1_少的那4个字节

       

最后于 2023-6-24 18:40 被glopen编辑 ,原因:

原文链接:https://bbs.kanxue.com/thread-277292.htm

网络摘文,本文作者:15h,如若转载,请注明出处:https://www.15cov.cn/2023/08/27/分享编译反汇编引擎lde64源代码/

发表评论

邮箱地址不会被公开。 必填项已用*标注

网站地图