DX帮忙看一下这段汇编代码,看了半天看不懂,怀疑是加密算法

2020-01-21 21:46发布

如题:
Q10D6:             CLR   A                            ;10D6   E4
                   MOVC  A,@A+DPTR                    ;10D7   93
                   INC   DPTR                         ;10D8   A3
                   MOV   R0,A                         ;10D9   F8
Q10DA:             CLR   A                            ;10DA   E4
                   MOVC  A,@A+DPTR                    ;10DB   93
                   INC   DPTR                         ;10DC   A3
                   JC    Q10E2                        ;10DD   40 03
                   MOV   @R0,A                        ;10DF   F6
                   SJMP  Q10E3                        ;10E0   80 01
Q10E2:             MOVX  @R0,A                        ;10E2   F2
Q10E3:             INC   R0                           ;10E3   08
                   DJNZ  R7,Q10DA                     ;10E4   DF F4
                   SJMP  Q1109                        ;10E6   80 21
Q10E8:             CLR   A                            ;10E8   E4
                   MOVC  A,@A+DPTR                    ;10E9   93
                   INC   DPTR                         ;10EA   A3
                   MOV   R0,A                         ;10EB   F8
                   ANL   A,#07H                       ;10EC   54 07
                   ADD   A,#0CH                       ;10EE   24 0C
                   XCH   A,R0                         ;10F0   C8
                   CLR   C                            ;10F1   C3
                   RLC   A                            ;10F2   33
                   SWAP  A                            ;10F3   C4
                   ANL   A,#0FH                       ;10F4   54 0F
                   ORL   A,#20H                       ;10F6   44 20
                   XCH   A,R0                         ;10F8   C8
                   MOVC  A,@A+PC                      ;10F9   83
                   JC    Q1100                        ;10FA   40 04
                   CPL   A                            ;10FC   F4
                   ANL   A,@R0                        ;10FD   56
                   SJMP  Q1101                        ;10FE   80 01
Q1100:             ORL   A,@R0                        ;1100   46
Q1101:             MOV   @R0,A                        ;1101   F6
                   DJNZ  R7,Q10E8                     ;1102   DF E4
                   SJMP  Q1109                        ;1104   80 03
Q1106:             MOV   DPTR,#000EH                  ;1106   90 00 0E  //数据指针寄存器DPTR=000EH
Q1109:             CLR   A                            ;1109   E4
                   MOV   R6,#01H                      ;110A   7E 01
                   MOVC  A,@A+DPTR                    ;110C   93
                   JZ    Q10D3                        ;110D   60 C4
                   INC   DPTR                         ;110F   A3
                   MOV   R7,A                         ;1110   FF
                   ANL   A,#3FH                       ;1111   54 3F
                   JNB   ACC.5,Q111F                  ;1113   30 E5 09
                   ANL   A,#1FH                       ;1116   54 1F
                   MOV   R6,A                         ;1118   FE
                   CLR   A                            ;1119   E4
                   MOVC  A,@A+DPTR                    ;111A   93
                   INC   DPTR                         ;111B   A3
                   JZ    Q111F                        ;111C   60 01
                   INC   R6                           ;111E   0E
Q111F:             XCH   A,R7                         ;111F   CF
                   ANL   A,#0C0H                      ;1120   54 C0
                   ADD   A,ACC                        ;1122   25 E0
                   JZ    Q10D6                        ;1124   60 B0
                   JC    Q10E8                        ;1126   40 C0
                   CLR   A                            ;1128   E4
                   MOVC  A,@A+DPTR                    ;1129   93
                   INC   DPTR                         ;112A   A3
                   MOV   R2,A                         ;112B   FA
                   CLR   A                            ;112C   E4
                   MOVC  A,@A+DPTR                    ;112D   93
                   INC   DPTR                         ;112E   A3
                   MOV   R0,A                         ;112F   F8
Q1130:             CLR   A                            ;1130   E4
                   MOVC  A,@A+DPTR                    ;1131   93
                   INC   DPTR                         ;1132   A3
                   XCH   A,R0                         ;1133   C8
                   XCH   A,DPL                        ;1134   C5 82
                   XCH   A,R0                         ;1136   C8
                   XCH   A,R2                         ;1137   CA
                   XCH   A,DPH                        ;1138   C5 83
                   XCH   A,R2                         ;113A   CA
                   MOVX  @DPTR,A                      ;113B   F0
                   INC   DPTR                         ;113C   A3
                   XCH   A,R0                         ;113D   C8
                   XCH   A,DPL                        ;113E   C5 82
                   XCH   A,R0                         ;1140   C8
                   XCH   A,R2                         ;1141   CA
                   XCH   A,DPH                        ;1142   C5 83
                   XCH   A,R2                         ;1144   CA
                   DJNZ  R7,Q1130                     ;1145   DF E9
                   DJNZ  R6,Q1130                     ;1147   DE E7
                   SJMP  Q1109                        ;1149   80 BE
Q114B:             MOV   A,R7                         ;114B   EF
                   ADD   A,0BH                        ;114C   25 0B
                   MOV   R7,A                         ;114E   FF
                   MOV   A,R6                         ;114F   EE
                   ADDC  A,0AH                        ;1150   35 0A
                   MOV   R6,A                         ;1152   FE
                   MOV   A,R5                         ;1153   ED
                   ADDC  A,09H                        ;1154   35 09
                   MOV   R5,A                         ;1156   FD
                   MOV   A,R4                         ;1157   EC
                   ADDC  A,08H                        ;1158   35 08
                   MOV   R4,A                         ;115A   FC
                   LJMP  Q11D8                        ;115B   02 11 D8
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
24条回答
Rocker
1楼-- · 2020-01-22 19:21
建議軟件模擬,跟蹤一下。怎么进行软件模拟?请指点,谢谢。
lin28
2楼-- · 2020-01-22 19:50
 精彩回答 2  元偷偷看……
Rocker
3楼-- · 2020-01-23 00:14
我也想啊,前面有个贴子在讨论阿,很多高手都否了。
mkpoon
4楼-- · 2020-01-23 05:24
51很久沒用了,都不大記得了.我以為07H=R7,先保存其值再裝入立即數#0E7H ,(很多人習慣,在子程序用到記存器時,先保存其值,這樣其它地方用到這記存器時就不會攪亂它的內容了)故要压栈 ,以下的06H,R6同理                  
怎么进行软件模拟? 用keil呀,開個project,把它單步執行看看它做了些啥,當然你先要把程序修改成可運行的.
eduhf_123
5楼-- · 2020-01-23 09:03
Q114B:             MOV   A,R7                         ;114B   EF
                   ADD   A,0BH                        ;114C   25 0B
                   MOV   R7,A                         ;114E   FF
                   MOV   A,R6                         ;114F   EE
                   ADDC  A,0AH                        ;1150   35 0A
                   MOV   R6,A                         ;1152   FE
                   MOV   A,R5                         ;1153   ED
                   ADDC  A,09H                        ;1154   35 09
                   MOV   R5,A                         ;1156   FD
                   MOV   A,R4                         ;1157   EC
                   ADDC  A,08H                        ;1158   35 08
                   MOV   R4,A                         ;115A   FC
                   LJMP  Q11D8                        ;115B   02 11 D8
======================================================================================
功能:
R4R5R6R7(unsigned long类型,R4为MSB) += RAM[0x08 0x09 0x0A 0x0B](unsigned long类型,0x08为MSB)
eduhf_123
6楼-- · 2020-01-23 11:08
Q1130:             CLR   A                            ;1130   E4
                   MOVC  A,@A+DPTR                    ;1131   93
                   INC   DPTR                         ;1132   A3
                   XCH   A,R0                         ;1133   C8
                   XCH   A,DPL                        ;1134   C5 82
                   XCH   A,R0                         ;1136   C8
                   XCH   A,R2                         ;1137   CA
                   XCH   A,DPH                        ;1138   C5 83
                   XCH   A,R2                         ;113A   CA
                   MOVX  @DPTR,A                      ;113B   F0
                   INC   DPTR                         ;113C   A3
                   XCH   A,R0                         ;113D   C8
                   XCH   A,DPL                        ;113E   C5 82
                   XCH   A,R0                         ;1140   C8
                   XCH   A,R2                         ;1141   CA
                   XCH   A,DPH                        ;1142   C5 83
                   XCH   A,R2                         ;1144   CA
                   DJNZ  R7,Q1130                     ;1145   DF E9
                   DJNZ  R6,Q1130                     ;1147   DE E7
                   SJMP  Q1109                        ;1149   80 BE
======================================================================================
功能:
ROM中数据块送往XRAM中;ROM中数据块的起始地址由DPTR取得;XRAM中目标区域的首址由R2R0取得(R2为高8位);数据块长度由R6、R7取得,为(R6-1)* 256 + R7,其中R6和R7的取值范围为1~256,也就是说如果为零,则最后的效果为256。

一周热门 更多>