From owner-freebsd-chat@FreeBSD.ORG Tue Feb 17 04:31:36 2015 Return-Path: Delivered-To: freebsd-chat@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 642E4AA1; Tue, 17 Feb 2015 04:31:36 +0000 (UTC) Received: from siobud.com (siobud.com [104.236.58.159]) by mx1.freebsd.org (Postfix) with ESMTP id 395A0690; Tue, 17 Feb 2015 04:31:35 +0000 (UTC) Received: from 3006.local (c-73-8-76-141.hsd1.il.comcast.net [73.8.76.141]) by siobud.com (Postfix) with ESMTPSA id 107D1EB670; Tue, 17 Feb 2015 04:31:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=siobud.com; s=mail; t=1424147494; bh=Zu6g37NL208eFUEmyi7BzaHvWdG7Bvb7L7Iul0PEy5M=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=NNKQOV2+adUlfDYSEbP3kCzCgxinfCCTAcEahK4etKuewIEalD8U+q8vCWAqr4Pml Xo6ZckLpKzDzftB38Fb65BtBf+DSh0tBKv7Tk4uiQ0AVa3pxpO9Mhj+EBIFPFSYVpL eAsLQbKwQvfDMQbDEomo1xMFChTZgjEHxgvuipEw= Date: Mon, 16 Feb 2015 22:31:32 -0600 From: Sean DuBois To: Greg 'groggy' Lehey Subject: Re: Analyze and Edit a Binary File Message-ID: <20150217043132.GA91832@3006.local> References: <1424140628.3400388.228383569.629B0401@webmail.messagingengine.com> <20150217040026.GA91708@eureka.lemis.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150217040026.GA91708@eureka.lemis.com> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: freebsd-chat@freebsd.org, "Jason C. Wells" X-BeenThere: freebsd-chat@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Non technical items related to the community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Feb 2015 04:31:36 -0000 Oh also another idea. Try saving the same file in multiple versions of the program, and then diffing them. Another good trick would be to use LD_PRELOAD, and throw some debugging in places like strcmp etc.. And in the same vein as LD_PRELOAD try using strace I imagine Catia has all symbols stripped, so it will be sort of hard to analyze/debug. BUT you might get lucky, so worth checking :) On Tue, Feb 17, 2015 at 03:00:26PM +1100, Greg 'groggy' Lehey wrote: > On Monday, 16 February 2015 at 18:37:08 -0800, Jason C. Wells wrote: > > > > I use some engineering software called Catia. The files produced by > > Catia encode a software version number. If the version number is > > greater than the version of the installed software, Catia refuses to > > open the file. This is annoying in the extreme. Especially if you want > > to share files in the spirit of open source. If the files that I create > > are newer than the Catia version of my audience, then my audience can't > > use my files. > > > > My question to my more knowledgeable computer geek friends: How do I > > analyze and edit an arbitrary binary file? > > Those are two different questions, of course. You know the version > number; if it's relatively complicated (2.2.7.1, for example), it may > be stored as character text. In that case, there will be relatively > few false positives if you search for the text. If it's simple (2, > for example), you'd need to run the software in a debugger and find > where it does the comparison. That's much more difficult. > > As for editing: Emacs, of course :-) > > Seriously, it does work. I've used it on occasion, and at least one > package I've seen asks you to edit binary files with Emacs as part of > the build process. Just make very sure not to change the length of > the file. > > Greg > -- > Sent from my desktop computer. > Finger grog@FreeBSD.org for PGP public key. > See complete headers for address and phone numbers. > This message is digitally signed. If your Microsoft MUA reports > problems, please read http://tinyurl.com/broken-mua