Sketchup 逆向工程(六)逆向工程的乐趣,钩子,代码注入

系列文章

一、逆向工程
Sketchup 逆向工程(一)逆向分析.skp文件数据结构
Sketchup 逆向工程(二)三维模型数据结构
Sketchup 逆向工程(三)软件逆向工程从何处入手
Sketchup 逆向工程(四)分析结果的利用 钩子 外挂 代码注入

二、OpenGL渲染模型
Python+OpenGL绘制3D模型(一)Python 和 PyQt环境搭建
Python+OpenGL绘制3D模型(二)程序框架PyQt5
Python+OpenGL绘制3D模型(三)程序框架PyQt6
Python+OpenGL绘制3D模型(四)绘制线段
Python+OpenGL绘制3D模型(五)绘制三角面

三、成果
疫情期间关在家里实在没事干,破解了Sketchup,成功做出可以读取并显示.skp文件的程序SuViewer

前言

Sketchup作为目前设计院最为流行的设计软件(非工程制图软件),深受设计师的喜爱,软件小巧,而功能强大,有不少为之开发的插件应运而生,不过呢,关于底层数据结构和工作原理相关的文章少之又少,本文意在填补一下这方面的空缺,通过逆向软件分析,展示软件内部奥秘。本文用到的工具:IDA Pro,Immunity Debugger,Visual Studio (逆向工程三件套)提示:数据结构属于机密数据:


在这里插入图片描述

系列文章

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

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

五、总结

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

  • 46
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值