com逆向方法找函数

本文介绍了COM组件的逆向过程,重点是DLL中的DllGetClassObject函数。通过汇编代码分析,找到类工厂的创建、初始化,以及如何通过QueryInterface、AddRef和Release调用来获取接口指针。在CreateInstance函数中,可以找到类对象的实例化和接口方法的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里以com写的dll为例,介绍一下com的逆向过程.假设我们的dll实现了两个接口Iinterface1Iinterface2,其中Iinterface1有5个方法;Iinterface2有一个方法.

前提知识:(熟悉com结构的话,可以跳过这一部分)

1,com的实质是接口与接口的实现分离.一个com组件可以实现多个接口,每一个接口包含有多个方法.(方法就是函数).

2,com从整体上看,分为com客户端,com,com组件(也就是服务器)

3com从实现上看包含有接口,类(即接口的实现),类工厂(作用是创建类对象),和几个

在WPS中,VLOOKUP函数可以用于进行正向匹配,即从左到右查匹配项。如果需要进行逆向匹配,即从右到左查匹配项,则可以使用INDEX和MATCH函数的组合。 具体步骤如下: 1. 在一个表格中,假设需要查“匹配值”所在的行数,可以在该表格的第一列使用MATCH函数进行查。如下图所示: ![step1](https://cdn.luogu.com.cn/upload/image_hosting/ed8r8j3v.png) 其中,MATCH函数的语法如下: ``` MATCH(lookup_value, lookup_array, match_type) ``` lookup_value:需要查的值。 lookup_array:需要进行查的数组。 match_type:匹配类型,0为精确匹配,1为查比lookup_value小的最大值,-1为查比lookup_value大的最小值。 在该例子中,需要查的值为“匹配值”,需要进行查的数组为“B2:B6”,匹配类型为精确匹配,因此公式为: ``` MATCH("匹配值", B2:B6, 0) ``` 该公式将返回匹配值所在的行数,即3。 2. 在该表格中,假设需要查“匹配值”所在的列数,可以使用INDEX函数和MATCH函数的组合进行查。如下图所示: ![step2](https://cdn.luogu.com.cn/upload/image_hosting/5xq7pv3g.png) 其中,INDEX函数的语法如下: ``` INDEX(array, row_num, [column_num]) ``` array:需要进行查的数组。 row_num:需要查的行数。 column_num:需要查的列数。 在该例子中,需要进行查的数组为“B1:F1”,需要查的行数为1,需要查的列数为MATCH函数返回的值,即3,因此公式为: ``` INDEX(B1:F1, 1, MATCH("匹配值", B2:B6, 0)) ``` 该公式将返回匹配值所在的列数,即D列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值