文档库 最新最全的文档下载
当前位置:文档库 › 如何加花指令

如何加花指令

如何加花指令
如何加花指令

花指令

相信做过免杀的朋友都知道花指令吧。加花指令是一种不错的文件免杀方法,而网上公布的花指令和花指令添加器因为里边的花指令被公布了,所以免杀效果不好。有点汇编基础的人就写自己的花指令,但写花指令的过程比较烦,所以我萌生了写一个花指令生成器的想法,首创哦^_^

一、写花指令生成器必备知识

1、花指令原理

花指令是程序中的无用代码,程序多它没影响,少了它也能正常运行。加花指令后,杀毒软件对木马静态反汇编时,木马的代码就不会正常显示出来,加大杀毒软件的查杀难度。

2、如何写花指令

下面我们先看看一段花指令,分析理解它的原理:

PUSH EBP

MOV EBP,ESP

push edx

pop edx

inc ecx

dec ecx

add esp,21

add esp,-21

add esp,10

sub esp,10

JMP 附近空地址随便乱跳

JMP 原入口点

花指令一般有三部分,开头就是PUSH EBP和MOV EBP,ESP这两句在大部分程序开头可以经常看到。PUSH EBP 是把EBP压入堆栈,MOV EBP,ESP是把ESP的值赋给EBP,不懂没关系,只要知道PUSH EBP和MOV EBP,ESP 这两句经常出现在文件开头就可以了,随便用OllyDbg打开一个不加壳的文件载入后经常停在PUSH EBP MOV EBP, ESP。

接下来就是花指令啦,push edx是把通用寄存器EDX压入堆栈,pop edx是把通用寄存器EDX弹出堆栈,这两句和起来就相当于什么也没做。接下来的inc ecx,ecx用来保存计数值,也是寄存器,INC是加1;下面的dec ecx中的dec是减1,加1减1相抵消,又是什么也没做。add esp,21这是寄存器esp加21,add是加上,下面一句ad d esp,-21是寄存器esp加-21,小学知识,+21+(-21)=0,还是什么也没做。再下来add esp,10寄存器es p加21,sub esp,10寄存器esp减10,sub是减去。一个+10,一个-10相互抵消了。

最后是跳转语句,我用两句JMP,第一句在花指令附近随便跳到个空地址,第二个JMP是从空地址跳回文件的原入口点。

3、如何写入花指令

我们来看看加花指令的一般步骤:

1、准备好要加的花指令;

2、准备未加壳的黑客软件;

3、用OllyDbg打开这个黑客软件,记下入口点的内存地址;

4、找到零地址,一句一句写入花指令,再用JMP跳回程序入口点;(如果找不到空白地址,我们可以用zeroadd加区段,E文软件,我汉化好的,操作简单就不演示了。)

5、保存后用Peditor修改文件入口点为开始写花指令的地址。这样运行程序就先运行花指令再跳回程序的原始开头执行程序了;

6、检测程序是否正常运行和免杀效果。

一般步骤就是这样了,不演示了,大家看看06年第9期主题乐园,里面有详细的例子。

二、开始写花指令生成器

1、花指令生成器的编写思路

了解了花指令的一些知识后我们来考虑下编写的思路。我们使用perl来编写这个花指令生成器,先看看我画的流程图:(见图1)

我们需要定义两个数组,一个是花指令数组,一个跳转语句数组,用for循环和rand函数来实现对数组的循环随机读取,我们还需要一个变量来控制循环次数。程序工作原理是对两个数组的随机读取达到生成花指令的目的。

2、代码编写和分析

#!/usr/bin/perl

if($#ARGV<0){

print" \nUsage: \n\n liyx_HZJ.exe <一个大于1的数字以确定花指令的长度>\n \nmade by liyx \nCopyrig ht [w Group] 2006\n";

exit(1);

}#使用帮助。

$N=$ARGV[0];#获的参数,赋值给$N。

if($N<1){

print" \n 错误,请输入大于1的数字,以确定花指令的长度。\n \nmade liyx \nCopyright [w Group] 2006\n";

exit(1);

}#出错提示。

程序的第一行注明了这是个perl程序,注释是从符号“#”开始到该行结束。“!”表示perl程序中的第一个注释具有特殊含义。

接下来的if($#ARGV<0)是判断有无命令行输入的参数,perl的存储命令行参数是@ARGV数组,在perl中,程序运行时自动取得程序名后和回车键之前的所有项目并根据结果生成数组@ARGV,$ARGV[0]是第一个参数。当无输入参数(即$#ARGV<0),用print输出使用帮助。有则$N=$ARGV[0],把输入参数赋值给$N变量。接着再判断$N的大小,$N必须大于1。($N在这个程序中用来控制花指令的长短)$N小于1时,一样打印出错误提示。(如图2)

$H1="push edx\npop edx\n";

$H2="push eax\npop eax\n";

$H3="inc ecx\ndec ecx\n";

$H4="add esp,10\nsub esp,10\n";

$H5="add esp,21\nadd esp,-21\n";

$H6="nop\nnop\n";

@H=(

$H1,

$H2,

$H3,

$H4,

$H5,

$H6,

);#花指令的数组。

这里定义一个数组@H用来存储花指令语句,perl中的数组可以包含变量,表达式,任何数值,引用和字符串,还可以是数组当然也可以为空。语法是:

@list=(

1,

2,

3,

);

(分行是为了看得更清楚,如无必有可以改为单行显示)为了更容易看,我先将每对指令赋值给变量,再将变量放入数组中。

print "\nPUSH EBP\nMOV EBP,ESP\n";

这句是打印出花指令的开头两句PUSH EBP和MOV EBP,ESP,和C一样\n是换行。

for($i=1; $i<=$N; $i++)

{

$rand1 = int rand(@H);

print @H[$rand1];

}#循环打印出随机生成的花指令。

先讲讲这里需要用到的知识,for循环语句和rand函数,for循环几乎所有编程语言都有,我们看看语法:

for(变量初始值;循环条件;条件改变)

{

循环体

}

运行过程是先给变量赋值,再判断是否符合循环条件,符合时执行循环体,再处理初始变量,之后判断是否符合循环条件,符合时执行循环体,直到不符合循环条件跳出循环。

这里还用到的是rand函数。

函数名rand

调用语法retval = rand (num);

解说随机数函数,返回0和整数num之间的一个浮点数。

运行过程是先给$i赋值1,再比较$i是否小于等于$N,是的话执行循环体,就是用rand函数读取@H数组,赋值给$r and1,再用print打印出来。执行一遍后$i++,就是$i=$i+1,$i的值增加1,再比较$i是否小于等于$N,是的话再继续执行循环体,直到$i大于$N为止。

$J1="JMP 附近空地址随便乱跳\nJMP 跳回入口点\n";

$J2="je 跳回入口点\njne 跳回入口点\n";

$J3="jz 跳回入口点\njnz 跳回入口点\n";

$J4="jb 跳回入口点\njge 跳回入口点\n";

$J5="jl 跳回入口点\njge 跳回入口点\n";

$J6="ja 跳回入口点\njle 跳回入口点\n";

$J7="jg 跳回入口点\njle 跳回入口点\n";

@J=(

$J1,

$J2,

$J3,

$J4,

$J5,

$J6,

$J7,

);#跳转指令数组。

这里就是跳转语句的数组了,跳转语句在花指令中的作用是程序执行完花指令再跳回文件的原始入口点执行程序,一般用的是JMP 无条件转移指令,我们把je 等于时转移和jne 不等于时转移结合起来就成了JMP了,以此类推jb 若小于则跳和jge 大于或等于转移,ja 若大于则跳和jle 若小于等于则跳等结合都成JMP,这样我们有很多不同组合,可以加大杀毒软件对木马查杀难度。(我找了免杀的汇编知识资料,大家可以看看里面的跳转指令部分)

$rand2 = int rand(@J);

print @J[$rand2]; #随机生成跳转指令并打印出来。

最后还是用rand函数读取跳转数组,这里只需读取一次,并打印出来。

3、测试工具

代码写好了,是不是很简单啊,功能可不一般哦,看看效果吧。(如图3)怎样,不错吧,这样就可以拥有N多免杀花指令了,呵呵~~

黑客术语大全

黑客术语大全 1,肉鸡:所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务器,我们可以象操作自己的电脑那样来操作它们,而不被对方所发觉。 2,木马:就是那些表面上伪装成了正常的程序,但是当这些被程序运行时,就会获取系统的整个控制权限。有很多黑客就是热中与使用木马程序来控制别人的电脑,比如灰鸽子,黑洞,PcShare等等。 3,网页木马:表面上伪装成普通的网页文件或是将而已的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。 4,挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。 5,后门:这是一种形象的比喻,**者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是**者却可以使用相应的程序或者方法来轻易的与这台电脑建立连接,重新控制这台电脑,就好象是**者偷偷的配了一把主人房间的要是,可以随时进出而不被主人发现一样。 通常大多数的特洛伊木马(Trojan Horse)程序都可以被**者用语制作后门(BackDoor)6,rootkit:rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过,对方系统内存在的安全漏洞获得系统的root权限。然后,攻击者就会在对方的系统中安装rootkit,以达到自己长久控制对方的目的,rootkit与我们前边提到的木马和后门很类似,但远比它们要隐蔽,黑客守卫者就是很典型的rootkit,还有国内的ntroorkit等都是不错的rootkit工具。 9,IPC$:是共享“命名管道”的资源,它是为了让进程间通信而开放的饿命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。 10.弱口令:指那些强度不够,容易被猜解的,类似123,abc这样的口令(密码) 11.默认共享:默认共享是WINDOWS2000/XP/2003系统开启共享服务时自动开启所有硬 盘的共享,因为加了"$"符号,所以看不到共享的托手图表,也成为隐藏共享。 12.shell:指的是一种命令指行环境,比如我们按下键盘上的“开始键+R”时出现“运行”对 话框,在里面输入“cmd”会出现一个用于执行命令的黑窗口,这个就是WINDOWS的Shell 执行环境。通常我们使用远程溢出程序成功溢出远程电脑后得到的那个用于执行系统命令的环境就是对方的shell 13.WebShell:WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执 行环境,也可以将其称做是一种网页后门。黑客在**了一个网站后,通常会将这些asp 或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,好后就可以使用浏览器来访问这些asp 或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。可以上传下载文件,查看数据库,执行任意程序命令等。国内常用的WebShell 有海阳ASP木马,Phpspy,c99shell等 14.溢出:确切的讲,应该是“缓冲区溢出”。简单的解释就是程序对接受的输入数据没有

超全面的免杀技术经验总结

超全面的免杀技术经验总结 免杀技术经验总结(感觉经典) 学习免杀,首先你得学会汇编把,基础的指令要懂得一些,一般的指令修改必须会,一般的修改这里就不赘述了,接下来就是掌握一些常用的免杀技巧,这里总结一些 第一:我们学习免杀的方向:只是为了保护自己的黑软的话!就不会学的那么累(没必去学汇编编程)有时候简单加下壳或者脱下壳就OK!如果是要挑战世界的杀毒软件的话,毕竟每个PC用户安装的杀 软都不一样!想抓鸡拿服务器的朋友就要进修脱壳破解,高级汇编的内容了,这将决定你免杀技术的高低!第二:免杀的环境:做免杀,逃不了测试这个木马是不是修改成功!所以为了保护自己的系统 ,我建议学免杀要先学会使用虚拟机,很多人会说,为什么不用影子?影子系统虽然也是可以保护的,暂用资源又少,但是有些反弹型木马,我们运行后如果失败(即使成功)都需要重启来完成完全清 除的工作!做过QQ盗号木马跟黑鹰远控软件免杀的朋友应该深有体会! 第三:杀软的安装设置:个人建议安装卡巴,NOD32,小红伞,瑞星,金山!(当然配置好的电脑可以再加上江民,麦咖啡)!硬盘大的朋友建议全利用虚拟机安装杀软(方便以后重做系统,节省升级病 毒库的时间)杀软的设置,可以说是很简单的!每安装完一个杀软,我们都要先在杀软设置里把监控跟自我保护的选项的钩去掉!然后升级病毒库!升级完后再关闭服务跟启动项(利用360安全卫士)这 样安装其他的杀软就不会起冲突了!这里注意下!瑞星升级后会自己更改自己的服务为自动,所以瑞星建议最后装,最后升级,再关闭它的服务!这里我想大家肯定是关心杀软的序列号从哪来的吧!瑞 星有体验版,金山有37天试用版,NOD32利用PPLOVE网络电视有180天试用!卡巴等洋货在百度上搜索均有可用的序列号!这个就是考验大家的细心了!呵呵!卡巴不建议装6.0.7.0的,人家都在央视打 广告了,我们就装2009把!(虽然卡巴的启发比不上NOD32的,但是它的主动可是免杀爱好者的"粉丝") 杀软的查杀特点:

花指令(精)

花指令的概念与认识花指令 1、什么是花指令什么是花指令?实际上,把它按照“乱指令”来理解可能更贴切一些,我们知道,汇编语言其实就是机器指令的符号化,从某种程度上看,它只是更容易理解一点的机器指令而已。每一条汇编语句,在汇编时,都会根据cpu特定的指令符号表将汇编指令翻译成二进制代码。而日常应用中,我们通过VC的IDE或其它如OD等反汇编、反编译软件也可以将一个二进制程序反汇编成汇编代码。机器的一般格式为:指令+数据。而反汇编的大致过程是:首先会确定指令开始的首地址,然后根据这个指令字判断是哪个汇编语句,然后再将后面的数据反汇编出来。由此,我们可以看到,在这一步的反汇编过程中存在漏洞:如果有人故意将错误的机器指令放在了错误的位置,那反汇编时,就有可能连同后面的数据一起错误地反汇编出来,这样,我们看到的就可能是一个错误的反汇编代码。这就是“花指令”,简而言之,花指令是利用了反汇编时单纯根据机器指令字来决定反汇编结果的漏洞。 2、花指令与免杀的关系加花就是,在程序汇编中,加了一些无用的废话,用来扰乱杀软对特征码的扫描对比,来达到免杀的目的。是一种逃避方式,主要用于表面免杀。加花指令的确没有改变特征码的位置,但是他改变了程序执行顺序,有的也能改变文件结构。使杀毒软件扫描的时候跳到花指令处,即判断没有病毒。通常情况下,在文件免杀的时候,加花指令是最简单、有效的方法,而且一般能通杀很多杀毒软件,所以一般文件免杀通用此法,前提是你的花指令不是常用的,最好能自己做出你个人的花指令,才会很有效。 3.花指令执行顺序花指令一般添加到程序的头部。执行顺序:花指令入口-->执行花指令-->程序原入口-->执行原程序花指令的好坏直接决定程序是否可以躲避杀毒软件的查杀,花指令和壳的本质差不多,都是为了保护程序而做,所以我们做免杀的时候,可以多结合壳和花指令各自的优点对程序进行处理,达到更好的免杀效果。大概步骤总结: 第一步:从编写手册中成对的提取几对第二步:打乱它们之间的顺序,也可不打乱第三步:中间插入几个nop或jmp,也可不插入第四步:最后添加跳转到入口地址指令第五步:把编写好的花指令添加到程序中后,测试是否可以正常运行,然后再用杀毒软件查杀 3、花指令的样本 PUSH EBP MOV EBP,ESP DEC EBP INC EBP ADD ECX,1 SUB ECX,-1 MOV EAX,DWORD

黑客基本术语名词解释

黑客基本术语名词解释 本文介绍一些常见的基础黑客专用术语。 1.肉鸡: 所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑(计算机(电脑)),对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑(计算机(电脑)),也可以是大型的服务器(server网络资源),我们可以象操作自己的电脑(计算机(电脑))那样来操作它们,而不被对方所发觉。 2.木马: 就是那些表面上伪装成了正常的程序,但是当这些被程序运行时,就会获取系统的整个控制权限。有很多黑客就是热中与使用木马程序来控制别人的电脑(计算机(电脑)),比如灰鸽子,黑洞,PcShare等等。 3.网页木马: 表面上伪装成普通的网页文件或是将而已的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑(计算机(电脑))上来自动执行。 4.挂马: 就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。 5.后门: 这是一种形象的比喻,入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是入侵者却可以使用相应的程序或者方法来轻易的与这台电脑(计算机(电脑))建立连接,重新控制这台电脑(计算机(电脑)),就好象是入侵者偷偷的配了一把主人房间的要是,可以随时进出而不被主人发现一样。通常大多数的特洛伊木马(Trojan Horse)程序都可以被入侵者用语制、作后门(BackDoor) 6.rootkit:rootkit 是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过,对方系统内存在的安全漏洞获得系统的root权限。

pH调控和蔗糖流加控制对乳酸链球菌素发酵的影响

第23卷 第3期 2008年9月 V ol.23 No. 3 Sep. 2008 收稿日期:2007-09-27;修回日期:2007-12-11 基金项目:国家863项目(2006AA102347);天津科技大学自然科学基金资助项目(20060207) 作者简介:刘亚丽(1979—),女,山东人,硕士研究生. pH 调控和蔗糖流加控制对乳酸链球菌素发酵的影响 刘亚丽,贾士儒,谭之磊,黄 皓 (天津科技大学生物工程学院,天津市工业微生物重点实验室,天津 300457) 摘 要:研究了乳酸乳球菌发酵过程中pH 调控和补料对产物生成的影响.研究采用三种不同的pH 调控方式(初始pH7.0):(1)恒定pH6.8;(2)当pH 降到6.2时恒定pH6.2;(3)发酵6h 后每2h 调节pH 至6.8.结果表明,在发酵过程中按方式2调节pH 与不调控pH 相比,乳酸链球菌素效价提高了 2.48倍.分别选用了4、5、6和8g·(L ?1·h ?1)蔗糖流加速度,当按5g·(L ?1·h ?1)恒速流加蔗糖溶液,乳酸链球菌素效价提高约2.9倍. 关键词:乳酸乳球菌;乳酸链球菌素;pH 调控;补料发酵 中图分类号:TQ920.6 文献标识码:A 文章编号:1672-6510(2008)03-0005-03 Effects of pH Control and Sucrose Feeding Rates on Nisin Production LIU Ya-li ,JIA Shi-ru ,TAN Zhi-lei , HUANG Hao (College of Biotechnology ,Tianjin University of Science & Technology ,Tianjin Key Laboratory of Industrial Microbiology ,Tianjin 300457,China ) Abstract :The combined effects of various pH control strategies and sucrose feeding rates on nisin production were studied.Three different pH control strategies were studied in this study (the intial pH was 7.0):(1)a constant pH at 6.8;(2)after pH dropped 6.2,a constant pH at 6.2;(3)after 6 h , adjusting pH at 6.8 every 2 h. The results demonstrate that nisin titer by strategy (2)yielded almost 2.6 times higher than that by strategy without pH adjustment. Sucrose feeding rates are designed at 4,5,6 and 8g·(L ?1·h ?1),respectively. Nisin titer increase about 2.9-fold by constant addition of sucrose at a feeding rate of 5g·(L ?1·h ?1) . Keywords :Streptococcus lactis ;nisin ;pH control ;fed-batch fermentation 乳酸链球菌素(nisin )是由乳酸乳球菌产生的 一种由34个氨基酸组成的阳离子型疏水抗菌多肽,分子质量为3.4ku [1].由于它具有广泛的抗革兰氏阳性菌和病原细菌的性质,并对人体的安全性,所以被作为一种食品防腐剂广泛地应用于食品、保健品等众多行业.目前,有50多个国家和地区允许使用乳酸链球菌素作为食品防腐剂[2],我国也颁布了乳酸链球菌素在食品中的使用标准. 乳酸乳球菌发酵过程中生成大量的乳酸链球菌素,并伴有副产物乳酸的产生,乳酸的存在使得发酵液pH 降低,从而抑制了菌株的生长和代谢,同时乳酸链球菌素对pH 敏感,因此有必要通过流加碱液来控制发酵液在适宜的pH 范围内,从而提高发酵液中 乳酸链球菌素的效价.蔗糖对乳酸链球菌素的合成具 有调控作用,适当提高蔗糖浓度可以提高菌体浓度及乳酸链球菌素效价,但过高的蔗糖浓度会抑制乳酸链球菌素的合成[3].所以,本文试图从发酵过程中的pH 和补料调控来促进乳酸链球菌素的生物合成. 1 材料与方法 1.1 材料 1.1.1 菌种 乳酸乳球菌(Streptococcus lactis )TCCC12001、藤黄八叠球菌(Sarcina lutea )TCCC12002分别为乳酸链球菌素产生菌和乳酸链球菌素效价检测指示菌.

子程序花指令加算法

子程序花指令加算法

————————————————————————————————作者:————————————————————————————————日期:

子程序花指令加密算法 根据反汇编器原理,分析现有的花指令加密算法存在的问题,我们提出了一种新的花指令加密算法——子程序花指令加密算法。 一、花指令加密基本原理及现状 1、花指令加密工作原理 软件破解者要想有效的破解软件,需要对程序代码进行静态分析和跟踪。花指令加密可以有效地对抗静态分析,经过花指令变换后的程序代码具有一定的反跟踪能力,能够在很大程度上增加软件破解者对程序进行分析和跟踪的难度,从而有效地保护软件的知识产权。 花指令分为可执行花指令和不可执行花指令。可执行花指令指的是能够正常运行但又不改变原始程序逻辑性的一组无用指令。这类花指令常常用在病毒代码的变形引擎中,但反汇编器能够正常反汇编这些花指令。不可执行花指令又称垃圾字节,是指被插入到原始代码中但又不改变原始程序逻辑性的一组无用字节。被插入的字节不能被执行,否则会使程序的逻辑性遭到破坏,影响程序运行的结果。根据反汇编的工作原理,当插入的最后一个或多个花指令与其后正常的指令被反汇编器识别成一条有效地指令时,就能有效地破坏反汇编器的反汇编结果。花指令加密技术就充分利用了这一特点,通过在程序代码中插入一些随机的不完整指令来破坏反汇编器的结果,达到保护软件的目的。 2、花指令加密研究现状 目前花指令加密中采用较多的一种形式是无条件跳转指令JMP加花指令脚,这种方法具有简单、易实现的优点,但存在特征码,容易被工具自动去除。另一种形式是直接在程序代码

交通流计划和控制

交通流计划和控制 1.承包人在安排和组织施工时,应注意尽量减少各种车辆之间与施工现场的干扰。为此,承包人应适当地考虑便道的位置和通行能力。 2.已有的各种道路应向施工车辆开放。按照计划或监理人的指示,承包人可设置支线。在需要调节交通流的情况下,承包人可向公共交通开放本工程的一部分,并应设置适当的照明、警告信号和标志牌等交通安全设施,还应采取预防措施保护本工程和公众的安全。 3.当工程施工可能会对道路交通产生干扰时,承包人应设置必要的路障、警告信号等。 4.承包人在收到开工通知之后的49d 以内,应制订一份详细的交通流计划报监理人审查批准。这个计划应说明现有各种等级道路和河流的交通流量和通行能力;临时道路、桥梁和码头的修建计划;对现有道路、河流和临时道路、码头构成的交通网的通行能力和流量分析;施工材料的运输量和运输计划以及防止交通堵塞的措施。交通流计划应避免在运输高峰期间进行本项目的高峰运输。 5.交通流计划应考虑充分利用当地河道的特点,尽量安排水路运输。在通航水域施工时,承包人应设置导航和通航标志。 6.施工期间,承包人应照交通流计划安排本项目运输,并在必要时请求监理人召集有当地交通部门参加的协调会议,讨论和修改本计划。承包人使用当地的交通设施时,应按规定交纳过路、过桥费。 7.承包人应强化对已有交通运输设施的保护意识,严禁超限运输,否则由此造成对已有道路、码头、港口等设施损坏应予以赔偿,并保障发包人免于承担由于承包人行为所遭受的第三方的索赔。 8.公路改扩建工程的交通控制 (1)对于不中断交通的公路改扩建工程,承包人应编制交通组织方案,并报公路路政及交通安全管理部门批准。临时封闭施工或改线的,应报相关主管部门批准。 (2)承包人应按《道路交通标志和标线》(GB5768-2009)、《公路养护安全作业规程》(JTGH30-2015)、《公路工程施工安全技术规范》(JTGF90-2015)及交通组织方案设置施工作业控制区。作业区域应布置警告、上游过渡、缓冲、工作、下游过渡、终止等区域,作业区域应符合《公路养护安全作业规程》(JTG H30-2015)第4.0.3 款的规定。

FC2002型甲醇检测流加控制器

HR/FC-100 在线二氧化碳检测仪(水中)使用操作说明书

HR/FC-100在线二氧化碳检测仪(水中) 和pCO2-1型二氧化碳电极使用说明 及溶解二氧化碳浓度的测量操作 -1型二氧化碳电极。用它们测定溶液中溶本仪器主要包括FC-100型多用分析测定仪和pCO 2 解的二氧化碳含量,具有方法简便、快速、准确、样品色度和浊度不干扰测定结果等优点。1.仪器的介绍及使用 仪器有两个显示窗,通常主(大)显示窗显示被测变量测量值,副(小)显示窗显示被测变量代表字符串。当仪表处于物质或离子浓度测量时(二氧化碳测量即用此挡),主(大)显示窗显示主数值,副(小)显示窗显示数值表示10的幂指数和C(C表示浓度测量)。例如当仪器显示为“3.25 -2C”,它表示仪器处于浓度测量状态,被测试样浓度为3.25X10-2。 仪器面板上有四个键,依据其所处位置分别称为左键,上键,下键和右键。 左键为被测变量转换键,按住左键副(小)显示窗会显示被测变量助记字符串;即显示PH、C、%、PPM、MV、ORP或℃,它们分别表示酸度(PH)测量、物质或离子浓度测量(C)、溶解氧饱和度测量(%)、溶解氧浓度测量(PPM)、高阻毫伏测量(MV)、氧化还原电位测量(ORP)和温度测量(℃)。按住左键被测变量代表字符串不断依次变化(并伴随提示鸣笛音),当在某个被测变量助记字符串显示时松开左键,仪器就转入该字符串所代表的被测变量测量状态。参数设置时左键为后退键,用来返回到上次操作。 上和下键分别为标准1和标准2标定键,当按上键或下键时仪表会显示“X CALI”,它表示将要进行标准值为X的标定(CALI为标定英文一词Calibration的缩词)。按住上键或下键不放等三声提示鸣笛音并且黑屏显示后松开按键,标定即完成。在参数设置时上下键分别为参数值增减键。 右键为参数设置键,当按右键时仪表会显示“PARA SEt”, 它表示将要进行参数设定(PARA SEt 为英文词Parameter Set的缩词)。按住右键不放等三声提示鸣笛音并且黑屏显示后松开按键,仪器进入参数设置。 仪器还有一组0-5伏模拟信号输出端子,它们输出测量值信号。可用来外接记录仪或送计算机A/D采样口。模拟信号输出端子为易接式,只要压下方形钮插入电线接头松开方形钮即可。2.仪器参数设置 按住右键等鸣笛四声同时副显示窗光标跳至最高位后松开上键,仪器显示PC1 xx.xx;PC1 表示副显示窗显示值xx.xx是标准样品液1的浓度负对数值。利用可以上下键增大或减小PC1的值。上下键是以按键时间为依据的自动进位键,即短时间按上(下)键,可使数值最低位加(减)1,

木马免杀之汇编花指令技巧(精)

木马免杀之汇编花指令技巧 作者:逆流风 (发表于《黑客X档案》07.07,转载注明出处) 相信很多朋友都做过木马免杀,早期的免杀都是加壳和改特征码,现在免杀技术已经发展到花指令免杀,改壳之类的,而这些需要一定的汇编知识,但是汇编却不是一块容易啃的骨头,所以我写了这篇菜鸟版的免杀汇编教程,帮助小菜们快速入门,掌握免杀必备的汇编知识,改花指令,改特征码的技巧和编写自己的花指令。 一、免杀必备的汇编知识 push 压栈,栈是一种数据结构,记住四个字:先进后出。压栈就是把数据放如栈中,从栈顶放如,出栈的时候也是从栈顶取出,所以会有先进后出的特点!先进后出我们可以这样理解,例如:一个乒乓球筒,我们放入乒乓球,然后取出乒乓球,取出的都是就后放进的球。就如我们放入球的顺序是球1、2、3、4,取出的顺序是球4、3、2、1。 pop 出栈,与push相对应。 mov a,b 把b的值送给a,把它看作编程中的赋值语句就是b赋值给a,这时a的值就是b了。 nop 无作用,就是什么也没做。 retn 从堆栈取得返回地址并跳到该地址执行。 下面是一些算术运算指令: ADD 加法 sub 减法 inc 加1 dec 减1 最后是跳转指令: jmp 无条件跳 je 或jz 若相等则跳

jne或jnz 若不相等则跳 jb 若小于则跳 jl 若小于则跳 ja 若大于则跳 jg 若大于则跳 jle 若小于等于则跳 jge 若大于等于则跳 这些就是我们需要掌握的,怎么样不多吧,一些指令可能看不明白,看了后面的就会清楚了。对了,忘了讲寄存器了,寄存器是中央处理器内的其中组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。我们需要了解的是8个通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP 二、特征码和花指令的修改 特征码我就不多说了,大家都知道的,现在杀毒软件查杀都用特征码查杀,改了木马的特征码,杀毒软件就查不出我们的木马,这样就达到免杀的效果。而花指令是程序中的无用代码,程序多它没影响,少了它也能正常运行。加花指令后,杀毒软件对木马静态反汇编使,木马的代码就不会正常显示出来,加大杀毒软件的查杀难度。花指令的原理是堆栈平衡。前面介绍push说了,堆栈平衡可以这样理解,有进有出,不管花指令怎么写,我们要达到的目的是加花后,堆栈与未加之前一样。 网上的花指令因为是公布出来的,所以免杀周期不长,一般公布出来不久就会被杀毒软件查杀,但是我们只要简简单单的修改一两句就可以达到免杀了。下面我们来看看5种修改方法。(也适用于特征码修改) 我们先看看木马彩衣(金色鱼锦衣花指令 1、push ebp 2、mov ebp,esp 3、add esp,-0C 4、add esp,0C

串口通信基本连线操作以及流控制方式

串口通信基本连线操作以及流控制方式 目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用RS232相连。 1.DB9和DB25的常用信号脚说明 9针串口(DB9)25针串口(DB25) 针号功能说明缩写针号功能说明缩写 1 数据载波检测DCD 8 数据载波检测DCD 2 接收数据RXD 3 接收数据RXD 3 发送数据TXD 2 发送数据TXD 4 数据终端准备DTR 20 数据终端准备DTR 5 信号地GND 7 信号地GND 6 数据设备准备好DSR 6 数据准备好DSR 7 请求发送RTS 4 请求发送RTS 8 清除发送CTS 5 清除发送CTS 9 振铃指示DELL 22 振铃指示DELL 2.RS232C串口通信接线方法(三线制) 首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连 ·同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连; ·两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口) 上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接,就能百战百胜。 3.串口调试中要注意的几点: 串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。 单工、半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 电话线就是二线全双工信道。由于采用了回波抵消技术,双向的传输信号不致混淆不清。双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。 奇偶校验 串行数据在传输过程中,由于干扰可能引起信息的出错,例如,传输字符‘E',其各位为: 0100,0101=45H D7 D0 由于干扰,可能使位变为1,这种情况,我们称为出现了"误码"。我们把如何发现传输中的错误,叫"检错"。发现错误后,如何消除错误,叫"纠错"。

IDA实例教程详解

IDA实例教程详解 作者:笨笨雄(转载) 1 软件环境 静态分析有很多好处,例如加壳的程序(尽管对于高手来说这并不会耗费太多时间),我们不需要寻找OEP,也不需要解除自校验,只要修复IAT,DUMP下来就可以动手分析了。假如你需要修改程序,可以使用内存补丁技术。动态与静态,调试器与反汇编器结合可以简化分析任务,帮助我们理解代码。因此掌握一种反汇编器是非常必要的。IDA可以说是这方面的首选工具,它为我们提供了丰富的功能,以帮助我们进行逆向分析。这从IDA复杂的工作界面便可以知道。 种类繁多的工具栏 在分辨率不高的情况,这些工具栏与反汇编窗口挤在小屏幕里,看起来不爽。我一般把它关闭(查看=>工具栏=>主工具栏)以获得更好的视觉效果。当我们需要这些功能的时候,直接使用快捷键就可以了。下面是常用快捷键的清单: 快捷键功能注释 C转换为代码一般在IDA无法识别代码时使用 这两个功能整理代码 D转换为数据 A转换为字符 N为标签重命名方便记忆,避免重复分析。 ;添加注释

在工具栏下面的便是工作窗口。主要的窗口分页有“IDA View-A”、“Name”、“Strings”、“Exports”和“Imports”。对于后面3项相信大家都不会陌生了,它们分别是字符参考,输出函数参考和输入函数参考。Name是命名窗口,在那里可以看到我们命名的函数或者变量。这四个窗口都支持索引功能,可以通过双击来快速切换到分析窗口中的相关内容,使用起来十分方便。

简单输入几个字符即可定位目标 IDA View-A是分析窗口,支持两种显示模式,除了常见的反汇编模式之后,还提供图形视图以及其他有趣的功能。 IDA的反汇编窗口 一般我们在分析的时候,并不关心程序的机械码,所以IDA为我们自动隐藏了这些信息。如果你有需要,可以通过以下步骤来设置:

稳流控制系统介绍

稳流控制系统构成及通讯培训大纲 1、稳流系统组成 2、饱和电抗器工作原理 3、稳流控制器组成及稳流原理 4、稳流控制系统程序及运行方式

稳流控制系统构成及通讯 电能是电解铝生产的重要能源,电解铝生产采用的是直流电,电能成本约占电解铝总成本的30%-40%。铝电解生产供电有以下特点:①低电压、大电流的直流电;②直流电能生产的连续性;③直流电能供给的恒流性。 目前国内大型整流设备有两种整流方式:①整流变+可控硅整流,②整流变(调压开关)+自饱和电抗器+二极管整流。电流的控制方式一般采用恒流控制,恒定直流电流的调节方式一般为整流变压器有载调压开关与自饱和电抗器相结合的方式,有载调压为直流电压的粗调,自饱和电抗器为直流电压的细调,自饱和电抗器是直流电流恒流控制的主要执行元件,调节直流电压的范围约为50~70V。 综上所述,稳流系统=有载调压开关+自饱和电抗器+稳流控制系统 一、饱和电抗器 1.饱和电抗器必须实现以下职能: 1 在有载调压分接开关的直流级差电压范围内起到细调作用; 2 减少有载调压分接开关的动作次数,以延长其检修周期和使用寿命,为此饱和电抗器的调压范围应大于有载调压开关的直流级差电压(每调一档电压差在12-16V),通常不小于两级差电压,同时也不应小于电解一个阳极效应的电压(40-50V直流电压); 3 校正电网电压短时波动所引起的电解直流电流波动; 4 校正各整流机组之间或同一机组两整流装置之间的负荷分配不均。 2.工作原理 饱和电抗器是利用铁磁物质磁化曲线的非线性和饱和特性,以较小的直流功率来控制较大的交流负载的一种电器,即利用铁磁物质的磁导率不是常数这一特性而工作的。饱和电抗器属于交直流同时磁化的非线性电抗器,与负载串联,用来调节负载的电流和功率,可以把饱和电抗器看成一个可控制的阻抗,但它是非线性的,不能用近似线性的电抗器的概念来解释饱和电抗器。 饱和电抗器的基本工作原理是利用直流绕组Array电流的大小来改变交流电路的电抗。原理如图1, 它是一个具有交流绕组和直流绕组的铁芯磁路。 当交流电压Ua和交流回路电阻Ra不变时, 交流电流Ia与交流线圈La有关: 图1 饱和电抗器原理图

读懂Android中的代码混淆

读懂Android中的代码混淆 本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。 作者:技术小黑屋来源:知乎|2017-03-02 13:05 收藏 分享 本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。 什么是混淆 关于混淆维基百科上该词条的解释为 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。 代码混淆影响到的元素有 ?类名 ?变量名 ?方法名 ?包名 ?其他元素 混淆的目的 混淆的目的是为了加大反编译的成本,但是并不能彻底防止反编译. 如何开启混淆

?通常我们需要找到项目路径下app目录下的build.gradle文件 ?找到minifyEnabled这个配置,然后设置为true即可. 一个简单的示例如下 1. buildTypes { 2. 3. release { 4. 5. minifyEnabled true 6. 7. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguard是什么 Java官网对Proguard的定义 ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition. ?Proguard是一个集文件压缩,优化,混淆和校验等功能的工具 ?它检测并删除无用的类,变量,方法和属性 ?它优化字节码并删除无用的指令. ?它通过将类名,变量名和方法名重命名为无意义的名称实现混淆效果. ?最后它还校验处理后的代码 混淆的常见配置 -keep Keep用来保留Java的元素不进行混淆. keep有很多变种,他们一般都是 ?-keep ?-keepclassmembers ?-keepclasseswithmembers 一些例子 保留某个包下面的类以及子包 1. -keep public class https://www.wendangku.net/doc/d112535439.html,.widget.** 保留所有类中使用otto的public方法

流控制在串行通讯中的作用

1. 流控制在串行通讯中的作用 这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过MODEM进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。PC机中常用的两种流控制是硬件流控制(包括RTS/CTS、DTR/CTS等)和软件流控制XON/XOFF(继续/停止),下面分别说明。 2.硬件流控制 硬件流控制常用的有RTS/CTS流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制。硬件流控制必须将相应的电缆线连上,用RTS/CTS(请求发送/清除发送)流控制时,应将通讯两端的RTS、CTS线对应相连,数据终端设备(如计算机)使用RTS 来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用CTS来起动和暂停来自计算机的数据流。这种硬件握手方式的过程为:我们在编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区大小的75%)和一个低位标志(可为缓冲区大小的25%),当缓冲区内数据量达到高位时,我们在接收端将CTS 线置低电平(送逻辑0),当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高电平。RTS则用来标明接收设备有没有准备好接收数据。 常用的流控制还有还有DTR/DSR(数据终端就绪/数据设置就绪)。我们在此不再详述。 3.软件流控制 由于电缆线的限制,我们在普通的控制通讯中一般不用硬件流控制,而用软件流控制。 一般通过XON/XOFF来实现软件流控制。常用方法是:当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符(十进制的19或Control-S,设备编程说明书应该有详细阐述),发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符(十进制的17或Control-Q),发送端收到XON字符后就立即开始发送数据。一般可以从设备配套源程序中找到发送的是什么字符。 当软件里用了流控制时,应做详细的说明,如何接线,如何应用。应该注意,若传输的是二进制数据,标志字符也有可能在数据流中出现而引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题。 在流量控制方面,可以从不同侧面采取不同的控制方案。最简单的方法就是增加接收端的缓冲存储空间,使得接收端可以缓存更多的数据。但这只是一种被动、消极的方法。因为,一方面系统不允许开设过大的缓冲空间;另一方面对于速率显著失配,并且又传送大量数据的场合,即使缓存空间再大也会出现不够的现象。目前普遍采取一种称之为“XON/XOFF”的发送控制字符的方案,通过控制字符来确定发送方是否继续发送数据,相比之下更主动、更积极、更有效。 XON/XOFF(继续/停止)是异步串行连接的计算机和其他元件之间的数据流控制协议。例如,计算机向打印机发送数据的速度通常快于打印机打印的速度,打印机包含一个缓冲器,

程序中使用花指令(Delphi源码)

程序中使用花指令(Delphi源码) unit Ex3Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; Button12: TButton; StatusBar1: TStatusBar; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button12Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1;

控制流与数据流分析

第七章控制流分析 优化需要从程序中获得足够多的信息。控制流分析就是用来获取程序控制结构信息的形式化分析方法,它是数据流分析,依赖分析的基础。 7.1控制流分析方法概述 7.1.1过程内控制流分析方法主要有下面3种: 1.用dominator图找出循环,把循环标记出来供后面的优化使用。因为循环是程 序中最值得改进的地方,所以这种方法广泛被现在的编译器采用。 2.Interval分析:这是一类分析方法的统称,用来分析单个过程的结构,并把它 分解成为一系列有层次的结构称为interval。这些结构的层次关系可以用一棵树来 表示,就叫控制树。接下来许多分析和优化就可以基于控制树来做。 3.结构分析:结构分析是Interval分析中的特别重要且有代表性的一种,而且它 在许多编译器或优化方法中被用到,所以单独作为一种控制流分析方法。 这三种分析方法各有优劣之处,且三种方法并不是互相隔离的,具体实现时可以根据需求做出折衷选择。 7.1.2控制流图和BB 上面三种分析方法都是基于控制流图(CFG)的基本单元BB来做的。因为控制流图和BB大家都知道,所以这里省略它们的基本概念。只是在识别BB的方法 上补充一点:对call语句的处理。 对call语句的处理:一般情况下call语句调用目标过程后会返回call语句顺序的下一条语句。这时call语句和它顺序的下一条语句都不会被作为入口语句。 但是,如果一个call语句有好几个返回地址(例如:Fortran中有alternate返回地 址),那么call语句的下一条语句就应该作为入口语句,否则BB中将有一条既 不是顺序执行又不在BB末尾的指令。C库函数中的setjump( )和longjump( )也 有类似情况。 7.13 EBB EBB与控制流分析的关系不大,只是因为刚介绍了BB,所以把EBB也顺带介绍一下。EBB跟BB相比可以使指令调度这种局部优化在选择指令时范围更宽。 介召EBB之前先要知道join node

电脑常用花指令大全

常用花指令大全 用花指令大全 常用花指令大全 ╬┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅╬ 常用花指令大全 ╬┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅╬ ┇部分花指令内容相同只是改了一些跳转处的汇编代码换了名字┇ ┇大家在加花指令的时候可以在新入口处先NOP几行在开始加花┇ ┇在加花的同时你也可以在花指令中随便NOP几行在继续添加花┇ ╬┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅╬ ******************************************************************** **** 1.伪装vc++5.0代码: PUSH EBP MOV EBP,ESP PUSH -1 push 415448 -\___ PUSH 4021A8 -/ 在这段代码中类似这样的操作数可以乱填 MOV EAX,DWORD PTR FS:[0] PUSH EAX MOV DWORD PTR FS:[0],ESP ADD ESP,-6C PUSH EBX PUSH ESI PUSH EDI ADD BYTE PTR DS:[EAX],AL /这条指令可以不要! jmp 原入口地址 ******************************************************************** **** 2.胡乱跳转代码: push ebp mov ebp,esp inc ecx push edx nop pop edx dec ecx pop ebp inc ecx loop somewhere /跳转到上面那段代码地址去!

相关文档