2017-02-12 4 views
0

Wireshark에 대한 해부학자를 작성 중이며 aeslua을 사용하여 들어오는 패킷의 암호를 해독하려고합니다. 해부학자가 잘 작동하지만 aeslua가 처리됩니다. 바이트로 변환 한 후 테이블에 암호를 넣으려고하는 행에.루아에서 테이블로 바이트를 변환하는 것이 작동하지 않습니다. 5.2.4

문제의 라인은 이것이다 :

local pwBytes = { string.byte(password,1,#password)} 

이 (Wireshark는 2.2.4에 포함되어 있습니다) 루아 5.2.4에 null을 반환하지만 (글을 쓰는 시점 2.3.4)의 온라인 데모 , 예상 값을 리턴합니다.

나는로 변경 시도 :

local pwBytes = { password:byte(1, #password) } 

그러나 같은 널 (null) 결과를 얻었다.

local password = "ABCDEFABCDEFA" 
local pwBytes = {string.byte(password,1,#password)} 
print(pwBytes) 

나는이 문제를 해결받을 수있는 방법이 있나요 : 참고로

, 그는 내가 루아 데모에 실행 된 코드는?

+0

을 제공합니다. – lhf

+0

@lhf 재미 있습니다. Wireshark의 버그 일 수 있습니다. 이 대화를 AskWireshark에 가져 가야 할 수도 있습니다. – Grayda

답변

1

코드는 재고 루아 5.2.4에서 잘 작동 :

local password = "ABCDEFABCDEFA" 
local pwBytes = {string.byte(password,1,#password)} 
print(pwBytes) 
for k,v in ipairs(pwBytes) do 
    print(k,v) 
end 

는 코드 재고 루아 5.2.4에서 잘 작동

table: 0x7fc689d00560 
1 65 
2 66 
3 67 
4 68 
5 69 
6 70 
7 65 
8 66 
9 67 
10 68 
11 69 
12 70 
13 65 
+0

고마워요. 또한이 질문을 [Wireshark Q & A 사이트] (https://ask.wireshark.org/questions/59347/converting-bytes-to-table-for-lua-dissector-doesnt-work)에 게시했습니다. – Grayda