$accountname = ”myaccount”ControlSetText (”Super Password 1.0” , ””,”[CLASS: TEdit ; INSTANCE:3]” , $accountname)$String = ”a ,b, c ,d, e , f ,g ,h, i , j ,k , l ,m,n,o ,p,q, r , s , t ,u,v ,w,x,y, z”& ” ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9”$String = StringSplit ( $String , ” ,”)For $i = 1 To $String [0] Step +1For $i1 = 1 To $String [0] Step +1For $i2 = 1 To $String [0] Step +1For $i3 = 1 To $String [0] Step +1$1 = $String [ $i ] & $String [ $i1 ] & $String [ $i2 ] & $String [ $i3 ]ControlSetText (”Super Password 1.0” , ””,”[CLASS: TEdit ; INSTANCE:4]” , $1)ControlClick (”Super Password 1.0” , ””,”[CLASS:TButton; INSTANCE:1]”)$a = ControlGetText( ”Super Password 1.0” , ””,”[CLASS: TEdit ; INSTANCE:2]”)If $a == $capturedpassword ThenWhile (True)MsgBox(0 , ””, $1 , 1)sleep (1000)WEndExitEndIf NextNextNextNextWith only 4000 keys a minute breaking a only 4 character password would take us almost 7 hours:(
36
4
4000
∗
60
).
3 Whitebox Analysis
3.1 Modifying the original binary
When looking at the application with a debugger, we can see that there are some interesting addresses:
•
0x004022AA: calls the start of password generation which is located at 0x0040179C
•
0x00402474
→
0x0040264B: the applications help function3