8.gif

汇编笔记1.3

16进制转换10进制:

与二进制转十进制相同!

各位16进制与其对应的权值乘积之和,即为对应10进制数

例:A3ECH=10*16^3+3*16^2+14*16^1+12*16^0

            =40960+768+224+12

            =41964D

 

10进制换16进制:

降幂法:

这里与二进制够减取值不同,

首先写出要转换的,10进制数,然后写出最接近此数16进制权值的数!然后找出多少个最接近原数的权值倍数,这个倍数即为对应16进制的值,把原数减去.此权值倍数乘积,得到一余数,再把些余数减去下一个乘积,如此不断到数值为0;

例:56978D

   最接近的权值数:4096 256  16 1

    56978-13*4096=56978-53248=3730       (a3=13=D)

    3730-14*256=3730-3584=146               (a2=14=E)

    146-9*16=146-144=2                           (a1=9)

    2-2*1=2-2=0                                        (a0=2)

56978D=DE92H          

//很好,很强大,自己算竟然不出错,可怜啊,数学都不会算了!其实只是脑子里算下大约倍数,还是拿下着计算器狂按,!谁叫太长了,受不了~~~~~

 

//几个数,16^5=1048576   16^4=65536  16^3=4096 (这些数都是,2的幂哦)   16^2=256  16^1=16  16^0=1

 

除法:

不断把要转换的十进制整数除以16取不够除的余哦~自己算一个,加深印象

983745D

 

983745/16=61482     余(a0=1)

61482/16=3842            (a1=12=C)

3842/16=240                (a2=2)

240/16=15                    (a3=0)

15/16=0                       (a4=15=F)

983745D=F02C1H

//禽兽啊,又错了,.不算只看好像是明白了,算起来错了好几次,……..

//还是地自己动手写啊!

//还是反着向上读,别看错,…….

1.3 二进制数和十六进制数的运算 包括算术运算和逻辑运算。 算术运算 二进制数的运算: 加法规则: 乘法规则: 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 更多 >

200810071202072236

bat其实就是个EXE?

游戏目录里出了个BAT后缀的加密文件? 这啥?BAT能加密,,查之,原来。。。。。

大家都知道批处理其实就是DOS命令,可以用记事本直接打开查看源码,但是用记事本查看一些加密后的BAT文件会显示乱码,比如如下文件:

你根本不知道这是什么东西。接下去我们就要用到一个东西,QuickBFC,这个本来是对BAT进入加壳封装成EXE的工具,可他还有一个更好用的功能,就是解密BAT文件。用此工具打开加过密的BAT文件,源码就会被打成源型,如下图所示

可以见到第一行有很多%%a,这就是典型的对文件头加密。当然你也可以用别的编辑工具打开也有这种效果,比如EmEditot,如图: 还有一种加密更让人郁闷,就是封装后再改扩展名,要运行照样可以,但是你要是编辑的时候,比刚才图一的更郁闷,显示的是这样的情况

看到这样的情况,不用管他这么多,只要看到这句话,This program must be run under Win32,那么你直接把扩展名换成EXE好了,这个只是障眼法。换成EXE运行后,跟BAT运行的窗口是一样的,他会在你的临时文件(C:\Documents and Settings\当前用户\Local Settings\Temp)下释放出一个隐藏的BAT文件,你只要在你的临时文件夹下把那个临时文件另存为就行了。包括那种用工具把BAT变成EXE的,都会在这文件夹释放的。而且你要反编译EXE成BAT可能还要密码,用这种方式,可以很简单的查看到源码。