|
本帖最后由 Qokelate 于 2013-4-23 13:48 编辑
1. 先说说反编译吧,常见方式就两个, A.直接从EXE尾部读取附加数据区段(其实就是A3X)文件,而且残酷的事实是,无论你使用哪种壳,附加的数据总是原封不动的添加在EXE尾部的,
因此加壳对这类反编工具来说几乎不存在影响, 剩下的工作当然就是A3X还原为Au3了,如果了解过A3X的转换,这当然不是什么难事~~~~
B.通过虚拟机方式把程序运行起来,并在关键地方分析,通过特征(?对这方面不怎么了解)把代码还原出来?
*: 很多时候两种方法都会使用,再加上官方对防反压根就没更新过,所以,选择了Au3你就蛋定吧~~~~~
2.再说说防反编,基于上面两个思路,个人认为有几个可能可行的思路
A.通过 "加载器的方式" 把严重迷惑的"加载器"代码作为首先启动代码,然后把 目标代码通过特殊加密手段添加在EXE某个位置,加载器的作用就找到这个目标代码并执行
过程如下 A.exe= AutoIt.exe+ Loader.a3x +Core.a3x
运行时候 Loader.a3x 首先被执行,然后再转换查找到Core.a3x 并执行 (经测试,可以有一定效果,产生新的问题是Au3运行A3X的函数已N年不更新,3.3.9.4更是无法运行! 唉放弃吧,童鞋!)
B.在A的基础上,修改AutoIt.exe本身的加载入口,使得AutoIt.exe直接就是运行后面的A3x,这样就可以使反编方法A得不到正确的代码,达到目的
C.修改Au3内部的函数名,结合迷惑的使用,也许可以一定程度上玩弄一下对手,当然被反只是时间问题~~~ 再次放弃吧,童鞋
PS:要使代码不被还原,必须兼顾两个编译方式,很蛋疼嘛~~~~~
<--- 以下区域啥都没有 --->
<--- 以上区域啥都没有 ---> |
|