{"id":5218,"date":"2015-08-03T16:22:29","date_gmt":"2015-08-03T14:22:29","guid":{"rendered":"http:\/\/www.b.shuttle.de\/hayek\/hayek\/jochen\/wp\/blog-de\/?p=5218"},"modified":"2019-09-11T11:54:50","modified_gmt":"2019-09-11T09:54:50","slug":"eine-avm-fritzbox-auf-ihr-selbst-modden-mit-yourfritz-demodfs","status":"publish","type":"post","link":"https:\/\/wp.jochen.hayek.name\/blog-de\/2015\/08\/03\/eine-avm-fritzbox-auf-ihr-selbst-modden-mit-yourfritz-demodfs\/","title":{"rendered":"eine AVM FRITZ!Box auf ihr selbst modden mit\u00a0yourfritz.de\/modfs"},"content":{"rendered":"<ul>\n<li><a href=\"http:\/\/www.ip-phone-forum.de\/showthread.php?t=273304\">http:\/\/www.ip-phone-forum.de\/showthread.php?t=273304<\/a><\/li>\n<li>der etwas ablenkende Titel des Threads: <em>debug.cfg mit AVM 06.20 oder auch &#8220;SquashFS-Image direkt auf der Box \u00e4ndern&#8221;<\/em><\/li>\n<li>mit dieser Software l\u00e4sst sich (z.B.) die geflashte Firmware auspacken, modifizieren (AKA modden) und wieder packen und in einen weiteren Boot-Bereich flashen \u2013 in diesen weiteren Boot-Bereich wird ab sofort per default gebootet (das l\u00e4sst sich im gemoddeten Neustart-Bereich in der gemoddeten Web-GUI steuern (&#8220;doppelt gen\u00e4ht h\u00e4lt besser&#8221;))<\/li>\n<li>eigentlich ist auch vorgesehen, dass die zu modifizierende Firmware woandersher stammt und von modfs dort abgeholt wird oder oder oder \u2013 aber das funktioniert nur eingeschr\u00e4nkt<\/li>\n<li>eine der vorbereiteten Modifikationen ist, dass man auch wieder unter FRITZ!OS 06.35 oder 06.36 mit telnet auf die Box kommt<\/li>\n<li>eine andere vorbereitete Modifkation ist, dass dem telnet-User ein <code>\/var\/custom\/profile<\/code> zur Verf\u00fcgung steht \u2013 wie der Inhalt dort hinein kommt? tja \u2026<\/li>\n<li>das Skript <code>edit_rcuser<\/code>\u00a0editiert und re-flasht\u00a0<code>\/var\/flash\/debug.cfg<\/code>\u00a0(mit Hilfe von vi) \u2013 weil das so bequem ist, baut man sich dort auch passend das \/var\/custom\/profile mit Hilfe von <a href=\"https:\/\/en.wikipedia.org\/wiki\/Here_document\">here-scripts<\/a> in <code>\/var\/flash\/debug.cfg<\/code><\/li>\n<\/ul>\n<p>Und wie kommt man z.B. zu einem SSH-Server? Man k\u00f6nnte einen SSH-Server in das zu abgezogene und zu flashende Verzeichnis kopieren und dann mit in das neue, alternativ zu bootende Verzeichnis flashen lassen \u2013 aber eigentlich will man das vielleicht nur mit einer eigenen freetz-Umgebung tun, denn woher sollte man sonst einen passenden aktuellen SSH-Server (dropbear?!?) bekommen?<\/p>\n<p>Und wie konnte ich \u00fcberhaupt modfs ausf\u00fchren? Mit einem <code>\/var\/install<\/code> in einem\u00a0Pseudo-Firmware-Update-Image (ein GNU-TAR-File), das den vorhandenen telnetd verf\u00fcgbar macht und aktiviert. Hier ist der Code des\u00a0<code>\/var\/install<\/code> zu finden:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.ip-phone-forum.de\/showthread.php?t=280058&amp;p=2104213&amp;viewfull=1#post2104213\">http:\/\/www.ip-phone-forum.de\/showthread.php?t=280058&amp;p=2104213&amp;viewfull=1#post2104213<\/a><\/li>\n<\/ul>\n<p>Eigentlich bekam ich das passende GNU-TAR-File hier:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.antary.de\/2015\/07\/28\/fritzbox-und-fritzos-6-30-telnet-temporaer-via-pseudo-image-aktivieren\/\">http:\/\/www.antary.de\/2015\/07\/28\/fritzbox-und-fritzos-6-30-telnet-temporaer-via-pseudo-image-aktivieren\/<\/a><\/li>\n<\/ul>\n<p>Update 2015-08-23:<\/p>\n<p>Solange man (noch) ein FRITZ!OS mit freigeschaltetem telnet-Zugang hat, kann man ohne\u00a0Pseudo-Firmware-Update vorgehen, n\u00e4mlich mit &#8220;modfs update IMAGE&#8221;, und das geht z.B. wie folgt:<\/p>\n<pre># .\/modfs-0.3.1\/modfs update FRITZ.Box_7490_Labor.113.06.36-31135.image<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/www.ip-phone-forum.de\/showthread.php?t=273304 der etwas ablenkende Titel des Threads: debug.cfg mit AVM 06.20 oder auch &#8220;SquashFS-Image direkt auf der Box \u00e4ndern&#8221; mit dieser Software l\u00e4sst sich (z.B.) die geflashte Firmware auspacken, modifizieren (AKA modden) und wieder packen und in einen weiteren Boot-Bereich flashen \u2013 in diesen weiteren Boot-Bereich wird ab sofort per default gebootet (das l\u00e4sst sich [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_share_on_mastodon":"0"},"categories":[33,352],"tags":[1286],"class_list":["post-5218","post","type-post","status-publish","format-standard","hentry","category-avm","category-nicht-zugeordnet","tag-telnetd"],"share_on_mastodon":{"url":"","error":""},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paO0l8-1ma","jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts\/5218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/comments?post=5218"}],"version-history":[{"count":1,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts\/5218\/revisions"}],"predecessor-version":[{"id":10280,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/posts\/5218\/revisions\/10280"}],"wp:attachment":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/media?parent=5218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/categories?post=5218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-de\/wp-json\/wp\/v2\/tags?post=5218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}