Posts: 12
	Threads: 3
	Joined: Feb 2017
	
	
 
	
	
		Hi
i was looking at the wpa cl file: m02500.cl
It looks that there is many similar lines.. which may be replaced with one function or something..
I want to optimize it a bit to get better speed
can someone explain it line by line ?
thank you
	
	
	
	
	
 
 
	
	
	
		
	Posts: 5,232
	Threads: 233
	Joined: Apr 2010
	
	
 
	
	
		Yeah a function or something
	
	
	
	
	
 
 
	
	
	
		
	Posts: 12
	Threads: 3
	Joined: Feb 2017
	
	
 
	
	
		 (02-10-2017, 02:43 PM)atom Wrote:  Yeah a function or something
can you explain it line by line? im sure i can make a change
	
 
	
	
	
	
 
 
	
	
	
		
	Posts: 5,232
	Threads: 233
	Joined: Apr 2010
	
	
 
	
	
		The thing is if you would have any experience in programming you wouldn't have said so. A function will not make it faster, it will make no difference at all. The compiler will recognize a fixed number of iterations and automatically unroll it back. Finally a function only makes it harder to read, hence the code is as it is.
	
	
	
	
	
 
 
	
	
	
		
	Posts: 12
	Threads: 3
	Joined: Feb 2017
	
	
 
	
	
		 (02-10-2017, 03:00 PM)atom Wrote:  The thing is if you would have any experience in programming you wouldn't have said so. A function will not make it faster, it will make no difference at all. The compiler will recognize a fixed number of iterations and automatically unroll it back. Finally a function only makes it harder to read, hence the code is as it is.
Well, i'm still trying to understand it all,, i see there are 11 phases, can you explain what do each one do?
	
 
	
	
	
	
 
 
	
	
	
		
	Posts: 5,232
	Threads: 233
	Joined: Apr 2010
	
	
 
	
	
		It's not hard to understand if you know OpenCL in detail, Crypto schemes like PBKDF2 and how to optimize it as an attacker, HMAC and how to optimize it as an attacker, SHA1 and how to optimize it as an attacker, some Assembly coding for the registers, general GPU architecture for the management, the WPA handshake and how to crack it and most of the bugs in the OpenCL runtime of the different vendors and some other stuff but most important: lots of plain C and of course a good understand of the hashcat architecture
	
	
	
	
	
 
 
	
	
	
		
	Posts: 230
	Threads: 4
	Joined: Aug 2015
	
	
 
	
	
		Yeah, like just put that in a function.
	
	
	
	
	
 
 
	
	
	
		
	Posts: 5,232
	Threads: 233
	Joined: Apr 2010