模块重载

0 环境

  • python 3.6

1 模块载入

1.1 载入方式
  • import xxx as xx
  • from xxx import yyy
1.2 载入机制
  • 无论采用哪种方式,python解释器只在第一次运行语句时执行所载入模块中的内容。
  • import 和 from 都可看做是赋值语句。
  • import 将整个模块对象赋值给一个变量名。
  • from将一个或多个变量名赋值给调用模块中的同名变量,使用from载入对象时,会先执行所在模块的所有代码,再在当前模块中创建载入对象的同名引用。

2 重载

由于模块只在第一次载入时才执行,因此后续对模块内容的改变并不会体现到当前载入的对象中。而在开发过程中,经常需要修改并调试所载入模块的内容,因此模块重载是必要的环节。

2.1 import重载

对通过import方式载入的模块其重载方式为:

# 载入模块
import somemodule as smod
from importlib import reload
# 重载
reload(smod) 
2.2 from重载

from语句的载入过程:

from smoemodule import somefun
#  等价于
import somemodule
somefun  = somemodule.somefun
del somemodule 

其重载不能通过reload()来实现,可以删除载入对象后,再重新载入。

# 载入方法
from smoemodule import somefun
# 删除,并重新载入
del somefun
from smoemodule import somefun
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我还是要解释下 SK 的作用: 比如我写了一个识图算法 识图之前我先要拿到窗口的图像 那么假如可以调用PrintWindow 但是我也可以调用SK的PrintWindow类似的函数达到系统函数的效果 SK的函数可以绕过所有Hook并且增加逆向分析的难度 但是 要知道 你关键的核心代码 功能代码 是识图算法的 !!! 算法  !!! 并不是 你在SK调用的PrintWindow类似的函数 另外我本身很早很早 long long ago 用易语言很少了 所以慢慢来爆料 因为很少用E SK目前最新的都是C++版本 支持x86和x64全系统 另外因为内核驱动原因SK有SK的内核版本SKD 论坛那个人发的CPP代码就是用了内核版本的SK的SKD 另外 WonderWall是一直准备重写的 但是没时间 关于变量的支持 完整的单步调试等等其实早已都是分析完了 没有太多时间动工 近期可能完全重新动工 C++完全重写 还要看时间 毕竟要活着 再提个事情 重要的是解决方法和思路 WW没开源之前 论坛已经有其他汇编插件 并且就是逆向的WW的方法 没见别人没代码 也不能搞出来对吧? 另外 关于模块反编译问题 在WW第一个版本发布的时候 3年前? 我给吴老大提过这个事情 他不信 = =那就算了呗 这个开源的是易语言的驱动 请不要拿去直接编译 里面代码 也有很多错误 和值得思考的地方 毕竟这里面很多东西 写的比较早了 这个易语言驱动源码是纯源码 主要支持win7 sp1和xp sp3 实现的功能有: 动态汇编类 重载内核 内核任意位置InlineHook的类 任何函数自动重定位 各种未导出函数的查找 内核调试结构KiDebugRoutine的欺骗和转向 IDT的枚举和恢复 GDT的枚举 IOTimer的枚举 使用 和 卸载 DCPTimer的枚举 内核InlineHook的扫描 (跟XUETR那个内核钩子扫描一样) 内核有效地址判断的实现 TP GPK HS NP等保护的处理 TP IO通信算法的逆向 各种Image Create回调的枚举和删除 等等... 还有好多 自己发现吧 其用到了一个LIB(MyDriverLib) 因为易语言异常处理太扯蛋 所以C++的封装而已 你不懂 我也没办法了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值