固定基址-便于调试修改入口点程序使用x64dbg打开,可以看到程序基址为140000000程序的入口点为11023,那么在内存中,程序入口点=基址+偏移量=140000000+11023=140011023ctrl+G定位到140011023,然后找一个空白处,这里选择1400113B3,修改汇编代码为jmp 0x140011023 右键→补丁→修补文件,保存文件为project2.exe,然后将程序入口点修改为00113B3现在运行project2.exe,可以发现入口点已经到了140. 关于 PE 病毒编写的学习(八)——定位API的N种方法 关于 PE 病毒编写的学习(六)——关于 PE 文件结构操作的 程序 编写 关于 PE 病毒编写的学习(七)——重定位的谬误和它的正确写法 关于 PE 病毒编写的学习(三) 关于 PE 病毒编写的学习(四)——关于历遍磁盘的讨论 关于 PE 病毒编写的学习(五)——病毒如何做标记和记录信息 关于 PE 病毒编写的学习 大家好````我是JKS_Jia...今天给大家带来一个关于免杀的教程`` 修改 PE 头``` 大家可能有疑问了``那 修改 PE 头有什么用呢``?`..有很对时候杀毒软件定的特征码很变态, 定位特征在 PE 头上``我们如果用一般的特征码 修改 法, 修改 以后无法运行,应为 PE 无法识别他是一个可执行 程序 ...例子就像PCshare 修改 PE 头不仅有免杀效果``而且还有反调试的功效`` 就是 修改 后不能用OD载入了```那样就可以保证..我们的免杀技术不泄露了``好``在开始前 先来说句`` 甲壳虫技术小组 坚韧不拔 永不言弃 www.jksing.com -------------------------------- ------诚招技术伙伴加盟---------- 如果课程不明白的可以加此群交流``41415673 好了``费话不多说``我们开始`` 在这里我就用鸽子示范一下``虽然目前我还没知道哪个杀软会杀鸽子的 PE 的`` 所以免杀效果演示不了``在这主要是学方法..而不是生搬硬套!! 首先我们来了解一下什么是16进制和10进制```关与进制方面``转换就交给转换器```` 就像E0是16进制单位``转化成10进制就变成224了```所以了解一 就够了`` 首先我们打开 C32...还是选16进制模式`` 好```我们来看``这个 PE 头`` 顾名思义`` PE 头都是以 PE 开始的!!! 好了``大家又有疑问```怎么知道 PE 头大小呢``? 好``我们来看``` PE 下有个" ? "的符号``` PE 的大小就看他`` 怎么看呢``看16进制栏呢!!! 大家看见了吧``是E0..然后打开转化工具转化吧````前面转化好是224 然后我们从 PE 头部分一直拉``` 拉够224字节...看..下面有显示224字节的!!! 然后COPY(复制).. 我们可以把 PE header上移 我们向上拉一片区域```刚好224字节````我们粘贴``` 好了``现在我们看 PE 头多大```? 现在变成336了`` 好``我们转换一下```在16进制里是150 接下来我们修正``` 150 按照地位到高位的写法 应该这样写 50 01 好...大小修正完了``再把 PE 入口 修正```` 随便找的地方吧````就这里``` 看..现在的 入口 是00000090 我们就修正为 90 00 好``先用OD测试能不能载入```测试我们的反调试效果```` OK..不能载入````我们再测试上线``` OK...没问题```今天的教程就到这里```` 在此先请求黑吧给我个邀请码```资源共享..技术交流嘛````互相促进````呵呵``` 好..完工``我们下次再见``
前两节中介绍了通过远线程进行注入的方法。现在换一种方法—— 修改 进程 入口 。(转载请指明出处)         在 PE 文件中,其中有个字段标识 程序 入口 位置。我们通过这个字段,到达 程序 入口 PE 文件的结构我这儿不讨论(我会在之后写关于 PE 文件的介绍和研究),我只列出一些和 程序 入口 有关的数据结构 ty pe def struct _IMAGE_NT_HEADERS { 1.窗口、类名等常见 修改 ; 2.格式化字符串的漏洞[OutPutDebugString]补丁; 3.参考dyk158的ODbyDYK v1.10 ,自动配置UDD、PLUGIN为绝对路径; 4.参考nbw的"OD复制BUG分析和修正"一文,修正从内存区复制数据时,有时无法将所有的数据都复制到剪贴板的bug。 5.参考ohuangkeo“不被OD分析原因之一和修补方法”,稍改进了OD识别 PE 格式能力(可能仍报是非 PE 文件,但己可调试了)。 6.修正OllyScript.dll插件bpwm命令内存读写都中断的问题。 7.jingulong的Loaddll. exe ,可以方便让OllDbg中断在dll的 入口 。 8.感谢DarkBul告知SHIFT+F2条件窗口显示的bug及修复。 9.感谢dreaman修复Findlabel,Findname,Findnextname三个函数处理字符串会溢出的bug。 10.改善sprintf函数显示某些浮 数会崩溃的bug,这里的修复代码直接引用h eXe r的代码。 11.该 修改 版,配合HideOD插件,可以很好地隐藏OD。 12.新增实用的快捷键功能 13.修正Themida v1.9.x.x检测OllyICE的Anti,配合HideToolz即可调试Themida v1.9.x.x加壳 程序 。 14.LOCKLOSE添加了部分API和结构体信息。
PE 文件中显示的所有 地址 基本都是RVA,倘若想要换算成VA一般需要加上基 地址 ImageBase与文件偏移 地址 RVA。 虚拟 地址 (VA=virtual address):每个32位 PE 文件被加载到内存的时候都会被分配4GB的虚拟内存,虚拟 地址 等于“ 程序 的相对虚拟 地址 +基 地址 ”。 相对虚拟 地址 (RVA=relatively virtual address):相对虚拟 地址 是相比较于文件开头的地
因为,杀毒公司知道鸽子的一些特征玛,在内存里找有没有对应的特征玛。来识别对鸽子进行查杀。我们可以找出来它的特征玛来进行 修改 。使得杀毒工具无法判断这个软件。所以也就对我们的鸽子不报警了。 但是,得知道特征码是个很麻烦的事情。谁都讨厌去弄他们的特征玛。如果大家有兴趣。可以到网上搜索CCL判断特征玛的方法。来进行学习。为什么改特征玛很麻烦呢?是因为每个杀毒软件。对一个病毒的特征玛...