2015年12月7日 星期一

7 open source Java anti compilation tools 7 款开源 Java 反编译工具 7 款開源 Java 反編譯工具

7 open source Java anti compilation tools 7 款開源 Java 反編譯工具







Automating Removal of Java Obfuscation



  • 80x86 Win32 Disassembler DLL 1.2
  • Hopper Disassembler 1.0.1
  • Udis86 Disassembler for x86 and x86-64 86.1.7
  • APNG Disassembler 2.4
  • PE Explorer 1.99 R3
  • emu8086 2.10
  • PEBrowse Professional Interactive 7.32
  • Visual DuxDebugger 2.8
  • PEBrowseDbg64 Interactive 2.9
  • deadener 1.17
  • PEBrowse64 Professional 2.1
  • IDA PRO for Linux 6.0
  • IDA PRO for Mac 6.0
  • DJ Java Decompiler 3.9.9.91
  • Easy JAVA to Source Converter 1.6

http://www.program-transformation.org/Transform/WebHome
這裡很多資料,以下簡
Program transformation techniques are used in a many areas of software engineering ranging from program synthesis, via program optimization and program refactoring, to reverse engineering and documentation generation. Many theories, tools and applications have been developed over the last 30 years. Often the results of these efforts are used only in the community that developed them.
Program-transformation.org is dedicated to collecting, organizing and disseminating information about all aspects of program transformation in order to share results across communities. Such an effort cannot possibly be achieved by a static web site. Therefore, this site is based on TWiki, a system for collaborative web development. This means that you cannot only read information about program transformation, but also contribute to this site by editing pages and by adding new pages. OneMinuteWiki explains how wiki works. -- EelcoVisser & ArieVanDeursen

http://www.program-transformation.org/Transform/DecompilationResources

Decompilation Resources
Program-Transformation.Org: The Program Transformation Wiki
This page contains links to projects peripherally related to decompilation.
  • Binary files
  • The format of Executable files
  • Tool generator tools
  • Resource extractors
  • Fenris tools
  • Binary file decompilation
  • Java and .NET related
  • Delphi related
  • Conferences and workshops
  • Decompilation-related Theses
  • Decompilation Papers
  • Decompilation Books
  • Online Collaborative Books
  • Miscellaneous



The format of Executable files
  • Win32PE (An In-Depth Look into the Win32 Portable Executable File Format)
  • Pc Exe Format from The Interrupt List by Ralph Brown
  • Ne Format (the NE (New Executable) format (16 bit Windows))
  • ExeFmt A description of the New Executable (NE) 16-bit Windows format.
  • Pe Dump (PE dump program)
  • VXPE (VX Portable Executable Viewer)
  • PE Explorer (Commercial tool)
  • Manuals on several executable file formats (OMF, PE, ELF, Dwarf, etc)


Decompilation-related Theses
  • Reverse Compilation Techniques, C. Cifuentes, Queensland University of Technology PhD thesis, 1994.
  • Static Single Assignment for Decompilation, M. Van Emmerik, University of Queensland PhD thesis, 2007. Also available as gzipped postscript.
  • WYSINXYX: What You See is Not What You Execute, Gogul Balakrishnan, University of Wisconsin-Maddison PhD thesis, 2007. Uses IDA Pro and custom code to analyse x86 binaries for security problems.
  • Designing an Object-Oriented Decompiler, D. Eriksson, Blekinge Institute of Technology Masters thesis, 2002. See also the Desquirr IDA Pro plugin.
  • Proving Program Refinements and Transformations, M. Ward, Oxford University PhD thesis, 1989. This is the basis for Ward's future work, which is able to transform assembly language to C on an industrial scale.


Miscellaneous
  • Hex-rays decompiler plugin. IDA Pro has a commercial decompiler plugin now.
  • Hexblog, by Ilfak Guilfanov (author of IDA Pro), has a decompilation category. Other categories, such as the IDA Pro category, are often of interest.
  • QuantumG's blog was mostly about decompilation, especially the earlier entries. Some very good information.
  • Windows Source Project, maintained by Clive Turvey.
  • List of Debuggers and Disassemblers (from http://www.tech-faq.com). Also their "What is a Decompiler?" page.
  • Free Disassemblers, Decompilers, Binary / Hex Editors and Viewers (from http://www.thefreecountry.com).
  • x86 Assembly Language FAQ
  • The Redo Project Archive.
  • You can use the dllman32 Windows Dynamic Link Library Investigator for finding dependencies among DLL's.
  • The Softpanorama page on Decompilation and Decompilers. Softpanorama describes itself as "resources for the independent study in computer science and programming".
  • The Code Breakers Journal.
  • Bob Stout posted a short history of PC C compilers.
  • http://www.codesites.com (development related links)
  • Fravia's page of Reverse engineering has a cracker's viewpoint, including a page on the legality of reverse engineering. The URL keeps changing; just search for it.
  • ProgramObfuscation could be considered a defence to decompilation.
  • DecompilationUrls (ordered alphabetically by URL).
  • The static recompilers Yahoo group have the goal of statically translating binary code (mostly old arcade games) from one architecture to another. There is a tool called Orion that emits a sort of unrolled interpreter of input machine instructions into C code. It's basically static binary translation, so the output is hard to read, and the original machine's instructions are very visible. Works on code from Z80, 6502, and a few other architectures.
  • Unconfirmed: John Banning and Hans Pufal's NLZ program, said to be part of Hunter Systems's XDOS suite. It was reportedly able to decompile PC applications and help port them to Unix workstations. Original contact: Hunter Systems, since acquired by Miltiport of Mountain View, CA, USA.

Search
  • Search freshmeat for "decompiler" or "decompile".
  • Search SourceForge for "decompiler" or "decompile".
  • Search Google Scholar (in Beta at the time of writing) for "decompiler" or "decompilation".
  • Search CiteSeer.IST for "decompiler" or "decompilation".



Java Decompilers
Program-Transformation.Org: The Program Transformation Wiki

Decompiler front ends
Some decompilers are just GUI front-ends for a console (text) based decompiler. Some are listed in this table.
Front end (GUI) decompiler Back end decompiler (engine)
  • Cavaj Jad
  • Decafe Pro Jad
  • DJ Java Decompiler Jad
  • Frontend Plus Jad
  • JadClipse (Eclipse plugin) Jad
  • BTJ (Back To Java) JODE
  • jEdit's JavaInsight plugin JODE


如何得知 exe dll 執行檔 呼叫了 哪些 dll 動態連結檔

  • Deployment in Visual C++
  • Deployment Concepts
  • Understanding the Dependencies of a Visual C++ Application
  • Determining Which DLLs to Redistribute
  • Choosing a Deployment Method
  • Redistributing Visual C++ Files
  • Deployment Examples
  • Redistributing Web Client Applications
  • ClickOnce Deployment for Visual C++ Applications
  • Running a C++ /clr Application on a Previous Runtime Version

  • https://msdn.microsoft.com/en-us/library/ms235265.aspx
  • Understanding the Dependencies of a Visual C++ Application

  • To determine which Visual C++ libraries an application depends on, you can view the project properties. (In Solution Explorer, right-click on the project and choose Properties to open the Property Pages dialog box.) You can also use the Dependency Walker (depends.exe), which gives a more comprehensive picture of the dependencies.
  • In the Property Pages dialog box, you can examine various pages under Configuration Properties to understand the dependencies. For example, if your project uses the MFC libraries and you choose Use of MFC, Use MFC in a Shared DLL on the Configuration Properties, General page, your application at run time depends on MFC DLLs such as mfc.dll. If your application doesn't use MFC, it might depend on the CRT library if you choose a Runtime Library value of Multi-threaded Debug DLL (/MDd) or Multi-threaded DLL (/MD) on the Configuration Properties, C/C++, Code Generation page.
  • A more comprehensive way to determine which DLLs your application depends on is to use Dependency Walker (depends.exe) to open the application. You can download the tool from the Dependency Walker web site.
  • By using depends.exe, you can examine a list of DLLs that are linked to the application at load time, and a list of its delay-loaded DLLs. If you want to get a complete list of DLLs that are dynamically loaded at run time, you can use the profiling feature in depends.exe to test the application until you're sure that all code paths have been exercised. When you end the profiling session, depends.exe shows which DLLs were dynamically loaded during run time.
  • When you use depends.exe, be aware that a DLL might have a dependency on another DLL or on a specific version of a DLL. You can use depends.exe on either the development computer or on a target computer. On the development computer, depends.exe reports the DLLs that are required to support an application. If you have trouble getting an application to run on a target computer, you can copy depends.exe to it and then open the application in the tool so that you can determine whether any required DLLs are missing or incorrect.
  • When you know which DLLs your application depends on, you can determine the ones that you have to redistribute with your application when you deploy it to another computer. In most cases, you don't have to redistribute system DLLs, but you may have to redistribute DLLs for Visual C++ libraries. For more information, see Determining Which DLLs to Redistribute.
  • See Also
  • Deploying Native Desktop Applications (Visual C++)

  • c++ runtime library explorer load dll list Dependency 


  •  Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.





decompiler Disassembler Debugger exe dll ocx shell32 exe dll ocx sys scr

  • Tools to work cooperatively on the same binary

http://reverseengineering.stackexchange.com/questions/1347/tools-to-work-cooperatively-on-the-same-binary

  • BMP file format 


The BMP file format, also known as bitmap image file or device independent bitmap (DIB) file format or simply a bitmap, is a raster graphics image file format used to store bitmap digital images, independently of the display device (such as a graphics adapter), especially on Microsoft Windows[2] and OS/2[3] operating systems.
https://en.wikipedia.org/wiki/BMP_file_format

binary file format structures from flat binary header bitmap












2015年12月5日 星期六

Designing Connected Products 電子書 線上閱讀

https://www.safaribooksonline.com/library/view/designing-connected-products/9781449372682/ch01.html

書名 Designing Connected Products
設計 連結到 成為 產品
by Claire Rowland...

Published by O'Reilly Media, Inc.

open source Fighter Maker engine analysis





  • AI controller for Java based fighting game "FightingICE". Please submit your AI controller and beat down your opponents to win the competition! The competition and the platform are organized and maintained by Intelligent Computer Entertainment Lab., Ritsumeikan University. - http://www.ice.ci.ritsumei.ac.jp/~ftgaic/

  • google Physical Travelling Salesman Game
  • http://www.platformersai.com - Platformer AI Competition The Platformer AI Competition ran for the first time in 2013. The competition is a successor for the Mario AI Championship and it will run in association with several major international conferences focusing on computational intelligence and games. The competition will consist of two tracks: the Level Generation and the Turing Test track.

RTTI Advanced Run Time Type Identification



Nim Standard Library - Pure libraries do not depend on any external *.dll or lib*.so binary while impure libraries do. A wrapper is an impure library that is a very low-level interface to a C library.一個純淨無依靠任何DLL或LIB檔案的超低階C函式庫


機歪 難用 apple mac ox cocoa swift Objective-C RTTI RTTI

Comparison firewall sandbox 沙箱 防火牆 比較, Real Time Operating System rtos RTOS ( 即時)實時處理 作業系統




沙箱 防火牆 比較


BufferZone Pro 3.41-14
DefenseWall Personal Firewall 3.09
GeSWall Pro 2.9.1

Sandbox 3.50


Advanced Threat Protection (ATP) - FortiSandbox




SECURITY Next-Gen Firewall Advantages
下一代 防火牆 的條件
Make sure your business takes advantage of the value of a modern, multifunctional firewall.

All-in-one functionality多合一功能,包含 防毒 與 通訊協定安全管理
Greater visibility and control好的操作方式與介面,並且方便
Simplified management自動化的設定與可被監看管理,還有更新能力
Better security即時資料洩漏與輪流巡羅,可邏輯話設定的規則
Lower total cost of ownership更低的總成本

  • IS THERE A VIRTUAL FIREWALL IN YOUR FUTURE? Eight essentials to guide your way.



  • Firewalls 101: Hardware, Software & Web Application Firewalls



Google search

wikipedia
 Real Time Operating System (or RTOS)
Time RTOS-32
Win32 API Compatible Embedded RTOS
  • Following are questions that have been asked frequently about On Time RTOS-32 and its components, along with our answers to these questions.

    http://www.testech-elect.com/ontime/faq32.htm
  • http://www.on-time.comOn Time RTOS-32
    Win32 API Compatible Embedded RTOS
    On Time's royalty-free embedded operating system for protected mode 32/64-bit x86 CPUs meets hard real-time requirements and implements a Windows subset kernel in only 16k of RAM/ROM. It can be fully integrated in Microsoft Visual Studio and supports about 400 Win32 API functions.

Sandboxie 沙箱(亦稱沙盤、沙盒)環境

http://www.sandboxie.com/index.php?DownloadSandboxie
http://www.sandboxie.com

Download Sandboxie
Sandboxie version 5.06 ... Released on 23 October 2015 ... Click to list changes from earlier versions.




Sandboxie 主要可以在電腦上建立一個沙箱(亦稱沙盤、沙盒)環境,讓我們可以於其執行瀏覽器或者是其他的程式。而這環境,可說是一個獨立環境,任何檔案上的變動,均不會影響到實際的檔案。

Sandbox(沙箱、沙盤、沙盒)是屬於資安層面的一個機制,常見於防毒軟體的使用。其原理,大致上是在電腦上製作出一個獨立區域,而在這個區域內的活動,例如:資料的寫入,均不會影響到電腦。也因此,若程式本身是可疑的或是夾帶著病毒,那麼其所有活動均會被制於沙箱之中,而不影響到我們的電腦系統。

Sandboxie 正是這類型的軟體,它會在我們電腦上建立至少一個沙箱,供我們直接使用。當然,若我們有其他需求,亦可手動建立數個沙箱。


大抵來說 Sandboxie,算是很容易就能上手,沒有複雜的操作介面,亦可整合至滑鼠右鍵,讓我們若要開啟可疑程式,就能直接透過右鍵,將程式開在沙箱裡頭。即便程式夾帶著病毒,我們也不須擔心害怕,因為這些病毒均在沙箱裡運作,和我們的系統是隔離的。而且,我們還能直接刪除沙箱內容。當然,只是沙箱裡的內容,我們的檔案仍是安全無虞的!

沙箱的用途有很多,除了可以讓我們執行可疑程式之外,我們也可在沙箱裡開啟瀏覽器瀏覽網頁,又因為可以直接刪除沙箱內容,因此這可以達到一個幾乎完美的無痕瀏覽模式。除此之外,沙箱亦可用來安裝或測試新的軟體。

不論軟體、檔案、資料夾…等,只要於沙箱中運作的話,其視窗標題之前後均會出現 [#] 符號,這是用來區別沙箱模式與否。另外,如果擔心在標題前後加上 [#] 符號不夠清楚,沙盤設定中的「外觀」,有一個視窗加上邊框的選項可以打勾,並挑選一個顏色即可。如此一來,除了會在原有的視窗標題前後加上 [#] 符號之外,其視窗外框也會幫我們加上一個自訂顏色的外框。


Google search " sandbox based isolation program "

Ninite - Install or Update Multiple Apps at Once Install and Update All Your Programs at Once 把一堆軟體包裝在一起 讓你批次安裝的 工具

https://ninite.comNinite - Install or Update Multiple Apps at Once
Install and Update All Your Programs at Once
把一堆軟體包裝在一起 讓你批次安裝的 工具
(有付費 Pro 專業板)



Windows package managers - Like Linux? http://www.dedoimedo.com/computers/windows-package-managers.html




Web Browsers
 Chrome Fast Browser by Google 47.0.2526.73
 Opera Chromium Alternative Browser 33.0.1990.115
 Firefox Extensible Browser 42.0
Messaging
 Skype Internet Telephone 7.16.0.101
 Pidgin Multi-IM Client 2.10.11
 Thunderbird Email Reader by Mozilla 38.4.0
 Trillian Trillian IM 5.6.0.5
 AIM AOL Instant Messenger 7.5.14.8
 Yahoo! Yahoo! IM Client 11.5.0.0228
Media
 iTunes Music/Media Manager 12.3.1.23
 VLC Great Video Player 2.2.1
 KMPlayer Video Player 4.0.2.6
 AIMP Music Player 3.60.1503
 foobar2000 Music Player 1.3.9
 Winamp Music Player 5.6.6.3516
 Audacity Audio Editor 2.1.1
 K-Lite Codecs Video decoders plus Media Player Classic 11.7.5
 GOM Video Player 2.2.74.5237
 Spotify Online Music Service 1.0.19.106
 CCCP Video decoders plus MPC 2015.10.19
 MediaMonkey Music Organizer 4.1.9.1764
 QuickTime Video Player 7.7.8
Runtimes
 Java 8 Java Runtime Environment (JRE) 8u66-b18
 .NET 4.6.1 Microsoft .NET 4.6.01055
 Silverlight Microsoft Silverlight 5.1.40728.0
 Air Adobe Air 19.0.0.241
 Shockwave Shockwave Player 12.2.2.172
Imaging
 Paint.NET Image Editor 4.6.5693.28 (requires .NET 4.5)
 Picasa Photo Manager by Google 3.9.141.259
 GIMP Open Source Image Editor 2.8.16
 IrfanView Image Viewer 4.41
 XnView Image Viewer 2.34
 Inkscape Vector Graphics Editor 0.91
 FastStone FastStone Image Viewer 5.5
 Greenshot Screenshot Tool 1.2.8.12
Documents
 Foxit Reader Alternative PDF Reader 7.2.8.1124
 LibreOffice Free Office Suite 5.0.3 (JRE recommended)
 SumatraPDF Lightweight PDF Reader 3.1.1
 CutePDF Print Documents as PDF Files 3.0
 PDFCreator Print Documents as PDF Files 2.2.1.1031
 OpenOffice Free Office Suite 4.1.2 (JRE recommended)
Security
 Essentials Great Antivirus by Microsoft 4.8.204
 Avast Avast Free Antivirus 11.1.2245
 AVG AVG Free Antivirus 2015 16.12.7294
 Malwarebytes Malware Remover 2.2.0.1024
 Ad-Aware Antivirus Free Trial 11.9.662.8718
 Spybot 2 Spyware Remover 2.4.40
 Avira Avira Free Antivirus 15.0.15.125
 Super SUPERAntiSpyware Free 6.0.1210
File Sharing
 qBittorrent Free Bittorrent Client 3.3.0
 eMule File Sharing Client 0.50a
Online Storage
 Dropbox Great Online Backup/File Sync 3.12.4
 Google Drive Online Backup/File Sync 1.26.0707.2863
 Mozy MozyHome Online Backup 2.28.2.432
 OneDrive Online File Sync by Microsoft 17.3.6201.1019
 SugarSync Online Backup/File Sync 3.7.0.14.141281
 BitTorrent Sync File Synchronization 1.4.111
Other
 Evernote Online Notes 5.9.6.9494
 Google Earth Online Atlas by Google 7.1.5.1557
 Steam App Store for Games
 KeePass 2 Password Manager 2.30
 Everything Local File Search Engine 1.3.4.686
 NV Access Screen Reader 2015.4
Utilities
 TeamViewer 11 Remote Access Tool 11.0.52465.0
 ImgBurn Disc Burner 2.5.8.0
 Auslogics Great Disk Defrag 6.1.2.0
 RealVNC Free Remote PC Access 5.2.3.8648
 TeraCopy Better File Copy 2.3
 CDBurnerXP Disc Burner 4.5.6.5931 (requires .NET)
 Revo App Uninstaller/Reverse Ninite 1.95
 Launchy Hotkey Launcher 2.5
 WinDirStat Directory Statistics 1.1.2.80
 Glary System Utilities 5.39.0.59
 InfraRecorder Disc Burner 0.53.0
 Classic Start Classic Shell Win8 Start Menu 4.2.5
Compression
 7-Zip Great Compression App 15.12
 PeaZip File Compression Tool 5.9.0
 WinRAR Another Compression Tool 5.30 (Trial)
Developer Tools
 Python Great Programming Language 2.7.10
 FileZilla FTP Client 3.14.1
 Notepad++ Programmer's Editor 6.8.7
 JDK 8 Java Development Kit 8u66-b18
 JDK x64 8 Java Development Kit 8u66-b18
 WinSCP SCP Client 5.7.6
 PuTTY SSH client 0.66
 WinMerge Compare and Merge Files 2.14.0
 Eclipse IDE for Java 4.5.1 (requires Java)




50個實用 函式庫 資源 正夯 網頁設計 28個網頁版面設計趨勢,外國人似乎喜歡極簡,跟虛擬實境,加入“多解析度設定”,手勢支援(html5)

http://tutorialzine.com/2014/12/50-useful-libraries-resources-responsive-design/
50 Useful  Libraries and Resources for Responsive Web Design
50個實用  函式庫 資源 正夯 網頁設計


28 Inspiring Best Practices of Responsive Web Design
28個網頁版面設計趨勢,外國人似乎喜歡極簡,跟虛擬實境,加入“多解析度設定”,手勢支援(html5)




2015年12月4日 星期五

N64線上玩,需要java或flash支援,並需要“信任”安全設定,這可能有中毒危險

N64線上玩,需要java或flash支援,並需要“信任”安全設定,這可能有中毒危險




《 以下是 使用 瀏覽器 線上 執行 的 N64 遊戲 模擬器 》



《 以下是技術面的內容 》

A Big List of Browser-Based Emulators and Ports of Classic Games

PC/DOS

hashlist:

Emulators written in JavaScript

A list of emulators written in the JavaScript programming language
This list started as a compilation of JavaScript emulators posted to Echo JS over the years. If you know about any missing emulators, please consider adding them to the collection : the source for this page is available on GitHub. Thank you in advance. - Lastly, if you are into JavaScript, you might enjoy Echo JS.
  • Apple IIjs - An Apple ][ Emulator in JavaScript
  • a2 - A fast, WebGL optimized Apple ][+ emulator.
  • Apple2JS - A JavaScript emulator for the Apple II 
  • 1964js - JavaScript port of the 1964 N64 emulator for Windows
  • CycloaJS - JavaScript NES Emulator (Source)
  • GBA.js - Game Boy Advance in the Browser
  • (Source)
  • GameBoy Online - JavaScript GameBoy Color emulator (Source)
  • IodineGBA - A GameBoy Advance emulator written entirely in JavaScript (Source)
  • JS-VBA-M - JavaScript port of VisualBoyAdvance-M, a Game Boy Color / Advance emulator
  • JSNES - A JavaScript NES emulator (Source)
  • Nezulator - A NES emulator in JavaScript
  • XNES - Experimental JavaScript Super Nintendo emulators (Source)
  • fam - JavaScript NES emulator (Source)
  • jsGB - A GameBoy emulator in JavaScript (Source)
  • mupen64plus - A port of the popular Nintendo 64 emulator for the Web (Source)
  • n64js - An N64 emulator in JavaScript (Source
  • JS/Linux - JavaScript PC emulator
  • JsDOSBox - JavaScript PC DOS emulator (Source)
  • PCjs - IBM PC Model 5150 emulator
  • Virtual x86 - An x86 emulator written in JavaScript (Source)
  • jemul8 - An object-oriented JavaScript x86 emulator for Node.js and the Browser (Source)
  • jsbochs - Bochs PC emulator for the Browser (Source)
  • jsSMS - JavaScript Sega Master System & Game Gear emulator (Source)
  • Miracle - Sega Master System emulator (Source)
  • JSMESS - The JavaScript MESS (Multi Emulator Super System) (Source)
  • PCE - PC emulators in JavaScript (Atari ST, IBM PC 5150, Macintosh, RC759 Piccoline)
  • RetroArch - JavaScript port of RetroArch (bundles Gambatte (Gameboy), Genesis Plus GX, Handy (Lynx), Snes9x Next, VBA Next (GameBoy Advance), Tyrquake and FinalBurn Alpha)



日前google 發布 Chrome no longer supports NPAPI (technology required for Java applets)
Chrome 不久將不支援Java Web Start(從Web 下載並執行Java 應用程式)