Irfan View v3.25
Let's NOT forget how FRAGILE we are!
Best view 1024 X 768
by FaT[BiT] \ TNT!
Cracking For Beginners
 
Program Info
Program Name : i_view32.exe
Program Type : image util.
Program Location : http://stud1.tuwien.ac.at/~e9227474/
Program Size : 497KB
 
ToolZ :
SoftIce v4.05


All these toolz can be found at http://w3.to/protools
Easy ( X ) Medium (  ) Hard (  ) Pro (  )


Irfan View v3.10
Cracked and Written by : FaT[BiT] \ TNT!
Tutorial No. : 15


Dedication Fly to

To the Best ppl i have every known on iRC (efNET)
-- aZmO -- -- [XASX] -- -- Sir dReAm -- -- Iczelion -- -- hutch --

Intoduction & Protection

iNTROdUCTION :

hi there and wellcome to another tutorial on how to crack !!!
for this tutorial i have found a very lovley program to crack ...( check the info above )... i think thats all i have to say .....

pROCtECTION :

o.k ... as u can see after u install irfan view on the about screen it says registered to You ...( how nice !! )... but never the less there is in the help menu something called registration , and it needs a name and a code to register ...(i think u got the idea !!)... , but there is something else , the exe file is packed with aspack , but in this tutorial i will only use softice to find a serial for my name , so there is no need to unpack and dasming it !!!

The Essay

o.k let's begin this crack !!!
installl irfan view , then run it , click on help\registration , and enter ur name and a dummy code in my case i put :

Name : FaT[BiT] \ TNT!
Code : 123456789

Now before u click on the o.k button get into softice by pressing [ctrl]+d , and set a breakpoint like this one bpx GetDlgItemTextA then press F5 to exit softice press the o.k button and softice will break , press F5 again - cuz the first break is for the name - softice will break again , press F11 to get the caller then press F10 until u reach the RET command then press F12 for i think ... wait ... yeah press F12 for 17 time and u will land at this code :


:004456E9 85C0              test eax, eax <-- check if we enter anything
:004456EB 0F84C6660000      je 0044BDB7 <-- if no (zero result) jump to err
:004456F1 8DBC2418140000    lea edi, dword ptr [esp+00001418] <-- else put name in edi ...( write d edi )...
:004456F8 83C9FF            or ecx, FFFFFFFF <-- set ecx to -1
:004456FB 33C0              xor eax, eax <-- clear eax
:004456FD F2                repnz scasb <-- repeat scaning string of size byte while not zero
:004456FF F7D1              not ecx <-- change the value of ecx from -ve to +ve
:00445701 49                dec ecx <-- ecx = ecx - 1 (ecx--) in other words = length of our name
:00445702 83F902            cmp ecx, 00000002 <-- compare name length with 2
:00445705 0F8231010000      jb 0044583C <-- jump if below than 2 to error
:0044570B 8DBC2418140000    lea edi, dword ptr [esp+00001418] <-- again put name in edi
:00445712 83C9FF            or ecx, FFFFFFFF <-- do the
:00445715 F2                repnz scasb <-- the same shit to get our
:00445717 F7D1              not ecx <--name length
:00445719 49                dec ecx <-- in ecx
:0044571A 83F955            cmp ecx, 00000055 <-- compare name length with 55h = 85d
:0044571D 0F8719010000      ja 0044583C <-- jump if above than 55 to error
:00445723 8DBC2418150000    lea edi, dword ptr [esp+00001518] <-- put our dummy code in edi ...( write d edi )...
:0044572A 83C9FF            or ecx, FFFFFFFF <-- set ecx to -1
:0044572D 33D2              xor edx, edx <-- clear eax
:0044572F F2                repnz scasb <-- repeat scaning string of size byte while not zero
:00445731 F7D1              not ecx <-- change the value of ecx from -ve to +ve
:00445733 49                dec ecx <-- ecx = ecx - 1 (ecx--) in other words = length of our name
:00445734 85C9              test ecx, ecx <-- did u enter anything in the code box ?
:00445736 7E5A              jle 00445792 <-- cuz if not then jump to error
:00445738 8A841418150000    mov al, byte ptr [esp+edx+00001518] <-- put a digit of our dummy code in al *start of loop*
:0044573F 3C30              cmp al, 30 <-- compare it with 30h = 1 as a char
:00445741 7C04              jl 00445747 <-- if it's less set ebx to 1
:00445743 3C39              cmp al, 39 <-- comapre it with 39h = 9 as a char
:00445745 7E05              jle 0044574C <-- if less or equal continue
:00445747 BB01000000        mov ebx, 00000001 <-- set ebx to 1
:0044574C 8DBC2418150000    lea edi, dword ptr [esp+00001518] <-- put our dummy code in edi
:00445753 83C9FF            or ecx, FFFFFFFF <-- set ecx to -1
:00445756 33C0              xor eax, eax <-- clear eax
:00445758 42                inc edx <-- increment the counter
:00445759 F2                repnz scasb <-- <-- repeat scaning string of size byte while not zero
:0044575B F7D1              not ecx <-- change the value of ecx from -ve to +ve
:0044575D 49                dec ecx <-- ecx = ecx - 1 (ecx--) in other words = length of our name
:0044575E 3BD1              cmp edx, ecx <-- compare the length of our code in ecx with our counter
:00445760 7CD6              jl 00445738 <-- if less do the loop again
:00445762 85DB              test ebx, ebx <-- check the value of ebx
:00445764 742C              je 00445792 <-- if zero jump ...( we will jump this )...
...
:00445792 8D8C2418150000    lea ecx, dword ptr [esp+00001518] <-- put our dummy code in ecx
:00445799 8D942418140000    lea edx, dword ptr [esp+00001418] <-- put our name in edx
:004457A0 51                push ecx <-- store dummy code in stack
:004457A1 52                push edx <-- store name in the stack
:004457A2 E8293EFEFF        call 004295D0 <-- call procedure to calcualte the real serial and return result in edx
:004457A7 83C408            add esp, 00000008 <-- add 8 to stack pointer
:004457AA 85C0              test eax, eax <-- check the value of eax
:004457AC 752C              jne 004457DA <-- if not zero jump to error message


WOW !!! that was a long trace don't u think ....
one last thing i have to say , that when u r tracing with the F10 , and reach to address 004457A7 write in softice d edx and u will see ur real code , so let's try it and ...

Irfan View id Registered

Final Wordz

will here u go ... i hope u have enjoyed this tut as much as i did writing it
in the end i would like to greet the following ppl !!
FaT[BiT]_FaTz0 greetz the following :

tKC ... (for showing me the light !! )
LW2000 ... ( Thanx alot i now use my brain )
[XasX] ... (a very good founder and a very good friend also!)
AzmO ... (yes!! man we are different !! )
Sir dReAm ... (i will be seeing u soon !! )
BoneZ ... (thanx alot for the support !!)
BillGameZ, VaibLitzeR, MezUz , and ShaQ ... (good luck to u all !! )

and to all TNT!CRACK!TEAM! members ... (keep up the good work !!)

any comments mail me : fattnt@yahoo.com

See ya in another tut !!! Soon !!!

--= EOF =--