首页
社区
课程
招聘
6
[旧帖] [原创]神奇的xor运算 0.00雪花
发表于: 2011-10-21 17:31 3235

[旧帖] [原创]神奇的xor运算 0.00雪花

2011-10-21 17:31
3235

最近在学习追踪注册,正是看雪上的一个非常古老的帖子,



,答案里面没有



给出证明,在这我把它贴出来……大神请绕道~


原文:


破解chap6-1-1-01



* 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



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

收藏
免费 6
支持
分享
赞赏记录
参与人
雪币
留言
时间
伟叔叔
为你点赞~
2024-5-31 02:39
心游尘世外
为你点赞~
2024-3-12 01:12
飘零丶
为你点赞~
2024-3-2 04:00
QinBeast
为你点赞~
2024-2-9 00:53
shinratensei
为你点赞~
2024-1-24 04:30
PLEBFE
为你点赞~
2023-3-7 00:50
最新回复 (1)
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
居然第一个
2011-10-21 17:59
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册