Sketchup 反汇编 代码注入和钩子

发布时间:2023年12月25日

在这里插入图片描述

系列文章

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_42377388/article/details/135095689
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。