欧美 日韩 国产 成人 在线观看丨欧美综合自拍亚洲综合图丨3d动漫精品啪啪一区二区中丨人妻无码一区二区不卡无码av丨日躁夜躁狠狠躁2001

softtest
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 20 個(gè)
工控威望: 94 點(diǎn)
下載積分: 474 分
在線時(shí)間: 4(小時(shí))
注冊(cè)時(shí)間: 2018-04-18
最后登錄: 2018-05-30
查看softtest的 主題 / 回貼
樓主  發(fā)表于: 2018-04-18 11:04
近日在學(xué)習(xí)昆侖通態(tài)資料,寫了一個(gè)反編譯工具 ,但發(fā)現(xiàn)一遍反編譯的話,while 指令還原不了。哪位有什么好建議沒?
'———————————————————————                                                                                                                                                                                                      
'自定義子函數(shù):DoStrCrc16。                                                                                                                                                                                                                          
'函數(shù)原型為: FUNCTION DoStrCrc16(strProtocol AS STRING) AS INTEGER                                                                                                                                                                                  
'這部分注釋請(qǐng)勿修改,請(qǐng)?jiān)谙旅婢庉媰?nèi)容:                                                                                                                                                                                                              
'———————————————————————                                                                                   DoStrCrc16(strProtocol as string) as integer                                                                      
dim iLen as integer                                                                                            |dim Ta as integer                                                                                                                    
dim iSum as byte                                                                                               |dim Tb as byte                                                                                                                      
dim pData(1) as byte                                                                                           |dim Va(1) as byte                                                                                                                    
dim ulSeed as integer                                                                                          |dim Tc as integer                                                                                                                    
dim i    as integer                                                                                            |dim Td as integer                                                                                                                    
dim sel  as integer                                                                                            |dim Te as integer                                                                                                                    
dim wCRC16a(16) as integer                                                                                     |dim Vb(16) as integer                                                                                                                
dim wCRC16b(16) as integer                                                                                     |dim Vc(16) as integer                                                                                                                
wCRC16a[1]=0                                                                                                   |   Vb[1]= 0                                                                                                                          
wCRC16a[2]=49345                                                                                               |   Vb[2]= 49345                                                                                                                      
wCRC16a[3]=49537                                                                                               |   Vb[3]= 49537                                                                                                                      
wCRC16a[4]=320                                                                                                 |   Vb[4]= 320                                                                                                                        
wCRC16a[5]=49921                                                                                               |   Vb[5]= 49921                                                                                                                      
wCRC16a[6]=960                                                                                                 |   Vb[6]= 960                                                                                                                        
wCRC16a[7]=640                                                                                                 |   Vb[7]= 640                                                                                                                        
wCRC16a[8]=49729                                                                                               |   Vb[8]= 49729                                                                                                                      
wCRC16a[9]=50689                                                                                               |   Vb[9]= 50689                                                                                                                      
wCRC16a[10]=1728                                                                                               |   Vb[10]= 1728                                                                                                                      
wCRC16a[11]=1920                                                                                               |   Vb[11]= 1920                                                                                                                      
wCRC16a[12]=51009                                                                                              |   Vb[12]= 51009                                                                                                                    
wCRC16a[13]=1280                                                                                               |   Vb[13]= 1280                                                                                                                      
wCRC16a[14]=50625                                                                                              |   Vb[14]= 50625                                                                                                                    
wCRC16a[15]=50305                                                                                              |   Vb[15]= 50305                                                                                                                    
wCRC16a[16]=1088                                                                                               |   Vb[16]= 1088                                                                                                                      
wCRC16b[1]=0                                                                                                   |   Vc[1]= 0                                                                                                                          
wCRC16b[2]=52225                                                                                               |   Vc[2]= 52225                                                                                                                      
wCRC16b[3]=55297                                                                                               |   Vc[3]= 55297                                                                                                                      
wCRC16b[4]=5120                                                                                                |   Vc[4]= 5120                                                                                                                      
wCRC16b[5]=61441                                                                                               |   Vc[5]= 61441                                                                                                                      
wCRC16b[6]=15360                                                                                               |   Vc[6]= 15360                                                                                                                      
wCRC16b[7]=10240                                                                                               |   Vc[7]= 10240                                                                                                                      
wCRC16b[8]=58369                                                                                               |   Vc[8]= 58369                                                                                                                      
wCRC16b[9]=40961                                                                                               |   Vc[9]= 40961                                                                                                                      
wCRC16b[10]=27648                                                                                              |   Vc[10]= 27648                                                                                                                    
wCRC16b[11]=30720                                                                                              |   Vc[11]= 30720                                                                                                                    
wCRC16b[12]=46081                                                                                              |   Vc[12]= 46081                                                                                                                    
wCRC16b[13]=20480                                                                                              |   Vc[13]= 20480                                                                                                                    
wCRC16b[14]=39937                                                                                              |   Vc[14]= 39937                                                                                                                    
wCRC16b[15]=34817                                                                                              |   Vc[15]= 34817                                                                                                                    
wCRC16b[16]=17920                                                                                              |   Vc[16]= 17920                                                                                                                    
  iSum = 0                                                                                                     |   Tb= 0                                                                                                                            
  ulSeed=0                                                                                                     |   Tc= 0                                                                                                                            
  i=1                                                                                                          |   Td= 1                                                                                                                            
  iLen=!len(strProtocol)                                                                                       |   Ta= !len( strProtocol)                                                                                                            
  if iLen>0 then                                                                                               |   IF   Ta > 0 THEN                                                                                                                  
     iLen=!arrayResize(pData,iLen)                                                                             |      Ta= !ArrayResize( Va , Ta)                                                                                                    
     if !Str2ByteArr(strProtocol,pData)<>0 then                                                                |      IF   !Str2ByteArr( strProtocol , Va) <> 0 THEN                                                                                
      iSum=-1                                                                                                  |         Tb= -1                                                                                                                      
      exit                                                                                                     |         EXIT                                                                                                                        
   endif                                                                                                       |      ENDIF                                                                                                                          
   while iLen                                                                                                  |      IF   Ta THEN                                                                                                                  
     iSum=!BitXor(pData,uLseed)                                                                             |         Tb= !BitXor( Va[Td] , Tc)                                                                                                  
     ulSeed=!BitXor(!BitXor(!BitRShift(ulSeed,8),wCRC16a[!BitAnd(iSum,&H0F)+1]),wCRC16b[!BitRShift(iSum,4)+1]) |         Tc= !BitXor( !BitXor( !BitRShift( Tc , 8) , Vb[!BitAnd( Tb , 15) + 1]) , Vc[!BitRShift( Tb , 4) + 1])                      
     iLen=iLen-1                                                                                               |         Ta= Ta - 1                                                                                                                  
     i=i+1                                                                                                     |         Td= Td + 1                                                                                                                  
   endwhile                                                                                                    |      EndWhile      ENDIF                                                                                                            
  endif                                                                                                        |   ENDIF                                                                                                                            
  DoStrCrc16=!BitAnd(ulSeed,&Hffff)                                                                            |   DoStrCrc16= !BitAnd( Tc , 65535)                                                                                                  
                                                                                                               |   EXIT                                                                                                                              
左邊為設(shè)備原代碼,后面為反編譯還原后的。
softtest
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 20 個(gè)
工控威望: 94 點(diǎn)
下載積分: 474 分
在線時(shí)間: 4(小時(shí))
注冊(cè)時(shí)間: 2018-04-18
最后登錄: 2018-05-30
查看softtest的 主題 / 回貼
1樓  發(fā)表于: 2018-04-18 11:21
CollectData設(shè)備采集函數(shù)() as Void
dim Ta as integer
dim Tb as integer
dim Tc as string
dim Td as string
dim Te as string
dim Tf as string
dim Va(0) as byte
dim Vb(0) as byte
dim Vc(0) as byte
dim Tg as integer
dim Th as integer
dim Ti as single
dim Tj as integer
   Ta= 0
   Tb= 0
   !ArrayResize( Va , 12)
   Va[1]= 0
   Va[2]= 1
   Va[3]= 2
   Va[4]= 3
   Va[5]= 4
   Va[6]= 5
   Va[7]= 6
   Va[8]= 7
   Va[9]= 8
   Va[10]= 9
   Va[11]= 0
   Va[12]= 0
   !SvrGetIntFromByteArr( Va , 2 , Ta , 1)
   !ArrayResize( Va , 8)
   Va[1]= 設(shè)備屬性00
   Va[2]= 3
   Va[3]= 0
   Va[4]= 0
   Va[5]= 0
   Va[6]= 8
   Tg= !SvrByteArrayModbusCRC( Va , 1 , 6)
   Va[7]= !BitAnd( Tg , 255)
   Th= !BitAnd( Tg , 65280)
   Va[8]= !BitRShift( Th , 8)
   !ArrayResize( Vb , 21)
   Tg= !DevWriteAndReadByteArr( Va , 8 , Vb , 21 , 設(shè)備屬性01)
   IF   Tg <> 21 THEN
      !SetSingleChannelValueByName( "通訊狀態(tài)" , 2)
      EXIT
   ENDIF
   Ta= 0
   !ArrayResize( Vc , 2)
   IF   Ta < 8 THEN
      Vc[1]= Vb[Ta * 2 + 5]
      Vc[2]= Vb[Ta * 2 + 4]
      Tg= !SvrGetShortFromByteArr( Vc , 1 , Tj , 0)
      Ti= Tj
      !SetSingleChannelValueByNum( Ta + Tb + 2 , Ti)
      Ta= Ta + 1
   EndWhile   ENDIF
   Tb= Tb + Ta
   !SetSingleChannelValueByName( "通訊狀態(tài)" , 0)
   EXIT

主站蜘蛛池模板: 国产精品久久国产三级国| 国产精品久久久久不卡绿巨人 | 丰满熟女人妻一区二区三| 亚洲成a×人片在线观看| 久久婷婷香蕉热狠狠综合| 国产成人无码精品一区不卡| 女人和拘做爰正片视频| 亚洲香蕉中文日韩v日本| 欧美人与物videos另类xxxxx| 800av凹凸视频在线观看| 色哟哟精品网站在线观看 | 国产精品日日做人人爱| 亚洲成在人线在线播放无码vr| 久久久久久九九精品久| 国产欲女高潮正在播放| 亚洲人成色7777在线观看不卡| 丰满少妇高潮惨叫正在播放| 国产精品99久久免费黑人人妻| 高潮又爽又无遮挡又免费| 成人污污污www网站免费| 风韵丰满熟妇啪啪区老熟熟女| 国产在线观看www污污污| 国产白丝喷水娇喘视频| 女人和拘做爰正片视频| 99精品视频免费热播在线观看| 男人进入女人下部视频| 夜夜偷天天爽夜夜爱| 亚洲卡1卡2卡三卡4卡5卡6卡| 18禁网站免费无遮挡无码中文| 国产亚洲tv在线观看| 成人免费无码不卡毛片视频| 香港三日本8a三级少妇三级99| 免费人成网站视频在线观看| 亚洲国产欧美动漫在线人成| 欲香欲色天天综合和网| 正在播放老肥熟妇露脸| 精品国产乱码久久久久久浪潮小说| 色五月激情五月| 综合网日日天干夜夜久久| 国产深夜男女无套内射| 久久天天躁狠狠躁夜夜躁app|