首页
社区
课程
招聘
请问各位这是什么意思[求助]
发表于: 2005-10-31 19:44 3543

请问各位这是什么意思[求助]

2005-10-31 19:44
3543
Referenced by a CALL at Address:
|:004010B0  
|
:004010C9 56                      push esi
:004010CA 57                      push edi
:004010CB 51                      push ecx
:004010CC 33F6                    xor esi, esi
:004010CE 33FF                    xor edi, edi
:004010D0 B908000000              mov ecx, 00000008          ---定义循环次数
:004010D5 BE44304000              mov esi, 00403044          ---调出输入的密码
:004010DA 803632                  xor byte ptr [esi], 32      ---把密码个字节与32取异或
:004010DD 46                      inc esi
:004010DE E2FA                    loop 004010DA              ---向上循环
:004010E0 BE44304000              mov esi, 00403044         
:004010E5 B904000000              mov ecx, 00000004          ---8变4
:004010EA 8A06                    mov al, byte ptr [esi]
:004010EC 8A5E01                  mov bl, byte ptr [esi+01]
:004010EF 32C3                    xor al, bl                ---把变化后的密码前后取异或
:004010F1 88874C304000            mov byte ptr [edi+0040304C], al
:004010F7 83C602                  add esi, 00000002         
:004010FA 47                      inc edi
:004010FB E2ED                    loop 004010EA              ---向上循环
:004010FD BE4C304000              mov esi, 0040304C          ---将生成的4个数变成2个
:00401102 8A06                    mov al, byte ptr [esi]
:00401104 8A5E01                  mov bl, byte ptr [esi+01]
:00401107 32C3                    xor al, bl
:00401109 8A5E02                  mov bl, byte ptr [esi+02]
:0040110C 8A4E03                  mov cl, byte ptr [esi+03]
:0040110F 32D9                    xor bl, cl
:00401111 32C3                    xor al, bl                  ---再由2个变1个放入AL
:00401113 B908000000              mov ecx, 00000008
:00401118 BE44304000              mov esi, 00403044
:0040111D 3006                    xor byte ptr [esi], al  ---将生成的1个与原来的取异或
:0040111F 46                      inc esi
:00401120 E2FB                    loop 0040111D
:00401122 B908000000              mov ecx, 00000008          ---从这往下开始比较
:00401127 BE44304000              mov esi, 00403044          ---放入算出的结果

* Possible StringData Ref from Data Obj ->"q"
                                  |
:0040112C BF08304000              mov edi, 00403008          ---放入正确的结果
:00401131 8A06                    mov al, byte ptr [esi]
:00401133 3A07                    cmp al, byte ptr [edi]
:00401135 751D                    jne 00401154                ---跳向出错
:00401137 46                      inc esi
:00401138 47                      inc edi
:00401139 E2F6                    loop 00401131              ---向上循环
:0040113B 6A40                    push 00000040

模拟运算:
如果输入12345678
机器码                31  32  33  34  35  36  37  38  
与32异或              03  00  01  06  07  04  05  0A  ----(1)
8变4为                  03      07      03      0F
4变2为                      04              0C
2变1为                              08                ----(2)


这个8变4, 4变2, 2变1是怎么来的
俺是只还没出壳的菜鸟,哪位能给俺讲讲

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
2
你不是已经写的很清楚了么?
2005-10-31 20:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是呀不好意思我昨天刚发去了就想到了,谢谢你了
2005-11-1 19:27
0
游客
登录 | 注册 方可回帖
返回
//