吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1437|回复: 12
收起左侧

[已解决] Python导入模块问题 目录是文件 如何做到的?

 关闭 [复制链接]
ffggddss 发表于 2020-5-23 19:16
本帖最后由 ffggddss 于 2020-5-31 11:38 编辑



问题已解决,这个python2.7 的dll是游戏公司自己修改后编译的,不是原生的dll,所以导入模块问题 其实都是他自己导入的,跟踪PyImport_ImportModule 分析导入过程,解决问题。


----------------------------------------------------------------------------------------------------一款游戏 ,用的是c++ 调用 Python2.7
他导入模块的时候 是从一个 data.fls 文件里导入   

1.png


把自己写的dll注入进游戏  查看了下  sys.path   
                 
PyRun_SimpleString("a=sys.path");
PyRun_SimpleString("for i in a : print i");        

输出了下目录 发现全是这个文件下的目录。。。。 这种是怎么个意思  如何办到这种效果。
怕违规 游戏名称就隐藏 用*** 代替了  


E:/*******/exe/../data/data.fls
E:/*******/exe/../data/data.fls/abtest
E:/*******/exe/../data/data.fls/advertise
E:/*******/exe/../data/data.fls/activity
E:/*******/exe/../data/data.fls/activity/adboard
E:/*******/exe/../data/data.fls/activity/annualwish2018
E:/*******/exe/../data/data.fls/activity/assassin
E:/*******/exe/../data/data.fls/activity/carnival2019
E:/*******/exe/../data/data.fls/activity/concert
E:/*******/exe/../data/data.fls/activity/dispelwar
E:/*******/exe/../data/data.fls/activity/dlgskin
E:/*******/exe/../data/data.fls/activity/doubleactivity
E:/*******/exe/../data/data.fls/activity/dragonboat
E:/*******/exe/../data/data.fls/activity/elevenactivity




发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xxoopp 发表于 2020-5-23 19:59
参数是0的话,再加上setpath, 我觉得是为了让python在搜索路径的时候,选择第一个搜索到的时候使用,这个有点像django里面在setting里面使用的sys.path.insert(0,xxxxxxxxxxxxxxxxxxxxxxxx)。
然后你这句话,‘这种是怎么实现的’,我不知道你的意思是什么,你的意思是python里面导入不是python的东西吗?如果是这个问题的话,那这个python里面是可以导入其他语言的,如C什么的,当中模块导入,比较典型的一个就是python里面导入c语言写的,然后就可以真正多线程执行
 楼主| ffggddss 发表于 2020-5-23 20:03
xxoopp 发表于 2020-5-23 19:59
参数是0的话,再加上setpath, 我觉得是为了让python在搜索路径的时候,选择第一个搜索到的时候使用,这个 ...

抱歉 可能没描述清楚  他设置的目录是一个文件data.fls 这段代码被nop掉后 就无法导入后续的init模块了  我自己c 里测试里下 却无法导入 init模块。。。
xxoopp 发表于 2020-5-23 20:29
ffggddss 发表于 2020-5-23 20:03
抱歉 可能没描述清楚  他设置的目录是一个文件data.fls 这段代码被nop掉后 就无法导入后续的init模块了   ...

额 不太熟悉C,你这个应该是c里面调用python吧,我个人感觉应该是可以的,你可以拿相关代码在谷歌上搜索下
凡凡之呗 发表于 2020-5-23 21:47
这个是自己定义的函数功能吧。之前见过易语言和python的混编。利用的是模块里的函数,模块未开源。1我也不知道原理。应该有自己的一套映射,然后生成.py文件后台执行什么的。
 楼主| ffggddss 发表于 2020-5-23 23:22
xxoopp 发表于 2020-5-23 20:29
额 不太熟悉C,你这个应该是c里面调用python吧,我个人感觉应该是可以的,你可以拿相关代码在 ...

我是从反汇编看的,动态模块调用的,跟到这里,函数大概功能就是这样了,合并字符串出来文件目录, 然后把那个文件设置成搜索目录,就开始导入模块了,如果没有设置这个文件做搜索目录,就导入不了后续模块,我从c里试了 确不能导入到任何模块。
 楼主| ffggddss 发表于 2020-5-23 23:24
凡凡之呗 发表于 2020-5-23 21:47
这个是自己定义的函数功能吧。之前见过易语言和python的混编。利用的是模块里的函数,模块未开源。1我也不 ...

在哪里看到的,名称啊,论坛名,模块名啊,给点提示,我找找看,这种我只知道windows有一种文件映射,可以把一个文件夹映射到另一个文件功能,这种难道也是从别的地方映射过来的?
wanwfy 发表于 2020-5-24 00:56
我查了一下这个是c++调用python的方法
凡凡之呗 发表于 2020-5-25 19:14
ffggddss 发表于 2020-5-23 23:24
在哪里看到的,名称啊,论坛名,模块名啊,给点提示,我找找看,这种我只知道windows有一种文件映射,可 ...

百度搜索易语言 python混编
 楼主| ffggddss 发表于 2020-5-27 17:07
xxoopp 发表于 2020-5-23 20:29
额 不太熟悉C,你这个应该是c里面调用python吧,我个人感觉应该是可以的,你可以拿相关代码在 ...

我修改了下帖子内容 这次问题描述 应该很清晰了。。 求看下 。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 16:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表