pkZine从v1.0到v2.1已经走过整整一年,没有大家的支持和督促,就没有今天这么功能丰富的pkZine,感谢各位的支持和厚爱,本人将继续努力开发更好更强的pkZine。

为纪念pkZine走过一周年,特地重新制作了全新的图标和外观,支持用户自定义颜色,提供丰富多彩的界面选择,您可以拥有与众不同的专属pkZine。优化搜素功能后的pkZine比想象中更强大,遇到无法识别的文件,可使用静态、动态搜索SWF功能,多线程提取SWF,高速、不卡死,全面替代传统SWF吸取软件。

为纪念pkZine走过一周年,特地重新制作了全新的图标和外观,支持用户自定义颜色,提供丰富多彩的界面选择,您可以拥有与众不同的专属pkZine。优化搜素功能后的pkZine比想象中更强大,遇到无法识别的文件,可使用静态、动态搜索SWF功能,多线程提取SWF,高速、不卡死,全面替代传统SWF吸取软件。
1.点击以下购买链接,进入中国共享软件注册中心填写订单页面:

2.填写订单中必要的内容,注册用户名、机器码(硬件编码)、联系邮箱等,并选择自己喜爱的付款方式后“确定”;


3.核对订单内容准确无误后“确认订单”,如需修改则返回上一页修改;

4.根据选择的付款方式不同,出现相应的点击付款按钮,点击该按钮进入支付网关,根据提示完成付款即可;

5.成功付款完毕后,中国共享软件注册中心会发送订单成交的通知邮件到您的联系邮箱,并通知作者发送注册码;
6.耐心等待作者处理订单,并在邮箱中收取注册码和最新版本的软件,一般处理订单时间在24小时内,如超过该时间仍未收到注册码,请到官网留言或给作者email。

2.填写订单中必要的内容,注册用户名、机器码(硬件编码)、联系邮箱等,并选择自己喜爱的付款方式后“确定”;


3.核对订单内容准确无误后“确认订单”,如需修改则返回上一页修改;

4.根据选择的付款方式不同,出现相应的点击付款按钮,点击该按钮进入支付网关,根据提示完成付款即可;

5.成功付款完毕后,中国共享软件注册中心会发送订单成交的通知邮件到您的联系邮箱,并通知作者发送注册码;
6.耐心等待作者处理订单,并在邮箱中收取注册码和最新版本的软件,一般处理订单时间在24小时内,如超过该时间仍未收到注册码,请到官网留言或给作者email。
浅析乱序代码的分析方法
关键字:乱序 分析 反汇编 InsideView
本文涉及的InsideView和相关文件下载:
下载文件
代码乱序的实现方式:
代码乱序是将一系列的代码序列分散打乱分布在PE映像中,中间穿插跳转指令以及不改变环境的垃圾代码,从而扰乱正常分析流程。一般的来讲,连接指令以无条件的跳转jmp、变形的短跳转call、对称的条件跳转指令([jz、jnz];[jc、jnc]…)等实现,前提是不改变其他环境以免破坏代码正常功能。当然,也可以先保存环境,再使用破坏环境的条件跳转或通过SEH跳转等方式,然后再恢复先前保存的环境,这种先保存再恢复的实现方式必然有成对的指令模版。归根结底,连接指令是不会改变其他环境的。
代码乱序的还原方法:
我们知道连接指令是不改变其他环境的,因此我们可以逐行分析代码,记录不改变环境的跳转,将分散乱序代码合并实现乱序的还原。代码乱序的还原方法可分为动态和静态两种,动态还原以OllyDbg为例,可利用调试器自身的反汇编引擎和脚本来实现,由于脚本和跟踪执行的效率问题,这种方式存在一定的局限性,比如动态分析时不方便比对。而静态还原首先需要一个反汇编引擎来分析指令,然后根据设定的过滤条件,将不会改变其他环境的连接跳转过滤,根据指令执行顺序,线性重排,这种方式实际上是半自动的条件反汇编。
乱序分析实例:
下面以本人测试某反汇编引擎的中间产物InsideView为例,实现代码乱序的分析还原。在InsideView中打开example.cv.exe,程序会从入口处显示默认反汇编结果,如图:
关键字:乱序 分析 反汇编 InsideView
本文涉及的InsideView和相关文件下载:
下载文件 代码乱序的实现方式:
代码乱序是将一系列的代码序列分散打乱分布在PE映像中,中间穿插跳转指令以及不改变环境的垃圾代码,从而扰乱正常分析流程。一般的来讲,连接指令以无条件的跳转jmp、变形的短跳转call、对称的条件跳转指令([jz、jnz];[jc、jnc]…)等实现,前提是不改变其他环境以免破坏代码正常功能。当然,也可以先保存环境,再使用破坏环境的条件跳转或通过SEH跳转等方式,然后再恢复先前保存的环境,这种先保存再恢复的实现方式必然有成对的指令模版。归根结底,连接指令是不会改变其他环境的。
代码乱序的还原方法:
我们知道连接指令是不改变其他环境的,因此我们可以逐行分析代码,记录不改变环境的跳转,将分散乱序代码合并实现乱序的还原。代码乱序的还原方法可分为动态和静态两种,动态还原以OllyDbg为例,可利用调试器自身的反汇编引擎和脚本来实现,由于脚本和跟踪执行的效率问题,这种方式存在一定的局限性,比如动态分析时不方便比对。而静态还原首先需要一个反汇编引擎来分析指令,然后根据设定的过滤条件,将不会改变其他环境的连接跳转过滤,根据指令执行顺序,线性重排,这种方式实际上是半自动的条件反汇编。
乱序分析实例:
下面以本人测试某反汇编引擎的中间产物InsideView为例,实现代码乱序的分析还原。在InsideView中打开example.cv.exe,程序会从入口处显示默认反汇编结果,如图:





