<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Decoding a &#8217;service&#8217; call in Android</title>
	<atom:link href="http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/</link>
	<description>Macrobug Blog</description>
	<lastBuildDate>Tue, 20 Jul 2010 21:22:49 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: birjodh tiwana</title>
		<link>http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/comment-page-1/#comment-80802</link>
		<dc:creator>birjodh tiwana</dc:creator>
		<pubDate>Mon, 08 Jun 2009 08:41:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/#comment-80802</guid>
		<description>Hey Dude,

Instead of using strace use printk in /drivers/android/binder.c . Now you can access /dev/binder. Then just run a simple app which performs ipc and use dmesg to see kernel logs. There you go !  You can see the data written by brREPLY.

Your post helped me a hell lot !
thanks</description>
		<content:encoded><![CDATA[<p>Hey Dude,</p>
<p>Instead of using strace use printk in /drivers/android/binder.c . Now you can access /dev/binder. Then just run a simple app which performs ipc and use dmesg to see kernel logs. There you go !  You can see the data written by brREPLY.</p>
<p>Your post helped me a hell lot !<br />
thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: embedded</title>
		<link>http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/comment-page-1/#comment-19768</link>
		<dc:creator>embedded</dc:creator>
		<pubDate>Sun, 16 Dec 2007 13:55:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/#comment-19768</guid>
		<description>Thank you, Adrian.
Your other entries are interesting, too.</description>
		<content:encoded><![CDATA[<p>Thank you, Adrian.<br />
Your other entries are interesting, too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Taylor</title>
		<link>http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/comment-page-1/#comment-19763</link>
		<dc:creator>Adrian Taylor</dc:creator>
		<pubDate>Sun, 16 Dec 2007 10:10:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/#comment-19763</guid>
		<description>OK, I&#039;ve looked into them in arch/arm/kernel/calls.S in the Android source code.

281 is &#039;socket&#039;.
283 is &#039;connect&#039;.
297 is &#039;recvmsg&#039;.

Odd that they&#039;re not understood by strace for ARM. Looks like that can be fixed by altering the relevant syscallent.h in the strace source code, though.</description>
		<content:encoded><![CDATA[<p>OK, I&#8217;ve looked into them in arch/arm/kernel/calls.S in the Android source code.</p>
<p>281 is &#8217;socket&#8217;.<br />
283 is &#8216;connect&#8217;.<br />
297 is &#8216;recvmsg&#8217;.</p>
<p>Odd that they&#8217;re not understood by strace for ARM. Looks like that can be fixed by altering the relevant syscallent.h in the strace source code, though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Taylor</title>
		<link>http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/comment-page-1/#comment-19761</link>
		<dc:creator>Adrian Taylor</dc:creator>
		<pubDate>Sun, 16 Dec 2007 09:14:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/#comment-19761</guid>
		<description>Hi, &lt;a href=&quot;http://www.macrobug.com/blog/2007/12/10/syscall_983045/&quot; rel=&quot;nofollow&quot;&gt;syscall983045&lt;/a&gt; seems to be setting the thread local storage... but if that&#039;s the case I don&#039;t know why it would have so many arguments.

The SYS_281 etc. I don&#039;t know! But &lt;a href=&quot;http://www.busybox.net/lists/uclibc-cvs/2007-April/011346.html&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; suggests they might be socket-related. Then again, I don&#039;t know if these numbers will differ between ucLinux and the Android kernel.</description>
		<content:encoded><![CDATA[<p>Hi, <a href="http://www.macrobug.com/blog/2007/12/10/syscall_983045/" rel="nofollow">syscall983045</a> seems to be setting the thread local storage&#8230; but if that&#8217;s the case I don&#8217;t know why it would have so many arguments.</p>
<p>The SYS_281 etc. I don&#8217;t know! But <a href="http://www.busybox.net/lists/uclibc-cvs/2007-April/011346.html" rel="nofollow">this</a> suggests they might be socket-related. Then again, I don&#8217;t know if these numbers will differ between ucLinux and the Android kernel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: embedded</title>
		<link>http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/comment-page-1/#comment-19752</link>
		<dc:creator>embedded</dc:creator>
		<pubDate>Sun, 16 Dec 2007 02:35:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.macrobug.com/blog/2007/12/15/decoding-a-service-call-in-android/#comment-19752</guid>
		<description>Do you have any idea about undefined syscalls which are the last several lines
on &quot;1. General process startup&quot; ?

# syscall_983045(0xbeef9d3c, 0, 0×20, 0, 0xbeeda000, 0xbeef9df0, 0xbeef9e30, 0xf0005, 0xbeef9e30, 0, 0×8858, 0×8854, 0, 0xbeef9d30, 0xafe20a53, 0xafe0949c, 0×60000010, 0xbeef9d3c, 0, 0, 0, 0xc8c8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0
# SYS_281(0×1, 0×1, 0, 0xafe40d20, 0xafe371bc) = 3
# SYS_283(0×3, 0xbeef9c9a, 0×13, 0, 0×3) = 0
# SYS_297(0×3, 0xbeef9cd4, 0, 0×1, 0xbeef9cd4) = 4
# mmap2(NULL, 32768, PROT_READ, MAP_SHARED, 4, 0) = 0×40000000
# close(4) = 0
# close(3) = 0

3 and 4 seem to be file descriptor created by undefined syscalls.
It mmap&#039;ed with PROT_READ and MAP_SHARED. Is this some kind of
receive buffer from open binder driver??</description>
		<content:encoded><![CDATA[<p>Do you have any idea about undefined syscalls which are the last several lines<br />
on &#8220;1. General process startup&#8221; ?</p>
<p># syscall_983045(0xbeef9d3c, 0, 0×20, 0, 0xbeeda000, 0xbeef9df0, 0xbeef9e30, 0xf0005, 0xbeef9e30, 0, 0×8858, 0×8854, 0, 0xbeef9d30, 0xafe20a53, 0xafe0949c, 0×60000010, 0xbeef9d3c, 0, 0, 0, 0xc8c8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0<br />
# SYS_281(0×1, 0×1, 0, 0xafe40d20, 0xafe371bc) = 3<br />
# SYS_283(0×3, 0xbeef9c9a, 0×13, 0, 0×3) = 0<br />
# SYS_297(0×3, 0xbeef9cd4, 0, 0×1, 0xbeef9cd4) = 4<br />
# mmap2(NULL, 32768, PROT_READ, MAP_SHARED, 4, 0) = 0×40000000<br />
# close(4) = 0<br />
# close(3) = 0</p>
<p>3 and 4 seem to be file descriptor created by undefined syscalls.<br />
It mmap&#8217;ed with PROT_READ and MAP_SHARED. Is this some kind of<br />
receive buffer from open binder driver??</p>
]]></content:encoded>
	</item>
</channel>
</rss>

