现在的位置: 首页 > 综合 > 正文

2012年9月14日部分反编译一个被混淆过的 .net 程序的笔记

2013年10月12日 ⁄ 综合 ⁄ 共 423字 ⁄ 字号 评论关闭

在前次反编译的基本上,昨晚花了几个小时的时间部分反编译一个被混淆过的 .net 程序。终于分析出了相关的代码,期间不停的访问MSDN网站现学现买。发现 .net 整个就是一开源软件,就算是混淆之后分析MSIL也仅仅是时间问题,比x86汇编简单了几个数量级。

相关 IL 代码

汇编格式 格式 说明
add 58 将两个数值相加,并返回一个新数值。
call methodDesc 28 < T > 调用由 methodDesc 描述的方法。
ldc.i4 20 将值 num 推送到堆栈上。
ldc.i4.1 17 将 1 推送到堆栈上。
ldloca.s index 12 < unsigned int8 > 将位于 index 处的局部变量的地址加载到计算堆栈上(短格式)。
nop 00 执行没有任何行为的操作。
ret 2A 从方法返回,可能返回一个值。
stloc.0 0A 将值从堆栈中弹出到局部变量 0 中。
stloc.s index 13 < unsigned int8 > 从堆栈中弹出值并将其存储在局部变量 index 中(短格式)。

其他技能

计算堆栈

抱歉!评论已关闭.