My_Partner's : Zer03s | Nofia | Myw1sd0m | IT-Rc |
-------------------------------------------------------------------------------------------------------------------------------

Learning Basic of reverse engineering


What is Reverse Engineering?

Have you ever noticed, Nokia or Iphone made an application and after few days you find that on Samsung or any other mobile device. Its nothing that difficult, its called reverse engineering. They decode their programs to get the basic structure of the original program and then following the structure codes their own and sometimes doesn't even happen just make some code changes and uses them.
According to Wikipedia "Reverse engineering is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. It often involves taking something (e.g., a mechanical device, electronic component, biological, chemical or organic matter or software program) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing without using or simply duplicating (without understanding) the original".

Ahh.. more technology related. I will explain you in better way. As the name suggest reverse engineer means if have something already made, in computer field say exe installer file. Now what reverse engineering is, decoding the exe in such as fashion that we will get original source code or some what near to it. Consider an example, you have a wall made of bricks, here bricks are base material to build the wall. Now what we want to do is we want to obtain all the bricks from the wall. Similarly we have an executable or dll file and we know programs are made from coding only, so source codes are base material in building executable. So we want to obtain the source code from the executable or some what near to it. As when you break wall also to get the bricks some bricks are also got broken and that's all depend type of material used to fix or mend bricks to make the wall. Similarly the retrieval of source code from executable depends upon how securely software is being packed and type of cryptography or packer is used by its designer.

I hope now you have got what exactly reverse engineering is.



What is the use or benefit of Reverse Engineering?

I can guarantee most of internet users use cracks or keygens or patches. Have you ever tried to understand how they are made. Ahhh... I know you haven't. So let me give you clear information. All the keygens or cracks or patches of software's are made by technique called Reverse Engineering. Oops... I was going to tell the benefits.. what i am telling...negative features... But these are features of reverse engineering my friends and most commonly used by all famous organizations as its a part of their Program promoting methodolgy.

Other Beneficial Uses of Reverse Engineering:

  • Product analysis: To examine how a product works
  • Removal of copy protection, circumvention of access restrictions.
  • Security auditing.
  • Extremely useful when you lost documentation.
  • Academic/learning purposes.
  • Competitive technical intelligence (understand what your competitor is actually doing, versus what they say they are doing).
  • Last but not the least..Learning: learn from others' mistakes. Do not make the same mistakes that others have already made and subsequently corrected.

Common Terms Used in Reverse Engineering:

1. Debugger
2. Deassembler
3. Decompiler
4. Packers or Unpackers
5. Program Obfuscation
6. Hex Editing
7. Cryptography

I will explain these terms in detail in my next article. Till then you can explore these topics on internet so that you will have some prior knowledge of Reverse Engineering terms.

Note: Reverse Engineering articles will going to be more advanced and technology oriented which surely requires prior knowledge of Assembly language specially registers and accumulators and several reverse engineering commands like JMP, DCL etc..

Writing PolicyKit applications without D-Bus - Python Script

I'm always happy when more libraries get Python bindings, and today I've been especially excited by the fact that GObject introspection support for PolicyKit has finally appeared in Natty repositories. Basically it means, that PolicyKit is now accessible from Python through a native API without direct D-Bus communication. I've tried to port the querying example from PolicyKit manual and it did work!

The Python example below is an almost line-by-line port of the original, but it should give you a basic idea on how to use the API for your own scripts.
#! /usr/bin/env python

import sys, os
from gi.repository import GObject, Gio, Polkit

def on_tensec_timeout(loop):
  print("Ten seconds have passed. Now exiting.")
  loop.quit()
  return False

def check_authorization_cb(authority, res, loop):
    try:
        result = authority.check_authorization_finish(res)
        if result.get_is_authorized():
            print("Authorized")
        elif result.get_is_challenge():
            print("Challenge")
        else:
            print("Not authorized")
    except GObject.GError as error:
         print("Error checking authorization: %s" % error.message)
        
    print("Authorization check has been cancelled "
          "and the dialog should now be hidden.\n"
          "This process will exit in ten seconds.")
    GObject.timeout_add(10000, on_tensec_timeout, loop)

def do_cancel(cancellable):
    print("Timer has expired; cancelling authorization check")
    cancellable.cancel()
    return False

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("usage: %s " % sys.argv[0])
        sys.exit(1)
    action_id = sys.argv[1]

    mainloop = GObject.MainLoop()
    authority = Polkit.Authority.get()
    subject = Polkit.UnixProcess.new(os.getppid())

    cancellable = Gio.Cancellable()
    GObject.timeout_add(10 * 1000, do_cancel, cancellable)

    authority.check_authorization(subject,
        action_id, #"org.freedesktop.policykit.exec",
        None,
        Polkit.CheckAuthorizationFlags.ALLOW_USER_INTERACTION,
        cancellable,
        check_authorization_cb,
        mainloop)

    mainloop.run() 


In order to run this example, make sure you have the gir1.2-polkit-1.0 package installed and provide an action in the command line, for example:

./polkit-test org.freedesktop.policykit.exec

I suppose, the API is still a little rough on the edges, but it's already usable and I'm going to try it for an upcoming D-Bus service in indicator-cpufreq. Looks like it's perfect time to start moving things to GObject introspection already.

syn and Ping Flood Protect - Python Script



simple code to protect your system from syn flood and ping flood attack..
auth0r: JimmyR.D




PHP Programming Video Tutorial: Basics Tutorials PHP Programming

PHP Programming: The Basics Tutorials

English | 800x600 | MP4V | 25fps - 315kbps | Audio 66kbpskbps-44100Hz | 587MB
Geren : Video training and tutorials


In Real World PHP Programming: The Basics, Mike Morton introduces PHP programming in a fashion that is immediately applicable to experienced programmers, and new programmers alike. This programming title does not focus on getting certified in PHP, but rather focuses on the application of PHP in everyday programming, including the proper terminology as well as learning PHP slang. Starting with the absolute basics of PHP types and statements, Mike progresses you through conditional and loops, MySQL, and into advanced topics such as functions and session management. With working examples, and application of what you are learning shown throughout, Mike makes learning PHP an easy and enjoyable endeavour. To begin learning today simply click on one of the links.
Introduction
What This Course Covers (02:14)
What You Will Need (02:41)
Resources - Using PHP.net Pt.1 (04:51)
Resources - Using PHP.net Pt.2 (04:17)
Other PHP Resources (03:10)
Hosting Resources (06:23)

Starting with PHP
What is PHP (04:10)
PHP Programming Standards (04:07)
Embedding PHP in HTML (05:27)
Embedding HTML in PHP (05:15)
The All Important Semi-colon (01:38 )
Your First PHP Script (05:34)
Comments (02:24)
Chapter 2 Challenge (07:57)

PHP Basics
Variables (04:04)
PHP Statements (00:45)
Values and Value Types Part 1 (07:48 )
Values and Value Types Part 2 (02:43)
Referencing Variables and Constants (03:00)
Superglobals (05:04)
Variable Variables (03:56)
Basic Operators Part 1 (04:21)
Basic Operators Part 2 (04:35)
Advanced Operators (05:52)
Chapter 3 Challenge (06:08 )

PHP Conditionals and Loops
The "IF" Statement (04:45)
Extending "IF" (03:02)
"SWITCH" Statements (04:40)
The "WHILE" Structure (03:18 )
The "DO-WHILE" Structure (02:29)
The "FOR" Loop (04:41)
Chapter 4 Challenge (02:28 )

Applying What You Know
INCLUDE and REQUIRE (03:42)
Setting up Your File Structure (04:53)
Global Headers and Footers (03:16)
A Functional Website Example Pt.1 (06:23)
A Functional Website Example Pt.2 (04:18 )
A Functional Website Example Pt.3 (04:32)
A Functional Website Example Pt.4 (04:49)
A Functional Website Example Pt.5 (04:30)
A Functional Website Example - Addendum (06:09)

PHP and functions
Why use functions (03:12)
Variable Scope (02:58)
Creating and using Functions (03:12)
Functions with Parameters (06:28 )
Returning Values (04:05)
Chapter 6 Challenge (05:59)

PHP Arrays
What is an Array (02:09)
Creating Arrays (06:03)
Multidimensional Arrays (03:23)
"FOREACH" looping - basic (03:18 )
"FOREACH" looping - advanced (04:19)
Navigating Arrays (02:21)
Manipulating Keys (03:56)
Sorting Arrays (02:41)
Serialization (02:20)
Challenge (07:56)

Starting with MYSQL
Getting Information: mysql.com (02:49)
Other MYSQL Resources (02:00)
What is a relational database? (03:27)
Accessing MYSQL - the command line (04:36)

MYSQL Basics
Configuring Users in MYSQL - Part 1 (03:59)
Configuring Users in MYSQL - Part 2 (03:02)
Creating Databases and Tables (02:24)
MYSQL Data Types - Numeric Types (04:04)
MYSQL Data Types - Date Types (02:17)
MYSQL Data Types - String Types (02:58)
EXAMPLE: Creating A Table Statement - Part 1 (05:27)
EXAMPLE: Creating A Table Statement - Part 2 (03:47)
Basic MYSQL commands - INSERT (02:46)
Basic MYSQL commands - SELECT and UPDATE (05:46)
Basic MYSQL commands - DELETE and DROP (02:32)
Setting Up phpMyAdmin (05:43)
Using phpMyAdmin (06:06)

Using MYSQL with PHP
Connecting to MYSQL (02:28 )
Choosing a database (01:49)
Querying a database (03:53)
Retrieving results (05:38 )
Useful MySQL functions in PHP (03:55)

PHP and Sessions
What is a session (01:39)
set_cookie vs session_start (05:36)
Session Tracking With Built in PHP Functions (03:54)
Session Tracking With Databases Pt.1 (04:36)
Session Tracking With Databases Pt.2 (04:40)

Final Words
Where to go from here (03:02)

Credits
About the Author (02:04)

DOWNLOAD