C++
文章平均质量分 66
无情时尚
这个作者很懒,什么都没留下…
展开
-
微信逆向:文本消息发送
第二篇,分析文本消息发送call,并自己写代码调用实现发文本消息。转载 2024-07-03 15:57:23 · 237 阅读 · 0 评论 -
微信逆向:hook 强制输出调试信息
所以这里的思路是,直接hook log_message函数,执行log_message函数,拿到返回值,复制走返回值的字符串,然后OutputDebugStringA打印调试信息。这里log_message函数的类型是void,无返回值,但实际返回的时候,rax的值是Src指针,其实是返回了东西的,这个Src指针指向局部变量,很快就会被覆盖。对于大型软件来说,由于其庞大复杂的功能,为了开发人员更好的定位 bug,会输出调试信息辅助调试,对于逆向来说,有调试信息也会有助于更好的定位功能点。转载 2024-07-03 15:56:05 · 192 阅读 · 0 评论 -
DLL劫持三:inline hook JMP实例 (UDP recvfrom)
核心代码从网上找的,但原始函数调用一直有问,经过分析 整理并测试成功。以上代码在进程内调用有效,也支持进程内DLL方式,实际调用时使用代码。就可以了,DLL的话在DllMain中直接加载。转载 2024-07-03 10:56:09 · 20 阅读 · 0 评论 -
DLL劫持及调用数据跟踪二: 利用 MS 的Detours
这个办法不用写代码,并且效果还不错,找到 PE-DIY Tools 工具,利用Add Import Functions(往PE文件中添加需要的输入函数)这个功能,增加Hook DLL的文件名和接口,注意为了能Hook DLL必须有一个导出的接口,本例使用了hook_usb这个函数。我这里想使用简单的办法,给要调用原DLL的文件增加Import表,也就是修改调用程序,让他加载原DLL的同时了加载新的Hook DLL.以上代码中新的DLL首先劫持旧的DLL的地址,然后做日志记录,最后调用旧的DLL返回结果。转载 2024-07-03 10:55:05 · 32 阅读 · 0 评论 -
DLL劫持及调用数据跟踪一: 冒名顶替
参数类型的分析:通过猜测与IDA以及动态调试的方式,对大部分简单的数据类型很容易分析出来。本列中调用时由于__stdcall和__cdecl的不同,作了调整,测试成功以后,就可以在新的dll中调用原来的dll,以达到功能不变,只跟踪日志的目的,当然也可以修改代码的逻辑。如果需要分析某一个DLL的调用过程和出入口参数,可以通过文件替换的方式,利用新的DLL调用原来的DLL来实现。接口参数的跟踪与分析,这个通过IDA直接分析出来,入口参数的个数类似于arg_0,这样的形式。转载 2024-07-03 10:53:39 · 31 阅读 · 0 评论