Meta tags:
Headings (most frequently used words):
2017, code, bios, blog, tuesday, pci, expansion, rom, os, source, to, github, the, august, 15, july, 11, monday, january, 30, specifics, archive, about, me, followers, rather, late, surprise, intel, has, implementation, for, computer, cluster, migrating, amibios, 1b, module, utilities, experimental, migrated, ibm, openpower, firmware, brief, analysis,
Text of the page (most frequently used words):
the (74), code (32), bios (19), that (17), and (16), for (14), github (13), share (12), pci (11), rom (11), this (11), with (9), july (9), power (9), source (9), linux (8), well (8), #expansion (8), some (8), one (8), about (7), august (7), #january (7), uefi (7), firmware (7), https (7), com (7), over (6), file (6), x86 (6), you (6), gcc (6), binary (6), utilities (6), darmawan (5), salihun (5), february (5), april (5), 2017 (5), pinczakko (5), because (5), read (5), patent (5), windows (4), those (4), september (4), march (4), october (4), rather (4), blog (4), other (4), labels (4), pinterest (4), facebook (4), blogthis (4), email (4), comments (4), posted (4), post (4), ibm (4), more (4), interesting (4), not (4), openpower (4), sure (4), part (4), but (4), open (4), used (4), time (4), module (4), application (4), working (3), software (3), development (3), been (3), using (3), years (3), are (3), kernel (3), back (3), reverse (3), engineering (3), may (3), intel (3), has (3), modification (3), option (3), website (3), hardware (3), year (3), architecture (3), here (3), why (3), platform (3), now (3), might (3), management (3), wants (3), even (3), update (3), can (3), explained (3), article (3), able (3), only (3), will (3), result (3), anyway (3), small (3), there (3), amibios8 (3), mingw (3), complete (2), low (2), quite (2), driver (2), still (2), june (2), november (2), december (2), 2010 (2), late (2), surprise (2), howto (2), interfaces (2), structure (2), official (2), misc (2), posts (2), first (2), was (2), found (2), going (2), talk (2), though (2), its (2), from (2), bmc (2), least (2), provide (2), implementation (2), perhaps (2), point (2), most (2), provides (2), once (2), ipl (2), try (2), basically (2), petitboot (2), like (2), equivalent (2), non (2), runtime (2), skiboot (2), such (2), experimental (2), compile (2), version (2), nasm (2), tested (2), compilation (2), arch (2), give (2), later (2), future (2), proof (2), really (2), need (2), akin (2), cost (2), tool (2), building (2), ago (2), them (2), therefore (2), toolchain (2), main (2), use (2), ami (2), w64 (2), cross (2), produce (2), then (2), just (2), fine (2), wrote (2), reason (2), tuesday (2), cluster (2), skip (2), followers, view, profile, mainly, level, developments, adept, programming, language, experiences, limited, 2000, trying, catch, rest, industry, subjects, book, author, developer, 2009, 2011, 2012, 2013, 2014, 2015, 2016, archive, malicious, wild, protections, articles, disassembly, ninjutsu, uncovered, specification, specifics, subscribe, atom, home, older, taking, detour, despite, focused, machine, than, closed, system, terms, successor, incarnation, luckily, freely, available, let, look, how, important, thing, missing, baseboard, controller, doesn, standardize, reference, differentiation, among, partners, also, think, probably, vulnerable, should, attack, environment, usually, remote, access, manage, server, before, finished, booting, detailed, manner, hint, want, starting, linker, script, last, analog, grub, systemd, bootloader, next, looks, interface, call, communicate, wrong, tough, all, skimmed, indicates, initial, program, loader, init, bulk, old, days, excluding, smi, handlers, hostboot, brief, analysis, made, changes, make, current, work, distros, quick, skim, resulting, seems, indicate, check, disassembler, anyone, help, please, your, comment, section, below, surprising, compared, alone, shows, ness, toolset, many, aware, modified, into, pure, migrate, require, special, emit, correct, coreboot, updated, embedded, teaching, migrated, monday, long, created, mostly, related, dumped, web, forgot, they, fortunately, people, come, across, useful, asked, question, suggestions, decided, gradually, move, would, present, day, parse, extract, modifies, original, tmp, legacy, award, mmtool, obtain, posix, compliant, haven, test, against, compiler, recall, bit, write, compiled, unix, executable, don, remember, exact, when, wrtitten, project, client, projects, requires, utility, being, feel, free, play, modify, plan, add, support, real, know, gpl, licensed, kudos, gabor, stefanik, reminding, put, proper, licensing, note, amibios8_1b_utils, sites, google, site, migrating, amibios, stumbled, upon, cited, citation, had, thought, companies, must, built, build, something, usable, out, principle, actually, surprised, didn, happen, earlier, course, have, etherboot, pxe, boot, eons, however, very, limitation, case, nonetheless, head, see, details, good, computing, nic, based, provision, 2012040606, computer, welcome, dark, corner, injection, various, techniques, deemed, immensely, curious, sidebar,
Text of the page (random words):
the bios blog skip to main skip to sidebar the bios blog welcome to the dark corner of bios reverse engineering code injection and various modification techniques only deemed by those immensely curious about bios tuesday august 15 2017 rather late surprise intel has pci expansion rom os implementation for computer cluster for some reason i stumbled upon one of intel s patent application cluster computing nic based os provision wo 2012040606 a2 the patent application cited my building a kernel in pci expansion rom article as non patent citation i had that thought back then that some companies must ve built or will build something usable out of the principle explained there i m actually rather surprised why it didn t happen earlier of course we have etherboot and pxe boot eons ago however there s no such complete os even though a very small one in pci expansion rom well perhaps one of the limitation is the cost of the rom anyway the use case explained in the patent application is interesting nonetheless head over to the patent application to see more details it s a good read posted by darmawan salihun at 12 38 am 0 comments email this blogthis share to x share to facebook share to pinterest labels misc pci option rom tuesday july 11 2017 migrating amibios 1b module utilities source code to github a long time ago read 10 years i created some small mostly bios related utilities and dumped the source code on the web i even forgot that they re there in my website https sites google com site pinczakko source code fortunately over time some people come across those source code and found the source code useful for them some of them asked question or give suggestions therefore i decided to gradually move the code over to github and update the code as well so that the code would still be compile able with present day toolchain some of the utilities are small utilities to parse extract and modifies amibios8 1b main module akin to original tmp in legacy award bios you need to use ami module management tool mmtool to obtain the 1b module from ami bios binary file the utilities source code are now in github https github com pinczakko amibios8_1b_utils the code is posix compliant i haven t test it against mingw w64 cross compiler to produce windows binary i recall that i used mingw 32 bit on windows to write the code back then the code compiled just fine in arch linux gcc toolchain as of july 2017 therefore the code can produce linux unix executable just fine i don t really remember the exact time when i wrote the utilities but it was wrtitten in 2010 and used in one of my project s in that year for one of my client s those projects requires amibios8 binary modification that s the reason i wrote the utility for the time being feel free to play with it and modify it i plan to add support for cross compilation with mingw w64 later on if you tested the code on real amibios8 binary i d like to know the result anyway the code is gpl v2 licensed kudos to gabor stefanik for reminding me to put proper licensing note posted by darmawan salihun at 11 42 pm 0 comments email this blogthis share to x share to facebook share to pinterest labels bios file howto file structure monday january 30 2017 experimental pci expansion rom os code migrated to github the code for the experimental pci expansion rom os explained in the building a kernel in pci expansion rom article is now in github https github com pinczakko pci expansion rom os i made some changes to make it compile able in current version of nasm and gcc i ve only tested the compilation in arch linux x86 64 i m not sure it will work in other linux distros give it a try quick skim over the resulting binary seems to indicate the result is ok i m going to check it with a disassembler later on if anyone wants to help me with that please do so and post your result in the comment section below many of you might be aware that the code has been modified into pure gcc only code in the low cost embedded x86 teaching tool article i need to migrate that code as well but i m quite sure it will require special gcc version to be able to emit the correct binary akin to the one used by coreboot i ll post an update once i ve updated that one as well anyway it s rather surprising to me that using nasm gcc is more future proof compared to using gcc alone it shows that you can t be really sure about the future proof ness of the toolset you used for software development posted by darmawan salihun at 10 03 am 0 comments email this blogthis share to x share to facebook share to pinterest labels pci option rom pinczakko official website ibm openpower firmware source code brief analysis first post this year i m taking a detour to other hardware architecture here despite this blog is focused on x86 x86 64 as for why it s because i was working with ibm power 5 machine for more than a year and i found it interesting i m not going to talk about power 5 here though because it s a closed system in terms of firmware i m here to talk about power 8 and its successor the power 8 architecture is the first incarnation of openpower hardware architecture luckily the firmware source code for this platform is freely available in github https github com open power now let s look at how we might read the code the most interesting part is the initial program loader ipl firmware https github com open power hostboot this is basically the equivalent of uefi platform init pi code or the bulk of the bios code in the old days excluding the runtime code such as power management and smi handlers the next interesting part is skiboot https github com open power skiboot this looks like the equivalent of the non pi part of uefi because it provides the interface that the os can call at runtime to communicate with the platform firmware i might be wrong tough but all code i skimmed over indicates that last but not least is petitboot https github com open power petitboot this is basically an analog of grub or systemd bootloader in x86 x86 64 linux the important thing that s missing from the openpower github is the baseboard management controller bmc source code i m not sure why ibm doesn t standardize that part as well or at least provide a reference implementation perhaps it s because ibm wants to provide a point for differentiation among its partners also if we think about it the bmc code is probably the most vulnerable point should some one wants to attack an openpower environment because it usually provides a remote access to manage the server even before it finished booting i ll update this post once i ve read the ipl code in more detailed manner hint if you want to read it as well try starting with the linker script ld file posted by darmawan salihun at 6 25 am 0 comments email this blogthis share to x share to facebook share to pinterest labels other firmware older posts home subscribe to posts atom bios specifics misc 24 hardware specification 11 bios disassembly ninjutsu uncovered 10 pinczakko official website 10 pci option rom 9 bios interfaces 8 other firmware 7 file structure 5 bios modification in linux 4 bios uefi articles 4 bios uefi reverse engineering 4 uefi interfaces 4 bios uefi protections 3 bios file howto 2 malicious bios uefi code in the wild 2 blog archive 2017 4 august 1 rather late surprise intel has pci expansion r july 1 january 2 2016 8 december 1 september 1 august 2 july 1 may 1 april 1 january 1 2015 2 july 1 march 1 2014 7 july 1 may 2 february 1 january 3 2013 13 october 1 september 1 august 2 july 1 may 1 april 1 march 2 february 2 january 2 2012 13 october 1 august 1 july 5 june 1 april 1 february 3 january 1 2011 12 november 2 october 1 september 1 august 3 july 3 march 1 january 1 2010 7 october 3 april 1 march 2 february 1 2009 14 december 3 november 2 september 1 august 1 june 2 april 2 february 3 about me darmawan salihun i m a software developer and a book author mainly working on low level software developments quite adept to windows and linux driver development i ve been using c as my programming language for about 6 years my driver development experiences are still limited to windows 2000 xp and linux kernel 2 4 well i m back trying to catch up with the rest of the industry in those subjects over the years i ve been working on bios reverse engineering as well view my complete profile followers
|