栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

记录一次C#/.NET以及VB p-code/native的逆向破解

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录一次C#/.NET以及VB p-code/native的逆向破解

记录一次C#/.NET以及VB p-code/native的逆向破解

玩了5份样本,2份dotnet的,2份native的和1份pcode的。

dotnet framework程序
  • dotnet的相对会简单,只需要使用dnspy工具打开目标程序,找到逻辑点后,点编辑函数,然后去掉校验逻辑。随后保存到程序集即可。

  • 遇到加了混淆以后对外显示原始方法名称,但是点进去以后发现所有方法全都是直接返回null的。

    • 通过[DotNet Id_1.0.0.3](https://pan.baidu.com/s/1K5tQuynpYTS83gydNopKcg?pwd=tmnl) 提取码:tmnl 查壳发现其是`maxtocode`混淆的

    • 这种可通过de4dot_.NET_Reactor_v6.x_Modded 提取码:csz9。这种脱壳以后不会有乱码,注意后续Reactor产品可能也会继续升级,对应的反混淆工具也需要相应跟着一起升级。

VB程序
  • VB Decompiler

    • 基础的伪代码获取工具,可能会提示“file is packed”即使文件没有被加过壳

  • VBRezQ

    • VB的窗体和虚拟指令获取,但是如果对象是pcode编译,则只能获取到方法名,获取不到内容

  • VBDec

    • 同样也是获取窗体和虚拟指令的,但是可能会报错导致获取不全而中断

  • WKTVBDebugger

    • 动态调试pcode编译,并且以虚拟指令的方式显示,通过修改BranchE(1C)/T(1D)来变更目标程序的逻辑

以上几个工具下载 提取码:123t

脱壳
  • 通常常用的壳如UPX、ASPack等,可以使用吾爱破解上面的工具箱里面的脱壳工具

  • 其他的一些比较难的如VMProtect等壳,可以是通过esp原理使用动调的方式手动去掉

    • 壳往往都是通过对外界表现出黑匣子效应,对程序本身表现出透明效应。所以壳会在程序初始化的时候将堆栈保存下来,在解密完成后恢复堆栈。故往往会有pushad这样的指令,此时只要监控该栈位置,以发现在popad的位置,该位置离程序真正的main函数或者入口函数会非常接近。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905618.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号