Sketchup 反汇编 代码注入和钩子
系列文章
Sketchup作为最流行的建筑设计软件(非工程制图软件),深受设计师的喜爱,软件小巧,而功能强大,有不少插件应运而生,但是关于底层数据结构和工作原理相关的文章少之又少,本文意在填补一下这方面的空缺,通过逆向软件分析,展示软件内部奥秘。本文用到的工具:IDA Pro,Immunity Debugger,Visual Studio (逆向工程三件套)
一、破解Sketchup模型数据结构
破解 Sketchup 模型文件 逆向分析.skp文件数据结构
二、OpenGL渲染模型
Python+OpenGL绘制3D模型(一)Python 和 PyQt环境搭建
Python+OpenGL绘制3D模型(二)程序框架
三、开发仿Sketchup的软件
疫情期间关在家里实在没事干,破解了Sketchup,成功做出可以读取并显示.skp文件的程序SuViewer
一、前言
破解了软件的部份函数和数据结构,想要对程序做一些修改,这就用到代码注入和钩子的技术,通过修改原exe文件,加入一小段代码,加入的这段代码,就叫做代码注入,这个代码可以很小,在原exe中找到一块空闲的空间,放进入就可以,然后在程序初始化阶段,调用这段注入的代码
注入的这段代码,要干2件事:
1、载入自己的DLL
载入一个dll文件,dll中是自己编写的代码
2、放置钩子
在原exe中需要放置钩子的地方(一般是调用某个函数),替换成自己dll中函数的入口,运行过程中再调用原函数
这样就完成了对原exe的篡改,可以实战一些想通过正常插件开发无法做到的事情,比如外挂,还可以在逆向工程后期的辅助分析,有很大作用
二、用分析出的数据结构开发新的软件
有了核心数据结构,用 Python + OpenGL + C++ 开发一个功能相近的软件SuViewer,目前没有编辑功能,后面如果再进一步分析,开发出功能类似的软件功能,可以完全替代Sketchup
反汇编Sketchup后做的小软件SuViewer1.0
五、总结
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!