|
1. Best available numerical analysis and curve fitting toolbox.
2. 101 times better than Micro$oft EXCEL.
3. Plots Each and Every type of Scientific and technical graphs.
Given below is the statement from Microcal :
" OriginTM a technical graphics and data analysis software
package designed for Microsoft Windows. First released in 1991, Origin
is used by tens of thousands of scientists, engineers, and Fortune 500
Companies, as well as hundreds of universities worldwide.
Our software provides a powerful combination of spreadsheet,
visualization, and analysis features. With Origin you can automate common
routines, analyze large amounts of data, and create spectacular graphics.
Whether you're an academic scientist, a pharmaceutical researcher, or an
automotive engineer, you'll find Origin both fast and intuitive. Origin's
flexible interface adjusts to fit your needs."
Some comments by various agencies :
"[Origin 5.0] establishes itself as the performance leader
in graphing technology....Origin out performs its competitors significantly...."
National Software Testing Laboratories Report, December
1997
"...Origin's stronger mathematical underpinnings and
powerful scripting language will make it the preferred choice for many
technical users."
PC Magazine, January 20, 1998
"Origin 5.0 is a rare software package that provides
sophisticated data analysis and technical graphics tools in an intuitive,
user-friendly environment....there is absolutely no better choice than
Origin 5.0 for Windows."
HMS Beagle Magazine, November 14, 1997
"Origin 5.0 is one of the finest analytical graphics
packages for Windows....I particularly liked how Origin works with Microsoft
Excel, allowing me to directly open an Excel worksheet from within Origin...."
InfoWorld Magazine, October 27, 1997
So it's a very good program, question is: why does every
dog use Excel instead? Because Micro$oft dominates the market and, no matter
how good the concurrence is, they will always sell theyr crap... that is, unless
some good +reversers show the truth behind the curtains...
|
|
Method 2 : W32dsm89 : Windows
disassembler.
Any Hex editor
TS :
Text search Norton utilities for DOS
Softice 3.2 : Not Required but helpful in deeper
understanding.
|
So its a time limit protection. Now lets move to the methods :
|
Run the program , quit it and note the hrs remaining. Change the date on ur computer to next day. Run the program again and quit it ......... and OH the number of hrs remaining HAS DECREASED. Change the date to one or two Days before and the hrs will increase.
Moral :
(The Price + Complex nature of a software)
IS DIRECTLY PROPORTIONAL TO
( The stupidity of its protection Scheme)
|
Check the number of dlls and exe : 17 LARGE dlls and 1 EXE.
Run TS in origin directory and search for "Demo" in 20 sec the program will report its occurrence inside OK50.DLL and ORIGIN50.EXE. ( I love the fast nature of TS).
So we are short listed to 2 files. Run W32dasm89 and disassemble the two files.
First we take Origin50.exe . Search for "Thank you" in the disassembly window and we got the code for the first nag :
* Reference To: MFC40.MFC40:NoName0159,
Ord:01E6h
|
:00403846 E8991C0000
Call 004054E4
* Possible Ref to Menu: MenuID_000A, Item: "Status
Bar"
|
* Reference to String Resource ID=59393:
"Thank you for using this demo version of Origin..."
|
:0040384B 6801E80000
push 0000E801
:00403850 8D4DF0
lea ecx, dword ptr [ebp-10]
:00403853 C745FC00000000
mov [ebp-04], 00000000
* Reference To: MFC40.MFC40:NoName0073,
Ord:0E48h
; I am sick of these nonames from Micro$oft
|
:0040385A E8DD210000
Call 00405A3C
:0040385F 6A00
push 00000000
:00403861 8B45F0
mov eax, dword ptr [ebp-10]
* Possible StringData Ref from Data Obj ->"Demo"
|
:00403864 68B0954000
push 004095B0
:00403869 50
push eax
:0040386A 6A00
push 00000000
* Reference To: USER32.MessageBoxA,
Ord:0188h
|
:0040386C FF157CB14000
Call dword ptr [0040B17C]
:00403872 C745FCFFFFFFFF
mov [ebp-04], FFFFFFFF
:00403879 E852000000
call 004038D0
* Referenced by a Jump at Address:00403841(C)
|
:0040387E 6A74
push 00000074
The code is self explainatory In order to kill the first nag the switch at 0040383Bh may be hardcoded by 74 -> EB.
Now load the OK50.dll file :
Search for 'Thank you' again and u will get :
* Referenced by a CALL at Addresses: 100780C5 , :100796B4 , :1008F001
|
:10096CC0 64A100000000
mov eax, dword ptr fs:[00000000]
:10096CC6 55
push ebp
--------------Cut Cut Cut -----------------------------------------------
* Referenced by a Jump at Address:10096C98(C)
|
:10096D06 C645FC02
mov [ebp-04], 02
* Reference To: MFC40.MFC40:NoName0020, Ord:0E48h
|
:10096D0A E861D80500
Call 100F4570
:10096D0F E8BC000000
call 10096DD0 ; Time Check routine
:10096D14 85C0
test eax, eax
:10096D16 740F
je 10096D27
* Reference to String Resource ID=09153:
"Thank you for trying the demo version of Origin 5.0.This demo has expired"
|
:10096D18 68C1230000
push 000023C1
:10096D1D 8D4DF0
lea ecx, dword ptr [ebp-10]
* Reference To: MFC40.MFC40:NoName0020, Ord:0E48h
|
:10096D20 E84BD80500
Call 100F4570
:10096D25 EB30
jmp 10096D57
* Referenced by a Jump at Address:10096D16(C)
|
* Reference to String Resource ID=09152:
"Thank you for trying the demo version of Origin
5.0.This demo will expire in x hrs"
|
:10096D27 68C0230000
push 000023C0
:10096D2C 8D4DEC
lea ecx, dword ptr [ebp-14]
--------------Cut Cut Cut -----------------------------------------------
:10096D97 B801000000
mov eax, 00000001
:10096D9C 8B4DF4
mov ecx, dword ptr [ebp-0C]
:10096D9F 64890D00000000
mov dword ptr fs:[00000000], ecx
:10096DA6 8BE5
mov esp, ebp
:10096DA8 5D
pop ebp
:10096DA9 C3
ret
And the nag along with a use less routine was removed. The time check routine is called from many locations (observation by execution in softice.). It is listed below with comments:
:10096DF0 83EC04
sub esp, 00000004
:10096DF3 833D2885121000
cmp dword ptr [10128528], 00000000 ;Date/Time stamp
from origin50.ini already decrypted ?
:10096DFA 7414
je 10096E10 ; Yes
:10096DFC E85F000000
call 10096E60 ; Read and Decrypt date time
:10096E01 C7052885121000000000 mov dword ptr
[10128528], 00000000 ; Toggle switch
:10096E0B A324851210
mov dword ptr [10128524], eax
* Referenced by a Jump at Address:10096DFA(C)
|
:10096E10 8D442400
lea eax, dword ptr [esp]
:10096E14 50
push eax
* Reference To: MSVCRT40.time, Ord:0466h
;obtain system time
|
:10096E15 FF15C4DF1210
Call dword ptr [1012DFC4]
:10096E1B 8B542404
mov edx, dword ptr [esp+04]
:10096E1F 83C404
add esp, 00000004
:10096E22 8B0D24851210
mov ecx, dword ptr [10128524]
:10096E28 51
push ecx
:10096E29 52
push edx
* Reference To: MSVCRT40.difftime, Ord:03DDh
; Calculate difference
|
:10096E2A FF15C0DF1210
Call dword ptr [1012DFC0]
:10096E30 DC0DF0990F10
fmul qword ptr [100F99F0]
:10096E36 83C408
add esp, 00000008
* Reference To: MSVCRT40._ftol, Ord:028Fh
; Convert from float to long
|
:10096E39 E8B2D00500
Call 100F3EF0
:10096E3E 85C0
test eax, eax
; Check to see if withen range
:10096E40 7D09
jge 10096E4B
:10096E42 B8FFFFFFFF
mov eax, FFFFFFFF ;Expired
:10096E47 83C404
add esp, 00000004
:10096E4A C3
ret
:10096E4B B9C0000000
mov ecx, 000000C0 ;OK
:10096E50 83C404
add esp, 00000004
:10096E53 2BC8
sub ecx, eax
:10096E55 8BC1
mov eax, ecx
:10096E57 C3
ret
|
Well this pogram has got some kind of mechanism to register itself. This is quite interesting in itself and purposely left as an exercise to the reader.
This is one of my various Essays on Reversing Engineering Software. I don't always have much time to write these essays, so I cannot say when the other ones will appear.
You can contact me via : -MML-@iname.com
|