Perfect Paper Passwords – Open Source

Original by Steve Gibson:

Java and C implementation by John Graham-Cumming:

Changes for compiling C version on Windows and Ubuntu Gutsy Gibbon by Lauri Ojansivu:


Discussion about PPP implementations

GRC:s Newsgroups: http://www.grc.com/newsdown.htm
Direct link to web interface: http://12078.net/grcnews/thread.php?group=grc.thinktank



– Added source and binaries to https://github.com/xet7/ppp

– PPPv3 from John merged
– made StartMinGW.bat file for adding paths to get compiling on Vista working  because Vista has security changes so MinGW Studio can’t find cc1.exe and as.exe,
found this path info from http://www.nabble.com/cc1-not-found-t3488675.html
– changed Makefile to remove CFLAGS -O2 and add LDFLAGS -lm  (Makefile is used on Linux, on Windows MinGW uses project file settings)
Misc notes:
– John’s PPPv3 c-version compiles on Ubuntu without my changes too, though then installing binary needs to be made with cp, not “sudo make install”
– on Ubuntu compiled John’s version is 54164 bytes and my version 53647 bytes (517 bytes smaller), maybe because of:
– John’s version compiles with cc and mine with gcc
– or compiler flags
– or my code changes in ppp.c
– or something else…
– Windows Open Source PPPv3 version and Steve’s current PPPv2 version works on Linux x86 with Wine too: “wine ppp.exe …”

(older changes in the ppp_source.zip file ChangeLog)







ppp_sourceppp_source (316k)            – source code for Windows and Linux

 (16k)   – binary for Windows

(22k)       – binary for Linux x86


Compiling from source


1. Install MinGW Developer Studio for Windows from http://www.parinyasoft.com/

2. If you are on Vista, either:

   a) copy StartMinGW.bat to desktop and doubleclick it (easier way)

   b) add paths of the StartMinGW.bat to your environment variable, as quoted from
“In Vista, you can edit the PATH variable by going to the Control Panel –> System and Maintenance –> System window and clicking on the “Advanced system settings” link
in the left column.  After you approve the UAC popup, the “System Properties” pane will open and you will see a button labeled “Environment Variables.”
Clicking this button will open the “Environment Variables” pane, and the PATH variable can be found in the “System variables” section.”

3. After unzipping ppp_source.zip and starting MinGW Developer Studio:
Project / Open Project  – ppp_source/ppp.msp
Build / Compile – there’ll come exe in ppp_source/Release/ppp.exe

Linux etc

sudo make install

so that installs binary to /usr/local/bin/ppp
To remove it just do: sudo rm /usr/local/bin/ppp
and to clean ppp dir just: make clean