Subj : Reverse Engineering C++ Exe To : borland.public.cpp.borlandcpp From : "Kavitha" Date : Wed Oct 22 2003 03:09 pm Hi I have an Executable built using C++. Unfortunately I missed my source code and the documents. I would like to reverse engineer the algorithm used in it. So that I can build the same logic with new tool. My Exe will accept 6 digit Signed Integer and will produce another 6 digit number. It is using Signed 32 bit Integer. and using shift left it is generating the output(or *2 which is equal to shift left). It is using Hexa decimal Conversion of the decimal entered. As we already know, 32 bit Signed Integer will acccept only the range, -2147483648 to 0 to +2147483647. In the given example, it reaches this limit at 1e level and once it is going out of range, (1f) overflow occurs. If overflow the number is reversed back to valid number using some logic. I need a help at this place to trace. I am clear upto this. Any help in this is most welcome. Thanks in Advance. Ex/. Input Entered: 1 Hex Value S.No 1 1 2 0 4 1 8 2 10 3 20 4 40 5 80 6 100 7 200 8 400 9 800 A 1000 B 2000 C 4000 D 8000 E 10000 F 20000 10 40000 11 80000 12 100000 13 200000 14 400000 15 800000 16 1000000 17 2000000 18 4000000 19 8000000 1a 10000000 1b 20000000 1c 40000000 1d 80000000 1e(until this place shift left is used) 77982990 1f(logic changes here) ef305320 20(Again the same shift left) a9f88fd0 21 24693630 22 48d26c60 23 91a4d8c0 24 54d19810 25 a9a33020 26 24de49d0 27 Convert this 27 value (24de49d0) into decimal(618547664) so my final output is 547664. .