Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
robclemons committed Jun 16, 2011
0 parents commit d0a1f05
Show file tree
Hide file tree
Showing 347 changed files with 173,382 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="output" path="bin"/>
</classpath>
31 changes: 31 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
*.pydevproject
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
.settings/
.loadpath

# CDT-specific
.cproject

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties
33 changes: 33 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Arpspoof</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
24 changes: 24 additions & 0 deletions AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.rclemons.arpspoof"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<activity android:name=".Arpspoof"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SpoofingActivity"
android:launchMode="singleInstance"/>
<service android:exported="false"
android:name=".ArpspoofService">
</service>

</application>
</manifest>
32 changes: 32 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Arpspoof

This project is a port of Weiming Lai's Next Generation Arpspoof(the original Arpspoof
was written by Dug Song) to Android.

Arpspoof redirects traffic on the local network by forging ARP replies and sending them to
either a specific target or all the hosts on the local network. Be sure to have IP forwarding
enabled or use an application that will forward the traffic, otherwise the targets will suffer a DOS.

Arpspoof can be installed two different ways. The binary compiled from the C code can be used
by itself from a terminal emulator or you can build the apk and install that on the device.

Compiling the C code

dependencies:
- libpcap
- libnet

building:
First you'll need to have the NDK installed. http://developer.android.com/sdk/ndk/index.html
cd into Arpspoof's jni directory and run ndk-build.
(optional)run "ndk-build clean" to clean up all the files you no longer need.

installing just the binary:
copy the binary you've just created over to the Android device at a convenient location(ie /data/local/bin/)
execute the binary from a terminal emulator as root


Building the apk

Place the binary you created named arpspoof into the project's res/raw/ directory.
Then build the apk just like you would any other Android app.
11 changes: 11 additions & 0 deletions default.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.

# Project target.
target=android-6
20 changes: 20 additions & 0 deletions jni/Android.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
LOCAL_PATH := $(call my-dir)
MY_LOCAL_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)

LOCAL_MODULE := arpspoof

LOCAL_SRC_FILES := arpspoof/arp.c \
arpspoof/arpspoof.c \
arpspoof/find_neigh_mac.c \
arpspoof/getopt.c \
arpspoof/ip6_ndar.c \
arpspoof/libnet_helper.c \
arpspoof/ensure_death.c \

APP_OPTIM := release
LOCAL_C_INCLUDES := libpcap libnet/include include
LOCAL_STATIC_LIBRARIES := libpcap libnet
include $(BUILD_EXECUTABLE)
include $(MY_LOCAL_PATH)/libpcap/Android.mk
include $(MY_LOCAL_PATH)/libnet/Android.mk
Loading

0 comments on commit d0a1f05

Please sign in to comment.