首页
社区
课程
招聘
可以把其他exe程序代码片段加载到我的程序内存中吗?
发表于: 2016-12-20 16:33 4163

可以把其他exe程序代码片段加载到我的程序内存中吗?

2016-12-20 16:33
4163
我逆向了一个封包加密过程,准备写成脱机程序.加密过程用IDA一看,里面嵌套了太多函数,代码功底又不好,改伪c代码,老是报错.
     他的exe文件不大,我想着能不能把他的exe整个,或者部分加载到我的程序内存中,我就可以直接jmp到他的加密过程执行,直接拿到结果jmp回就好了.
      这想法是不是很天真,但是感觉这样要是行的话,以后所有的类似程序似乎都可以这样干,是不.完全不用看头大的伪c代码了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
exe一般没有重定位表, 所以你动态加载进来涉及需要重定位的地方会出错, 除非你能把exe加载到他指定的内存位置(基址)或者手动进行无表重定位。
2016-12-20 16:40
0
雪    币: 291
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
错误的问题先不管,意思是可以加载进来咯!可以略微说下怎么加载不?用LoadLibrary是不行的
2016-12-20 16:54
0
雪    币: 291
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
错误的问题先不管,意思是可以加载进来咯!可以略微说下怎么加载不?用LoadLibrary是不行的
2016-12-20 16:55
0
雪    币: 729
活跃值: (1195)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
不需要加载到自己的内存,只要让那EXE跑起来,然后直接CALL那加密函数,把结果拦下来,一切OK。
2016-12-20 16:55
0
雪    币: 291
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
跑起来就不是脱机挂了啊,他会运行很多七七八八的东西.
2016-12-20 16:57
0
雪    币: 34
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
LoadLibraryEx,用这个函数加载exe,第3个参数设置成DONT_RESOLVE_DLL_REFERENCES。
2016-12-20 17:59
0
雪    币: 144
活跃值: (31)
能力值: ( LV8,RANK:140 )
在线值:
发帖
回帖
粉丝
8
目标程序当宿主,把自己的程序写成带重定位的exe,宿主启动的时候直接load自己此时程序流程已转向自己。也能保证目标程序的代码位置。
2016-12-20 22:26
0
雪    币: 291
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个也行,反正无论a加载b,还是b加载a,最后总会融在一起
2016-12-21 14:33
0
游客
登录 | 注册 方可回帖
返回
//